-3

私はRubyが初めてで、Rubyだけで小さなプログラムを構築しています.問題は、それを起動しようとして成功していないことです.

このコードがあると想像してください

#usr/bin/ruby

Class Whatever

   def get_user_input
     @user_input = gets.chomp
     user_doing(@user_input)
   end

   def user_doing
    #something
   end

end

私が欲しいのは、rbファイルをrubyにフィードするとすぐにget_user_inputメソッドを呼び出すことです

初期化メソッドで呼び出そうとしました

   def initialize
    get_user_input
   end

私もそれを「クラスメソッド」として定義しようとしました

   def get_user_input
     @user_input = gets.chomp
     user_doing(@user_input)
   end

しかし、rbファイルを開始するときにプログラムが入力を期待していないため、どちらも機能しないようです。どうすればこれを行うことができますか?.

4

1 に答える 1

1

クラスを定義するだけです。メソッドを呼び出さなかったもの。Whatever.new.get_user_inputファイルに追加するだけです。

#usr/bin/ruby

class Whatever

  def initialize(input)
    @input = input
  end

  def self.get_user_input
    whatever = new(gets.chomp)
    whatever.user_doing
  end

  def user_doing
    puts "Input was: #{@input}"
  end

end

Whatever.get_user_input

ところで:あなたuser_doingは現時点で引数を取りません。あなたはそれを確認したいかもしれません。

于 2013-09-28T15:53:41.530 に答える