initializeメソッドでインスタンス変数を初期化するときに、@var = var_value
とself.send("var=", var_value)
の間に違いがありますか?これは私が意味するのは、たとえそれがスタイルの理由を意味するとしても、何らかの理由で一方の方法を他の方法よりも優先させる理由がありますか?@var = var_valとself.send( "var ="、var_val)の間に違いはありますか?
class MySuperClass
attr_accessor :columns, :options
end
class MySubClass < MySuperClass
def initialize(columns, options)
@columns = columns
@options = options
end
end
class MyOtherSubClass < MySuperClass
def initialize(columns, options)
self.send("columns=", columns)
self.send("options=", options)
end
end
この場合、 'instance_variable_set'が奇数であっても、最初のパラメータが動的な場合、つまりプログラムの過程で評価される場合にのみ使用されるので、これは奇妙です。 –
@MladenJablanovićはい、両方とも奇妙です。厳密には操作を区別することでした。 – user2864740