Ruby 在cmd行参数中转义#

Ruby 在cmd行参数中转义#,ruby,command-line,Ruby,Command Line,我有一个简单的Ruby程序,它接受命令行参数并将它们发布到服务器 但是,我希望能够在参数中写入#(磅,哈希符号),而无需ruby试图解析它。我对Ruby不太熟悉。我知道我可以用引号传递arg,但是我想知道如果没有引号是否可能 ARGV.each do |a| s = '' + a puts "Argument: #{s}" end 上述方法不起作用。也许是gsub的问题?就像这样 puts "Argument: ##{s}" #只有在满足{}时,才在中是特殊的。否则,它会像这

我有一个简单的Ruby程序,它接受命令行参数并将它们发布到服务器

但是,我希望能够在参数中写入#(磅,哈希符号),而无需ruby试图解析它。我对Ruby不太熟悉。我知道我可以用引号传递arg,但是我想知道如果没有引号是否可能

ARGV.each do |a|
    s = '' + a
    puts "Argument: #{s}"
end
上述方法不起作用。也许是gsub的问题?

就像这样

puts "Argument: ##{s}"
#
只有在满足
{}
时,才在
中是特殊的。否则,它会像这样显示
#

puts "Argument: ##{s}"

#
只有在满足
{}
时,才在
中是特殊的。否则,它显示
#

对我来说工作正常-事实上,您甚至不需要's'变量。什么是不起作用的呢?也许你在将shell解释为注释时有问题。在它前面加上反斜杠以达到Ruby脚本:
Ruby test.rb foo\#bar
它确实是我的shell,谢谢!我正在构建一个时间表web应用程序,希望有一个命令行脚本来为活动提供信息,所以我可以键入“ts@customerx#development on application#storm”。有点像推特信息。See对我来说也很好——事实上你甚至不需要's'变量。什么是不起作用的呢?也许你在将shell解释为注释时有问题。在它前面加上反斜杠以达到Ruby脚本:
Ruby test.rb foo\#bar
它确实是我的shell,谢谢!我正在构建一个时间表web应用程序,希望有一个命令行脚本来为活动提供信息,所以我可以键入“ts@customerx#development on application#storm”。有点像推特信息。另请参见在我的(Windows)系统上,仅显示两个散列:“参数:###himum”在我的(Windows)系统上,仅显示两个散列:“参数:##himum”