首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby的ARGV可以在windows上为空,这取决于运行脚本的方式

Ruby的ARGV可以在windows上为空,这取决于运行脚本的方式
EN

Stack Overflow用户
提问于 2009-08-27 13:48:50
回答 4查看 3.5K关注 0票数 6

我的demo.rb:

代码语言:javascript
复制
puts ARGV.size

ARGV.each do |a|
  puts "Argument: #{a}"
end

结果取决于我们如何运行脚本:

代码语言:javascript
复制
> demo.rb foo bar
0

> ruby demo.rb foo bar
2
Argument: foo
Argument: bar

为什么会发生这种事?能用这个做点什么吗?

编辑:感谢所有回复!在这里,我的设置:

代码语言:javascript
复制
>assoc .rb
.rb=rbFile

>ftype rbFile
rbFile="c:\ruby-1.8.6\bin\ruby.exe" "%1" %*

所以看起来是对的。

但我发现

代码语言:javascript
复制
>demo.rb foo bar

使用这样的命令行启动进程:

代码语言:javascript
复制
"C:\ruby-1.8.7\bin\ruby.exe" "c:\demo.rb"

注意,.rb与1.8.6相关联,但1.8.7已启动。

所以我想其他的事情都搞砸了?

EN

回答 4

Stack Overflow用户

发布于 2009-08-27 13:56:05

打开命令窗口:

代码语言:javascript
复制
assoc .rb

是rbFile吗?

代码语言:javascript
复制
ftype rbFile

确保Ruby.exe后面跟着"%1“%*

%*有时会丢失。

票数 8
EN

Stack Overflow用户

发布于 2009-08-27 13:53:36

检查文件关联。特别是在高级设置中查看“打开”操作。确保操作的末尾有%*。

问题是关于powershell的,但本质上是同一个问题,所以我的答案应该更详细一些。

票数 2
EN

Stack Overflow用户

发布于 2009-08-27 13:55:59

在文件类型的关联中,这些参数似乎不会传递给ruby解释器。有关关联的外观,请参见本节,并验证您的关联。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1341233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档