私は今Ruby on RubyMonkを学んでおり、calculate
メソッド - >def calculate(*arguments)
というコードで苦労しています。コードの各行を私に説明することは可能でしょうか?私は各コード行の構文を知っていると思うが、論理は私には意味がないのだろうか?例えばRubyMonkのcalculateメソッドは何をしますか?
def add(*numbers)
numbers.inject(0) { |sum, number| sum + number }
end
def subtract(*numbers)
sum = numbers.shift
numbers.inject(sum) { |sum, number| sum - number }
end
def calculate(*arguments)
# if the last argument is a Hash, extract it
# otherwise create an empty Hash
options = arguments[-1].is_a?(Hash) ? arguments.pop : {}
options[:add] = true if options.empty?
return add(*arguments) if options[:add]
return subtract(*arguments) if options[:subtract]
end
、options
が私を殺している...私は
はどうもありがとうございました...二行からのリターンを引き起こすかわかりません!
http://meta.stackoverflow.com/questions/253894/how-to-handle-explain-how-this-code-dump-works-質問/ 253896#comment17104_253896 –