dup

irb(main):040:0> a = [{"tu"=>"car"}]
=> [{"tu"=>"car"}]
irb(main):041:0> b = a.dup
=> [{"tu"=>"car"}]
irb(main):045:0> b[0]["tu"]="hoge"
=> "hoge"
irb(main):046:0> p a
[{"tu"=>"hoge"}]
=> nil
irb(main):047:0> p b
[{"tu"=>"hoge"}]
=> nil
irb(main):034:0> a = [1,2,3]
=> [1, 2, 3]
irb(main):035:0> b=a.dup
=> [1, 2, 3]
irb(main):036:0> a[0]=100
=> 100
irb(main):037:0> p a
[100, 2, 3]
=> nil
irb(main):038:0> p b
[1, 2, 3]
=> nil
irb(main):048:0> a = 1
=> 1
irb(main):050:0> b = a.dup
TypeError: can't dup Fixnum
        from (irb):50:in `dup'
        from (irb):50
        from :0

Fixnumのようなimmutableなオブジェクトはdupが禁止されている。(cloneも禁止)