Class: Smalruby::Console

Inherits:
Character show all
Defined in:
lib/smalruby/console.rb

Overview

コンソールを表現するクラス

コンソールとは、Windowsでは“コマンドプロンプト”、Macでは“ターミナル ”、Linuxでは“ターミナル”のことです。キーボードの操作を受け付けたり、 コマンドを実行したり、その実行結果を表示するために使います。

Examples:

画面に「こんにちは、世界!」を表示する

require 'smalruby'
console1 = Console.new
console1.on(:start) do
  puts('こんにちは、世界!')
end
start

Instance Attribute Summary

Attributes inherited from Character

#checking_hit_targets, #costume_index, #costumes, #enable_pen, #event_handlers, #pen_color, #rotation_style, #threads, #volume

出力 collapse

入力 collapse

実行 collapse

Instance Method Summary collapse

Methods inherited from Character

#alive?, #angle, #angle=, #await, #button, #change_pen_color_by, #clear, #click, #distance, #down_pen, #draw, #go_to, #hit, #hit?, #join, #key_down, #key_push, #led, #motor_driver, #move, #move_back, #neo_pixel, #next_costume, #on, #pen_shade=, #play, #point_towards, #position, #position=, #reach_left_or_right_wall?, #reach_top_or_bottom_wall?, #reach_wall?, #rgb_led_anode, #rgb_led_cathode, #rotate, #say, #sensor, #servo, #smalrubot_s1, #smalrubot_v3, #start, #switch_costume, #turn, #turn_if_reach_wall, #turn_x, #turn_y, #two_wheel_drive_car, #up_pen, #visible=, #x=, #y=

Constructor Details

#initializeConsole

Returns a new instance of Console.



19
20
21
# File 'lib/smalruby/console.rb', line 19

def initialize
  super
end

Instance Method Details

#loop(&block) ⇒ Object



23
24
25
# File 'lib/smalruby/console.rb', line 23

def loop(&block)
  Kernel.loop(&block)
end

#p(object) ⇒ Object

データを読みやすい形に整形して表示します。 プログラムの途中経過を表示したりするときに使います。

Parameters:

  • object (Object)

    表示したいデータ

Returns:

  • void

See Also:

  • Kernel.#p


# File 'lib/smalruby/console.rb', line 29

メッセージを表示します。 メッセージの中に「n」を含めないと改行されないため、続けてメッセー ジを表示するときに使います。

Examples:

横に「こんにちは」と表示する

require 'smalruby'
console1 = Console.new
console1.on(:start) do
  print('')
  print('')
  print('')
  print('')
  puts('')
end
start

Parameters:

  • message (String)

    メッセージ

Returns:

  • void

See Also:

  • Kernel.#print


# File 'lib/smalruby/console.rb', line 58

#puts(message) ⇒ Object

メッセージを表示します。

Examples:

縦に「こんにちは」と表示する

require 'smalruby'
console1 = Console.new
console1.on(:start) do
  puts('')
  puts('')
  puts('')
  puts('')
  puts('')
end
start

Parameters:

  • message (String)

    メッセージ

Returns:

  • void

See Also:

  • Kernel.#puts


# File 'lib/smalruby/console.rb', line 38

#readline(prompt = '') ⇒ String

returnキーを押すまでキーボードの操作を受け付けます。

Examples:

「> 」を表示してキーボードからの操作を受け付ける

require 'smalruby'
console1 = Console.new
console1.on(:start) do
  readline('> ')
end
start

Parameters:

  • prompt (String) (defaults to: '')

    画面の左端に表示する文字列

Returns:

  • (String)

    キーボードから入力した文字列

See Also:

  • Readline.readline


99
# File 'lib/smalruby/console.rb', line 99

def_delegator :Readline, :readline

#system(program) ⇒ bool

コマンドを実行します。

Parameters:

  • program (String)

    コマンド

Returns:

  • (bool)

    コマンドの実行に成功した場合はtrue

See Also:

  • Kernel.#system


# File 'lib/smalruby/console.rb', line 105

#system_failed?bool

コマンドの実行に成功した場合はtrueを返します。

Returns:

  • (bool)

    直前のコマンドの実行結果

See Also:

  • $?


118
119
120
# File 'lib/smalruby/console.rb', line 118

def system_failed?
  return $CHILD_STATUS != 0
end