Module: RubyToBlock::Block
- Defined in:
- app/models/concerns/ruby_to_block/block.rb,
app/models/concerns/ruby_to_block/block/do.rb,
app/models/concerns/ruby_to_block/block/end.rb,
app/models/concerns/ruby_to_block/block/base.rb,
app/models/concerns/ruby_to_block/block/else.rb,
app/models/concerns/ruby_to_block/block/null.rb,
app/models/concerns/ruby_to_block/block/text.rb,
app/models/concerns/ruby_to_block/block/value.rb,
app/models/concerns/ruby_to_block/block/character.rb,
app/models/concerns/ruby_to_block/block/looks_say.rb,
app/models/concerns/ruby_to_block/block/control_if.rb,
app/models/concerns/ruby_to_block/block/looks_hide.rb,
app/models/concerns/ruby_to_block/block/looks_show.rb,
app/models/concerns/ruby_to_block/block/sound_play.rb,
app/models/concerns/ruby_to_block/block/math_number.rb,
app/models/concerns/ruby_to_block/block/motion_move.rb,
app/models/concerns/ruby_to_block/block/motion_turn.rb,
app/models/concerns/ruby_to_block/block/sensing_hit.rb,
app/models/concerns/ruby_to_block/block/control_loop.rb,
app/models/concerns/ruby_to_block/block/looks_vanish.rb,
app/models/concerns/ruby_to_block/block/motion_set_x.rb,
app/models/concerns/ruby_to_block/block/motion_set_y.rb,
app/models/concerns/ruby_to_block/block/ruby_comment.rb,
app/models/concerns/ruby_to_block/block/character_new.rb,
app/models/concerns/ruby_to_block/block/control_beark.rb,
app/models/concerns/ruby_to_block/block/control_sleep.rb,
app/models/concerns/ruby_to_block/block/motion_self_x.rb,
app/models/concerns/ruby_to_block/block/motion_self_y.rb,
app/models/concerns/ruby_to_block/block/motion_set_x_y.rb,
app/models/concerns/ruby_to_block/block/operators_true.rb,
app/models/concerns/ruby_to_block/block/ruby_statement.rb,
app/models/concerns/ruby_to_block/block/character_event.rb,
app/models/concerns/ruby_to_block/block/events_on_click.rb,
app/models/concerns/ruby_to_block/block/events_on_start.rb,
app/models/concerns/ruby_to_block/block/hardware_led_on.rb,
app/models/concerns/ruby_to_block/block/operators_false.rb,
app/models/concerns/ruby_to_block/block/ruby_expression.rb,
app/models/concerns/ruby_to_block/block/hardware_led_off.rb,
app/models/concerns/ruby_to_block/block/motion_set_angle.rb,
app/models/concerns/ruby_to_block/block/require_smalruby.rb,
app/models/concerns/ruby_to_block/block/motion_reach_wall.rb,
app/models/concerns/ruby_to_block/block/motion_self_angle.rb,
app/models/concerns/ruby_to_block/block/operators_compare.rb,
app/models/concerns/ruby_to_block/block/motion_change_x_by.rb,
app/models/concerns/ruby_to_block/block/motion_change_y_by.rb,
app/models/concerns/ruby_to_block/block/motion_go_to_mouse.rb,
app/models/concerns/ruby_to_block/block/motion_rotate_left.rb,
app/models/concerns/ruby_to_block/block/character_operation.rb,
app/models/concerns/ruby_to_block/block/hardware_rgb_led_on.rb,
app/models/concerns/ruby_to_block/block/motion_rotate_right.rb,
app/models/concerns/ruby_to_block/block/sound_preset_sounds.rb,
app/models/concerns/ruby_to_block/block/hardware_rgb_led_off.rb,
app/models/concerns/ruby_to_block/block/character_method_call.rb,
app/models/concerns/ruby_to_block/block/hardware_sensor_value.rb,
app/models/concerns/ruby_to_block/block/hardware_init_hardware.rb,
app/models/concerns/ruby_to_block/block/motion_go_to_character.rb,
app/models/concerns/ruby_to_block/block/hardware_on_sensor_change.rb,
app/models/concerns/ruby_to_block/block/motion_turn_if_reach_wall.rb,
app/models/concerns/ruby_to_block/block/events_on_key_push_or_down.rb,
app/models/concerns/ruby_to_block/block/motion_point_towards_mouse.rb,
app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car.rb,
app/models/concerns/ruby_to_block/block/motion_point_towards_character.rb,
app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_run.rb,
app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_commands.rb
Overview
ブロック群を表現するモジュール
Defined Under Namespace
Modules: CharacterOperation Classes: Base, Character, CharacterEvent, CharacterMethodCall, CharacterNew, ControlBreak, ControlIf, ControlLoop, ControlSleep, Do, Else, End, EventsOnClick, EventsOnKeyPushOrDown, EventsOnStart, HardwareInitHardware, HardwareLedOff, HardwareLedOn, HardwareOnSensorChange, HardwareRgbLedOff, HardwareRgbLedOn, HardwareSensorValue, HardwareTwoWheelDriveCar, HardwareTwoWheelDriveCarCommands, HardwareTwoWheelDriveCarRun, LooksHide, LooksSay, LooksShow, LooksVanish, MathNumber, MotionChangeXBy, MotionChangeYBy, MotionGoToCharacter, MotionGoToMouse, MotionMove, MotionPointTowardsCharacter, MotionPointTowardsMouse, MotionReachWall, MotionRotateLeft, MotionRotateRight, MotionSelfAngle, MotionSelfX, MotionSelfY, MotionSetAngle, MotionSetX, MotionSetXY, MotionSetY, MotionTurn, MotionTurnIfReachWall, Null, OperatorsCompare, OperatorsFalse, OperatorsTrue, RequireSmalruby, RubyComment, RubyExpression, RubyStatement, SensingHit, SoundPlay, SoundPresetSounds, Text, Value
Class Method Summary collapse
-
.[](type) ⇒ Object
ブロックを表現するクラスを返す.
-
.new(type, *args) ⇒ Object
ブロックのインスタンスを生成する.
-
.process_else(context) ⇒ Object
elseを処理する.
-
.process_end(context) ⇒ Object
endを処理する.
-
.process_match_data(md, context, type = nil) ⇒ Object
MatchDataを処理する.
-
.regexp(type) ⇒ Object
ブロックの正規表現を返す.
-
.register(klass) ⇒ Object
ブロックを登録する.
-
.statement_regexp ⇒ Object
ステートメントを表現するブロックの正規表現を返す.
-
.value_regexp ⇒ Object
値を表現するブロックの正規表現を返す.
Class Method Details
.[](type) ⇒ Object
ブロックを表現するクラスを返す
58 59 60 |
# File 'app/models/concerns/ruby_to_block/block.rb', line 58 def self.[](type) @blocks[type.to_s] end |
.new(type, *args) ⇒ Object
ブロックのインスタンスを生成する
9 10 11 |
# File 'app/models/concerns/ruby_to_block/block.rb', line 9 def self.new(type, *args) @blocks[type].new(*args) end |
.process_else(context) ⇒ Object
elseを処理する
42 43 44 45 46 47 |
# File 'app/models/concerns/ruby_to_block/block.rb', line 42 def self.process_else(context) st = context.statement @blocks[st.first].process_else(context) rescue false end |
.process_end(context) ⇒ Object
endを処理する
50 51 52 53 54 55 |
# File 'app/models/concerns/ruby_to_block/block.rb', line 50 def self.process_end(context) st = context.statement @blocks[st.first].process_end(context) rescue false end |
.process_match_data(md, context, type = nil) ⇒ Object
MatchDataを処理する
34 35 36 37 38 39 |
# File 'app/models/concerns/ruby_to_block/block.rb', line 34 def self.process_match_data(md, context, type = nil) type = md.names.find { |n| md[n.to_sym] } unless type @blocks[type].process_match_data(md, context) rescue false end |
.regexp(type) ⇒ Object
ブロックの正規表現を返す
29 30 31 |
# File 'app/models/concerns/ruby_to_block/block.rb', line 29 def self.regexp(type) @blocks[type.to_s].regexp end |
.register(klass) ⇒ Object
ブロックを登録する
24 25 26 |
# File 'app/models/concerns/ruby_to_block/block.rb', line 24 def self.register(klass) @blocks[klass.type] = klass end |
.statement_regexp ⇒ Object
ステートメントを表現するブロックの正規表現を返す
14 15 16 |
# File 'app/models/concerns/ruby_to_block/block.rb', line 14 def self.statement_regexp @statement_regexp ||= make_regexp(:statement?) end |
.value_regexp ⇒ Object
値を表現するブロックの正規表現を返す
19 20 21 |
# File 'app/models/concerns/ruby_to_block/block.rb', line 19 def self.value_regexp @value_regexp ||= make_regexp(:value?) end |