Ruby_extLib 1 - gfd-dennou-club/mrubyc-esp32 GitHub Wiki

[準備] Ruby でクラス作成

作業ディレクトリの準備

$ mkdir -p ~/ruby-extlib/01
$ cd ~/ruby-extlib/01

クラス定義を同一ファイル内に記述

クラス定義の最も簡単な方法は,1 つのファイル内に class 名やメソッドの定義を全て書くことである. main1.rb に以下のように書く.

# クラス定義.先頭に書く.
class Greeter

  def initialize
    puts "Initialize!"
  end

  def hello     #メソッド
    puts "Hello World"
  end
end

#インスタンス作成
greeter = Greeter.new

# 繰り返し hello メソッドを実行
while true
  greeter.hello
  sleep 1
end

実行する.止めるときは Ctrl-c を押す.なお,インスタンスを作成したとき (Greeter.new),initialize メソッドが実行されることが分かるだろう.

$ ruby main1.rb

クラス定義を別ファイルに記述

クラス定義は別ファイルに分けることができる.greeter.rb に以下のように書く.

# クラス定義.
class Greeter

  def initialize
    puts "Initialize!"
  end

  def hello     #メソッド
    puts "Hello World"
  end
end

メインプログラム main2.rb では,先頭でクラスの定義ファイルを require する.

# クラスの定義ファイルの読み込み
require "./greeter"

#インスタンス作成
greeter = Greeter.new

# 繰り返し hello メソッドを実行
while true
  greeter.hello
  sleep 1
end

実行.ruby コマンドの引数としてメインプログラム (main2.rb) のみ与えれば良い. なお,止めるときは Ctrl-c を押す.

$ ruby main2.rb