2009/06/29

cocoaの使い勝手

微妙。modal windowを出すのに今日半日つぶした。。ばからしい。はずかしい。情けない。しにそう。引っかかった部分をメモっとく。
大体はHMDTさんのページのサンプル通りにやればいいんだけど、Interface Builderでの設定変更がマスト。具体的には、新しく追加したモーダルウィンドウ用パネルのattribute Inspectorで

Appearance のshadow, show tool bar button,
MemoryのDeffered, One shot

だけを選択している状態にする(ようはサンプルの設定と同じにするだけなんだけど)。

これしないと最初っからずっとパネルが開いてることになる。モーダルのはずなのに。で、成功すれば、モーダルウィンドウはメインウィンドウのボタンかなんかを押したら(アクションに設定してれば)出てくるはず。で、ちゃんとモーダル側で閉じるボタンを設定してないと、強制終了するはめになるので、要注意。これも、HDMTさんのページに書いてある。ふー勉強になったなぁ。

<追記>
というかBehaviorのVisible at Lounchのチェックを外せばいいだけなんだね。ということでインタフェースビルダーでの設定項目は優先度高レベルのチェック箇所として記憶しました。ハイ。

2009/06/10

gcd

自然数のgcd(最大公約数)をもとめる再帰関数を、goto文で置き換える。

[再帰バージョン]

int gcd(int x, int y){

 if(!y)
  return x;
 else
  return gcd(y, x%y);

}

[gotoバージョン]

int gcd(int x, int y){

 int z=1; //1が最小公倍数

 loop:

 if(!z)
 return x;
  else
   z=x%y;
   x=y;
   y=z;
   goto loop;
}

2009/06/04

ブログ再開します!

一発目。自己末尾再帰関数。processingで。

void setup()
{
noLoop();
}

void draw()
{
int val=1;
println(factorial(val,4));

}

int factorial(int temp, int n){

if(temp>0)
temp*=n;
else
println("error");

if(n-1==0){
return temp;
}
else{
return factorial(temp, n-1);
}
}

About Me

自分の写真
目指せネイチャアプログラマ!Objective-C/Cocoa、web系スキルも絶賛習得中。Nature Interfaceに興味ありあり。
Powered By Blogger

Mitolog © 2008. Template by Dicas Blogger.

TOPへ