A toy dynamic programming language written in Ruby
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

assignment.rb 405B

1234567891011121314151617181920
  1. class AST::Assignment
  2. attr_reader :name, :value
  3. def initialize(name, value)
  4. @name = name
  5. @value = value
  6. end
  7. def ==(other)
  8. other.is_a?(AST::Assignment) && other.name == @name && other.value == @value
  9. end
  10. def execute(env)
  11. if env.get(@name.name)
  12. env.set(@name.name, @value)
  13. else
  14. raise "Invalid assignment to undeclared variable #{@name.name}"
  15. end
  16. end
  17. end