RubyでCocoa
Leopardでは、RubyCocoaによりRubyからObjective-Cへのブリッジをサポートするようになった。
つまりRubyでCocoaアプリケーションが書けるようになっている。
試しに『Cocoaはやっぱり!―MacOS Xプログラミング入門』の第3章 LengthConverterをRubyで書いてみた。
上がRubyのコード、下がObjective-Cのコード、
見て分かるけど、Rubyにするとコード量がかなり減る。
結構いいかもしれない。
# Ruby require 'osx/cocoa' class LengthConverter < OSX::NSObject ib_outlets :lengthCm, :lengthInch ib_action :convert do |sender| fInch = @lengthInch.floatValue @lengthCm.setFloatValue fInch * 2.54 end end
// Objective-C // p69 LengthConvert.h #import <Cocoa/Cocoa.h> @interface LengthConverter : NSObject { IBOutlet id lengthCm; IBOutlet id lengthInch; } - (IBAction) convert : (id) sender; @end // p73 LengthConvert.m #import "LengthConverter.h" @implementation LengthConverter - (IBAction) convert : (id) sebder { float fInch = [ lengthInch floatValue ]; [ lengthCm setFloatValue fInch * 2.54 ]; } @end
- 作者: 鶴薗賢吾
- 出版社/メーカー: 広文社
- 発売日: 2001/11
- メディア: 単行本
- クリック: 4回
- この商品を含むブログ (3件) を見る