uc_ja
uc_ja copied to clipboard
p42,p43 Structの継承の記述が漏れている
class Number
def evaluate(environment)
self
end
end
class Boolean
def evaluate(environment)
self
end
end
などと書かれていますが
class Number < Struct.new(:value)
def to_s
value.to_s
end
def inspect
"<<#{self}>>"
end
def evaluate(environment)
self
end
end
class Boolean < Struct.new(:value)
def to_s
value.to_s
end
def inspect
"<<#{self}>>"
end
def evaluate(environment)
self
end
end
となります。 スモールステップ意味論と同じようにStruct.newやto_sメソッドなどの記述が必要です。