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
endirbをコピーして二行増やしただけですけどね。ちょっとお得。
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が‥‥