下面的代碼取自RubyTapas screencast,它向終端輸出一個Cowsays消息。該類有兩種方法,say
以及接受url作爲參數的反引用方法。如果沒有反向方法,它不起作用,但我不明白何時/如何使用反向方法來打印出錯誤消息,因爲反向方法從不會被調用。它似乎(對我來說)你只需要撥打say
方法,就像這樣Cowsays.new.say "Hello, StackOverflow"
。你能解釋在這個代碼中如何調用反引號方法嗎?反撥操作符
______________________
< Hello, StackOverflow >
----------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
代碼
require 'net/http'
require 'cgi'
class Cowsays
def `(url)
URI.parse(url)
end
def say(message)
message = CGI.escape(message)
Net::HTTP.get_print(`http://www.cowsays.com/cowsay?message=#{message}`)
end
end
Cowsays.new.say "Hello, StackOverflow"
它用在這裏:'get_print(\'HTTP://'所以'get_print'獲取'URI'對象作爲參數而不是字符串 – 2012-11-30 17:16:34
哇,這是一個可怕的想法。 –
@dominikh製作屏幕錄像的人只是向我們展示了一個技巧,明確表示這不是他的做法推薦。 – BrainLikeADullPencil