メソッド定義の引数に@をつけると?

メソッド引数をそのままインスタンス変数にセットすることがよくある*1。こういうふうに。

class A
  def initialize(func, with, too, many, params)
    @func, @with, @too, @many, @params = func, with, too, many, params
  end
end

んで、ふと思ったのだがメソッド定義の引数のところに@をつけたらそのままインスタンス変数にセットしてくれるとちょっと便利になるかも。こういうふうに。

class A
  def initialize(@func, @with, @too, @many, @params)
    # @func, @with, @too, @many, @params = func, with, too, many, params を省略できるといいかも?
  end
end

どうかなあ。やっぱり微妙すぎるかなあ。


追記:いまのRubyだと後者はさっくりエラーになる。念のため:)

追記:ヽ( ・∀・)ノくまくまー(2007-12-16)

ブロック引数でも書けなくなるとか。ギャース!

*1:私だけ?