Object Creation irb(main):003:0> b = 6 => 6 CAVEAT EMPTOR!!! - - PDF document

object creation
SMART_READER_LITE
LIVE PREVIEW

Object Creation irb(main):003:0> b = 6 => 6 CAVEAT EMPTOR!!! - - PDF document

4/23/2013 irb(main):001:0> a = 5 => 5 irb(main):002:0> a.object_id => 11 Object Creation irb(main):003:0> b = 6 => 6 CAVEAT EMPTOR!!! irb(main):004:0> b.object_id => 13 Addendum to unit 8 irb(main):005:0> b = a


slide-1
SLIDE 1

4/23/2013 1

Object Creation CAVEAT EMPTOR!!!

Addendum to unit 8 Gideon Frieder 2012

irb(main):001:0> a = 5 => 5 irb(main):002:0> a.object_id => 11 irb(main):003:0> b = 6 => 6 irb(main):004:0> b.object_id => 13 irb(main):005:0> b = a => 5 irb(main):006:0> b.object_id => 11 irb(main):001:0> a = [1,2,3] => [1, 2, 3] irb(main):002:0> a.object_id =>15627456 irb(main):003:0> b = a => [1, 2, 3] irb(main):004:0> b.object_id =>15627456 irb(main):005:0> a => [1, 2, 3] irb(main):006:0> b => [1, 2, 3] Now see this……. irb(main):007:0> a[1] = 99 => 99 irb(main):008:0> a => [1, 99, 3] PART of a is changed irb(main):009:0> b => [1, 99, 3] What about b?

slide-2
SLIDE 2

4/23/2013 2

irb(main):003:0> a.object_id =>16770948 irb(main):001:0> a = [1,2,3] => [1, 2, 3] irb(main):006:0> b.object_id =>16770948 irb(main):004:0> b.object_id =>16263168 irb(main):002:0> b = Array.new => [] irb(main):005:0> b = a => [1, 2, 3] irb(main):007:0> a[1] = 99 => 99 irb(main):008:0> a => [1, 99, 3] irb(main):009:0> b => [1, 99, 3] irb(main):002:0> b = Array.new(a) =>[1, 2, 3] irb(main):001:0> a = [1,2,3] => [1, 2, 3] irb(main):006:0> a => [1, 99, 3] irb(main):003:0> a.object_id => 16007148 irb(main):004:0> b.object_id => 16833036 irb(main):005:0> a[1] = 99 => 99 irb(main):006:0> b => [1, 2, 3] New value assignment creates new object Assigning of an existing object name to another name does NOT create a new object, It creates a duplicate name for the same object

slide-3
SLIDE 3

4/23/2013 3