2017-02-20 74 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

原因是疏忽。在根进程中,我没有注意到需要这个“验证器”文件,并且在没有任何参数的情况下连接它时执行。也就是说,错误不会出现在我认为的地方 –