В конструкторе часто случается так, что вы хотите превратить аргументы в переменные экземпляра.Наивный способ сделать это:
class A
def initialize a, b, c
@a, @b, @c = a, b, c
end
end
, но более простой способ:
class A
def initialize *args
@a, @b, @c = args
end
end
Но я был обеспокоен скоростью кода, так как похоже, что последний кодсоздание дополнительного массива args
, который не был создан в предыдущем коде.С точки зрения скорости или эффективности, лучше придерживаться первого и не использовать второе, или нет никакой разницы?