0

次のように何度もブロックしない限り、次のコードがあります。

オプションはハッシュマップです。

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

ブロックしない限り、誰でもこの流れを説明できますか。私はルビーが初めてで、これの代わりに中括弧ブロックを使用しています。

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 に答える