第一回開発合宿、RubyCocoaメモ(1)
最初は
RubyCocoa 入門
ここのチュートリアルを終わらせることを目標に。
僕のXCodeは古いらしく、細かな部分で躓く。
最新 RubyCocoaにupdate…。
XCodeがバージョンupできない (通信速度的に)。
Cocoa基本
RubyCocoa 入門
アウトレットは Cocoa 用語で、他のオブジェクトへの参照を意味しています。 つまり、ここではコントローラからウィンドウへの参照を追加したということになります。
これで、新規オブジェクトのインスペクタ(Apple+Shift+I)のClassから"AppControllerが"選べるようになる
.nib?
→InterfaceBuilder に関連付けされてる
階層の操作
Main MenuのClassesタブで右クリックしていけばある程度の操作が可能。
404 Not Found
"CalcCntl"クラスをインスタンス化(ClassesメニューのInstantiateを実行)
これをやると、右クリックで作っただけのClassが青い箱として登場する
Cntl押しながらドラッグでつなぐ。下のconnectボタンを押さない繋がらない。
繋がったらDestinationの欄に表示される。
def calc (sender = nil) ans = eval input_value = @field.stringValue.to_s @field.setStringValue (input_value + " = " + ans.to_s) end3行目は右から読んでゆくとわかりやすいかな。フィールド内に入ったものを stringValue として取り出し、そいつを式として評価(eval)した結果を "ans" に代入します。Rubyはこうやって代入文を続けて書けるんです。
404 Not Found
ちょっとした疑問
ans = eval input_value = @field.stringValue.to_s
を書き換えられないか?
(追記)あどばいす
横に座ってたid:faultierからちょこっと教えてもらった。
上の書き方は不自然 (書いた人もRubyに不慣れ、と言ってる) らしい。
eval使うなら
"#{@field.stringValue} = #{eval(@field.stringValue)}"
これで一発。
evalで評価してるだけだから他のコードには応用できない、とも。
色々周囲から教えてもらってます。会話に使われる単語自体が難しい><。
バカでも教えてくれるってのはいいですね。
教えて君になったらあかんけどね。