0

我有一个代码,如果,除非像这样阻塞多次:

选项是哈希图。

unless functioncall? options[:product]
    puts "Hello wrold"
end

任何人都可以解释这个流程,除非阻塞。我是 ruby​​ 新手,我使用花括号块代替它。

4

1 回答 1

2

翻译成 if 语法

if语法上,这相当于:

if functioncall?(options[:product])
else
  puts "Hello World"
end

或者

if !functioncall?(options[:product])
  puts "Hello World"
end

布尔方法的输出

如果选项哈希有一个名为 的键,该方法functioncall?(options[:product])将返回 true product

你的方法的输出

根据选项哈希的内容,上述方法将产生:

# options = { :key => value, :product => 'stuff'}
functioncall?(options[:product]) #=> true
# the output of your code would be nil

# options = { :key => value, :foo => 'bar'}
functioncall?(options[:product]) #=> false
# the output of your code would be "Hello World"
于 2012-12-06T08:25:12.123 回答