dRubyでちょっとした実験をする際に、スクリプトの代わりにirbを使うのは勤勉な咳のTips。
cinq:~ mas$ irb -r drb irb(main):001:0> DRb.start_service(nil, {}) => #<DRb::DRbServer:0x58f5fc .... irb(main):002:0> DRb.uri => "druby://cinq.local:59535"
いつもいつもとりあえずDRb.start_serviceしてたので、ファイルによけてみた。ここで一番問題になるのは、「idrb」とするか「dirb」とするか。irbに敬意を表し「i」を前にすることとする。なお、モデリングはしていない。
cinq:~ mas$ cat /usr/local/lib/ruby/site_ruby/1.8/idrb.rb require 'drb/drb' DRb.start_service(nil, {})
irb -rして使います。
cinq:~ mas$ irb -r idrb irb(main):001:0> DRb.uri => "druby://cinq.local:49326" irb(main):002:0> DRb.front => {}
DRb.frontがHashなのはいろいろ便利だから。オプション付きのURIも使えるしね。
irb -r idrbが面倒な怠惰な人のために、idrbという作戦もあるです。
cinq:~ mas$ cat /usr/local/bin/idrb #!/usr/local/bin/ruby require "irb" require "drb/drb" DRb.start_service(nil, {}) if __FILE__ == $0 IRB.start(__FILE__) else # check -e option if /^-e$/ =~ $0 IRB.start(__FILE__) else IRB.setup(__FILE__) end end
irbをコピーして二行増やしただけですけどね。ちょっとお得。
cinq:~ mas$ idrb irb(main):001:0> exit cinq:~ mas$ idrb irb(main):001:0> DRb.uri => "druby://cinq.local:49389" irb(main):002:0> DRb.front => {}
そろそろ気づいちゃったかもしれませんが、irindaというDRb.frontをTupleSpaceProxyにしたirbが‥‥