2020年10月24日土曜日

(Ruby) クラス内で定義したインスタンスメソッドやクラスメソッドを CLI からコールする方法

概要

わざわざ実行スクリプトを作らなくても CLI から実行できます

環境

  • macOS 10.15.7
  • Ruby 2.7.1p83

サンプルコード

class MyClass
  def initialize(value)
    @value = value
  end

  def method
    puts @value
  end

  def self.class_method
    puts "class_method"
  end
end

インスタンスメソッドの呼び出し

  • ruby -r './app.rb' -e 'MyClass.new("hello").method'

クラスメソッドの呼び出し

  • ruby -r './app.rb' -e 'MyClass.class_method'

複数行になる場合

素直に irb を使います

irb(main):001:0> require './app.rb' => true irb(main):002:0> mc = MyClass.new('HELLO') irb(main):003:0> mc.method HELLO => nil irb(main):004:0> MyClass.class_method class_method => nil

最後に

-r で require し -e でスクリプトを実行できます
複数行になる場合は irb を使いましょう

参考サイト

0 件のコメント:

コメントを投稿