Wenn ich Instanzvariablen in der Initialisierungsmethode initialisiere, gibt es einen Unterschied zwischen @var = var_value
und self.send("var=", var_value)
? Damit meine ich, gibt es irgendeinen Grund, aus irgendeinem Grund den einen Weg dem anderen vorzuziehen, selbst wenn das einen Stil-Grund bedeutet?Gibt es einen Unterschied zwischen @var = var_val und 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
Ich würde sagen, sogar mit 'instance_variable_set' ist in diesem Fall ungerade, wie es nur verwendet wird, wenn der erste Parameter dynamisch ist, d. H. Im Laufe des Programms ausgewertet. –
@ MladenJablanović Ja, beide sind seltsam :) Es war streng zu unterscheiden, die Operation. – user2864740