RubyHammer: различия между версиями
Содержимое удалено Содержимое добавлено
Строка 153:
another_variable
Wrong_variable # неправильное имя. Начинается с прописной
____ # а вот как можно
# немного странное, но корректное имя переменной</source>
Строка 160:
[[w:Присваивание (программирование)|Присвоение]] делается знаком равенства (<code>=</code>), вот так:
<source lang="ruby">
array = [1,2,3,4] То, что справа от <code>=</code>, прежде чем стать значением переменной, обычно полностью вычисляется.
==== Переменные '''указывают''' на объект ====
Фокус-покус:
<source lang="ruby">
our_guest = girl
puts
puts
# На первый взгляд, странно и неожиданно</source>
Строка 179 ⟶ 180 :
Сами данные (''объект'') лежат где-то в другом месте. В виду этого естественно, что напрямую изменяя сам объект, указуемый переменной, все другие переменные, указывающие на этот объект, будут возвращать то изменённое значение (также будут изменяться).
Чтобы <code>
<source lang="ruby">
# Но изменили мы лишь клон. Дома в сохранности сидит настоящая:
puts
{{info|Можно создавать копии объектов ещё методом <code>.dup</code>. Разницу между ними Вы потом поймёте}}
Строка 190 ⟶ 191 :
Для безвредного присвоения новых значений переменным их редко приходится клонировать, ибо большинство методов делают это и так. Даже если просто присвоите переменной новое значение, Руби создаст объект с новым значением и поместит в (уже существующую) переменную ссылку на тот объект:
<source lang="ruby">#...
p
== Типы данных ==
|