genv, lenv) case tree[0] when "lit" tree[1] when "+" evaluate(tree[1], genv, lenv) + evaluate(tree[2], genv, lenv) when "-" evaluate(tree[1], genv, lenv) - evaluate(tree[2], genv, lenv) when "*" evaluate(tree[1], genv, lenv) * evaluate(tree[2], genv, lenv) when "/" evaluate(tree[1], genv, lenv) / evaluate(tree[2], genv, lenv) when "**" evaluate(tree[1], genv, lenv)**evaluate(tree[2], genv, lenv) when "%" evaluate(tree[1], genv, lenv) % evaluate(tree[2], genv, lenv) when "<" evaluate(tree[1], genv, lenv) < evaluate(tree[2], genv, lenv) when "<=" evaluate(tree[1], genv, lenv) <= evaluate(tree[2], genv, lenv) when ">" # ... 3VCZͰͭ͘Δ3VCZθϩ͔Βֶͼͳ͓͢ϓϩάϥϛϯάݴޠೖcԕ౻ါհ
IUUQTXXXMBNCEBOPUFDPNQSPEVDUTSVCZSVCZ evaluate ϝιου
Ruby Ͱͭ͘Δ Ruby ͷ༰΄΅ͦͷ··