我对puts #{parse_options.inspect}
有疑问。 parse_options
是一个定义为:
def parse_options
options = {}
case ARGV[1]
when "-e"
options[:e] = ARGV[2]
when "-d"
options[:d] = ARGV[2]
end
options
end
其输出是options
hashmap的值。我想知道的是inspect
应该如何运作。
答案 0 :(得分:5)
"#{ expression }"
是expression substitution:在字符串中放置评估表达式的结果。 parse_options
是一个方法调用,它返回options
hash(返回在Ruby中是隐式的)。 {}
构造一个空哈希。 inspect
是hash
上的一个方法,它会转储哈希值。
所以它如下所示:在字符串中放置对inspect
返回的哈希调用parse_options
的评估(好吧,它应该是发送 {的结果{1}}哈希,详细信息......)。
答案 1 :(得分:1)
Inspect将哈希值作为字符串返回 请参阅文档:http://ruby-doc.org/core-1.9.3/Hash.html#method-i-inspect