Class: Smalruby::World
- Inherits:
-
Object
- Object
- Smalruby::World
- Includes:
- Singleton
- Defined in:
- lib/smalruby/world.rb
Overview
環境を表現するクラス
Instance Attribute Summary collapse
-
#board ⇒ Object
Returns the value of attribute board.
-
#button_change_queue ⇒ Object
readonly
Returns the value of attribute button_change_queue.
-
#objects ⇒ Object
Returns the value of attribute objects.
-
#sensor_change_queue ⇒ Object
readonly
Returns the value of attribute sensor_change_queue.
Instance Method Summary collapse
- #button_changed(pin, up_or_down) ⇒ Object
-
#initialize ⇒ World
constructor
A new instance of World.
- #sensor_changed(pin, value) ⇒ Object
Constructor Details
#initialize ⇒ World
14 15 16 17 18 19 20 21 |
# File 'lib/smalruby/world.rb', line 14 def initialize @objects = [] @board = nil @sensor_change_queue = [] @sensor_change_queue.extend(Mutex_m) = [] .extend(Mutex_m) end |
Instance Attribute Details
#board ⇒ Object
Returns the value of attribute board.
10 11 12 |
# File 'lib/smalruby/world.rb', line 10 def board @board end |
#button_change_queue ⇒ Object (readonly)
Returns the value of attribute button_change_queue.
12 13 14 |
# File 'lib/smalruby/world.rb', line 12 def end |
#objects ⇒ Object
Returns the value of attribute objects.
9 10 11 |
# File 'lib/smalruby/world.rb', line 9 def objects @objects end |
#sensor_change_queue ⇒ Object (readonly)
Returns the value of attribute sensor_change_queue.
11 12 13 |
# File 'lib/smalruby/world.rb', line 11 def sensor_change_queue @sensor_change_queue end |
Instance Method Details
#button_changed(pin, up_or_down) ⇒ Object
29 30 31 32 33 |
# File 'lib/smalruby/world.rb', line 29 def (pin, up_or_down) .synchronize do .push([pin, up_or_down]) end end |
#sensor_changed(pin, value) ⇒ Object
23 24 25 26 27 |
# File 'lib/smalruby/world.rb', line 23 def sensor_changed(pin, value) @sensor_change_queue.synchronize do @sensor_change_queue.push([pin, value]) end end |