2010-07-09 32 views
0

我有一個簡單的Ruby程序,它接受命令行參數並將它們發佈到服務器。在cmd行參數中轉義#

但是,我希望能夠在我的參數中寫入#(磅,哈希符號),而不用嘗試解析它。我對Ruby不太熟悉。我知道我可以通過引用引用arg,但我想知道如果沒有它們,這是可能的。

ARGV.each do |a| 
    s = '' + a 
    puts "Argument: #{s}" 
end 

上述不起作用。也許與gsub有關?

+0

適用於我 - 實際上你甚至不需要's'變量。這是什麼不起作用? – 2010-07-09 10:34:39

+2

也許你的shell解釋#有問題作爲註釋。爲了達到Ruby腳本,在它前面加上反斜槓:'ruby test.rb foo \#bar' – 2010-07-09 10:40:15

+0

這的確是我的殼,謝謝!我正在構建一個時間表Web應用程序,並希望有一個命令行腳本提供活動,所以我可以在應用程序#storm上鍵入'ts @customerx #development'。有點像Twitter消息。另請參見http://stackoverflow.com/questions/161590/how-do-you-track-your-time/161883#161883 – Dylan 2010-07-09 10:47:54

回答

4

就這樣

puts "Argument: ##{s}" 

#" "特殊,只有當它滿足{}。否則,它顯示#

+0

在我的(Windows)系統上,它只顯示兩個散列:'參數:## himum' – 2010-07-09 10:45:56