2017-02-20 76 views
0

如何開始在紅寶石產卵,傳遞它的參數? 我想是這樣的:產卵與紅寶石參數

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

在validator.rb

puts ARGV.length 

總是輸出0

+0

什麼是應該是值3和5,因爲目前你的代碼給我一個錯誤 - >類型錯誤:整型的隱式轉換成字符串 – grail

+0

@即使它們是字符串,聖盃參數也必須是數字 –

+0

,我可以將它們放在驗證程序中.to_i –

回答

0

你在一些奇怪的操作系統或一個瘋狂的紅寶石版本上運行?

如果你看看紅寶石文檔,這些都是例子:

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

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

最後一個例子是可以改變的做你的示例代碼做什麼。

我跑了它在IRB會議:

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

原因是疏忽。在根進程中,我沒有注意到需要這個「驗證器」文件,並且在沒有任何參數的情況下連接它時執行。也就是說,錯誤不會出現在我認爲的地方 –