module Rake::Cloneable

[edit]

要約

簡単に複製したオブジェクトを作成できるようにするための Mixin モジュールです。

目次

インスタンスメソッド

インスタンスメソッド

clone -> object[permalink][rdoc][edit]

自身を複製します。

自身がフリーズされていれば返されるオブジェクトもフリーズされています。


# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  file_list = FileList['a.c', 'b.c']
  clone = file_list.clone
  clone                 # => ["a.c", "b.c"]
  clone.exclude("a.c")
  clone == file_list    # => false
end
dup -> object[permalink][rdoc][edit]

自身と同じクラスのオブジェクトを作成後、自身のインスタンス変数を全て新たに作成したオブジェクトにコピーします。


# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
  file_list = FileList['a.c', 'b.c']
  file_list.freeze
  dup = file_list.dup
  clone = file_list.clone
  dup.exclude("a.c")   # => ["b.c"]
  clone.exclude("a.c") # => can't modify frozen Rake::FileList
end