0

たぶん、Rubyの本をじっと見つめていて、言葉が意味をなさなくなったのかもしれませんが、聞いたほうがいいと思いました。

私が探しているのは、関数ヘッダーを介して変数の大部分を渡すのではなく、またはグローバル変数を使用する代わりに、メソッド内に変数を保存し、変数を複数回呼び出すことです。関数。私が現実的に問題を抱えているのはスコープです。

def DateGrab()
 print "\nEnter the date you're looking for (Month/Day): "
 longdate = gets.strip.split(/\/| /)
 if longdate[0].length > 3
   month = longdate[0].slice(0..2)
 else
   month = longdate[0]
 end
  day = longdate[1]
  year = `date | awk '{print $6}'`.strip
  grepdate = "#{day}/#{month}/#{year}"
  date = Date.parse("#{day}-#{month}-#{year}").strftime('%m%d%Y').strip
end

「grepdate」と「date」を複数の関数に渡そうとしています。メソッドを使用する方が簡単だと思いますが、変数を呼び出そうとするたびに、「未定義のローカル変数またはメソッド」エラーが発生します。

4

1 に答える 1

0

インスタンス変数を確認します。@grepdate = "something"これらのインスタンス変数は、クラス全体およびそのクラスのすべてのメソッドからアクセスできます。

于 2012-09-25T15:46:11.400 に答える