Я изучаю поведение метода в Ruby, чтобы узнать, когда создается новый объект. Я понимаю (1), идентичен (2), а (3) идентичен (4). Но я не понимаю, почему (5) не идентично (6).Как сделать ломтик и ломтик! влияют на object_id в Ruby?
(1) upto (6) описаны ниже с моим исходным кодом.
Так что я хотел бы понять, когда object_id
будет изменен (недавно назначен) в Ruby. Кто-нибудь объясняет это кратко?
спасибо, что заранее.
исходный код
a = "foo"
b = a
b.slice!(0)
p a.object_id # (1)
p b.object_id # (2)
b = b
p a.object_id # (3)
p b.object_id # (4)
b = b.slice(0)
p a.object_id # (5)
p b.object_id # (6)
результат
70302398954840
70302398954840
70302398954840
70302398954840
70302398954840
70302398954680