下面的代码取自 RubyTapas 截屏视频,将 Cowsays 消息打印到终端。该类有两个方法,say
还有一个接受 url 作为参数的反引号方法。如果没有反引号方法,它就无法工作,但我不明白反引号方法何时/如何用于打印出 cowsays 消息,因为从不调用反引号方法。看来(对我而言)您只需要调用该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"