我想明白,創建一個RPN計算器代碼:在Ruby代碼中使用的理解方法和語法
class RPNCalculator
def evaluate(expression)
operators = ["+", "-", "*"]
stack = []
array = expression.split(" ")
array.each do |i|
if operators.include?(i)
second_operand = stack.pop
first_operand = stack.pop
stack.push(first_operand.send(i, second_operand))
else
stack.push(i.to_i)
end
end
stack.pop
end
end
我不明白,尤其是這幾行:
if operators.include?(i)
second_operand = stack.pop
first_operand = stack.pop
stack.push(first_operand.send(i, second_operand))
else
stack.push(i.to_i)
如果有人可以給我一個完整的代碼運行,這將是非常有益的。
玩電腦:對於字符串中的字符,寫下所有的步驟。或者如果您沒有鉛筆,請輸入大量印刷聲明。 –
@Dave,另一種選擇是購買鉛筆。 –