2017-02-20 7 views
0

ruby​​でスポーンを開始するには、引数を渡しますか? は、私はこのようにしてみました:validator.rbでruby​​でargsでスポーンする

validators_pid << spawn(RbConfig.ruby, "#{Dir.pwd}/../lib/validator.rb", 3, 5) 

puts ARGV.length 

を常に0

+0

- >例外TypeError:

iは、IRBのセッションでそれを実行した文字列 – grail

+0

への整数の無い暗黙の変換@ grailの引数は数字でも –

+0

でなければなりません。バリデータでは.to_iになります。 –

答えて

0

あなたはいくつかの奇妙なオペレーティングシステムまたはクレイジールビーのバージョンで実行されている出力?

あなたはRubyのドキュメントに見れば、これらは一例であり:

pid = spawn("tar xf ruby-2.0.0-p195.tar.bz2") 
Process.wait pid 

pid = spawn(RbConfig.ruby, "-eputs'Hello, world!'") 
Process.wait pid 

最後の例はあなたの例のコードが何をやって変更することができます。現在、あなたのコードは私にエラーを与えるので、することになっ値3と5は何

irb(main):011:0> pid = spawn(RbConfig.ruby, "-eputs ARGV.length", '1', '2', '3') 
=> 84399 
irb(main):012:0> 3 
+0

理由は過失です。ルートプロセスでは、この "バリデータ"ファイルが必要であることに気がつかず、接続時に引数なしで実行されました。つまり、私が思った場所にエラーは現れません –

関連する問題