demo.rb foo ba-6ren">
gpt4 book ai didi

Ruby 的 ARGV 在 Windows 上可以为空,具体取决于运行脚本的方式

转载 作者:可可西里 更新时间:2023-11-01 09:38:12 24 4
gpt4 key购买 nike

我的演示.rb:

puts ARGV.size

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

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

> demo.rb foo bar
0

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

为什么会这样?可以用这个做点什么吗?

编辑: 感谢所有回复!这是我的设置:

>assoc .rb
.rb=rbFile

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

所以看起来是对的。

但是我发现了

>demo.rb foo bar

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

"C:\ruby-1.8.7\bin\ruby.exe" "c:\demo.rb"

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

所以我猜还有其他事情搞砸了?

最佳答案

打开命令窗口:

assoc .rb

是 rbFile 吗?

ftype rbFile

确保 Ruby.exe 后跟“%1”%*

%* 有时会丢失。

关于Ruby 的 ARGV 在 Windows 上可以为空,具体取决于运行脚本的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16426412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com