水晶 - 复制一堂课

时间:2017-10-09 06:31:30

标签: class copy crystal-lang

是否可以在不经过initialize方法的情况下复制/复制类,而无需创建空类并逐个复制值?

前:

class Hello
  def initialize
    puts "hello !"
  end
end

var1 = Hello.new  #=> hello!
var2 = copy(var1) #=>

copy是一种可以进行类复制/复制的方法

2 个答案:

答案 0 :(得分:4)

似乎你不想复制一个类而是一个对象。这个方法是dup

var2 = var1.dup

答案 1 :(得分:3)

您可能希望使用dup方法:

class Hello
  def initialize
    puts "hello !"
  end
end

var1 = Hello.new # hello !
var2 = var1.dup

pp var1 # => #<Hello:0x104134ff0>
pp var2 # => #<Hello:0x104134fe0>