2017-10-09 5 views
3

初期化メソッドを実行せずに、空のクラスを作成して値をコピーすることなく、クラスをコピー/複製できますか?クリスタル - クラスのコピー

例:

class Hello 
    def initialize 
    puts "hello !" 
    end 
end 

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

copyクラスの重複/コピーを行います方法であること

答えて

4

あなたのクラスが、オブジェクトをコピーしたくないようです。この方法はdupです。

あなたが dupメソッドを使用することをお勧めします
var2 = var1.dup 
3

class Hello 
    def initialize 
    puts "hello !" 
    end 
end 

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

pp var1 # => #<Hello:0x104134ff0> 
pp var2 # => #<Hello:0x104134fe0> 
関連する問題