Sha256: 168935a6249f72157bb65c496d74681299d38439524eb4bec03a960f86224e56
Contents?: true
Size: 750 Bytes
Versions: 1
Compression:
Stored size: 750 Bytes
Contents
require 'gobstones/lang/literals/literal' module Gobstones module Lang class Number < Literal attr_reader :value def initialize(num) @value = num end def == other super(other) && value == other.value end def <(other) value < other.value end def return_type :Number end [:+, :-, :*, :/, :%, :**].each do |selector| define_method selector do |other| self.class.new value.send(selector, other.value) end end def opposite self.class.new(-value) end def previous self.class.new(value - 1) end def next self.class.new(value + 1) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gobstones-0.0.2 | lib/gobstones/lang/literals/number.rb |