文件名称:polish_notation_calculator:波兰符号计算器
文件大小:5KB
文件格式:ZIP
更新时间:2024-07-11 21:08:27
Ruby
逆波兰符号计算器 在逆波兰表示法(例如后缀表示法)中,运算符遵循其所有操作数。 中缀表示法到后缀表示法: 1 + 3 == (1 3 +) 1 + 3 * 2 == ((1 3 +) 2 *) 5 * 1 + 3 * 2 == (5 ((1 3 +) 2 *) *) 作为解析器构建的标准,我们可以通过构建树来构建波兰符号计算器,其中每个节点都是可约的或不可约的(终端)。 然后我们严格评估函数——我们减少所有操作数直到它们成为终端节点,然后将函数应用于操作数。 感谢 Ruby 的元编程魔法,我们可以构建如下参数: def reduce left = left . reducible? ? left . reduce : left . value right = right . reducible? ? right . reduc
【文件预览】:
polish_notation_calculator-master
----Guardfile(327B)
----Gemfile(101B)
----Gemfile.lock(1KB)
----.rspec(8B)
----spec()
--------lib()
--------spec_helper.rb(118B)
----.ruby-version(6B)
----lib()
--------polish_calculator()
--------polish_calculator.rb(150B)
----README.md(853B)