Может ли кто-нибудь расширить, исправить или проверить, что я чувствую, когда вы передаете аргументы методу в Ruby. Являются ли какие-либо из этих пунктов неправильными? Я не хватает каких-либо частей?
- Все в Ruby - это объект.
- Переменные - это ссылки на объекты
- (При передаче переменной в метод): Параметр метода, который ловит переменную, является локальной переменной для этого метода. Параметр (локальная переменная) теперь также имеет ссылку на тот же объект.
- Я мог бы изменить объект (на месте), и это изменение будет выполняться, когда объект метода будет удален. Любые переменные, ссылающиеся на этот объект вне области метода, будут отражать, что объект был изменен.
- Новое назначение этого параметра (локальная переменная) не изменяет исходный объект, поэтому любые ссылки на него, когда метод покидает область действия, остаются неизменными.
- Если я передаю переменную в метод, который ссылается на Integer, нет никакого способа, чтобы после выхода этого метода я мог бы иметь эту переменную, ссылающуюся на новый Integer.
Есть ли способ иметь метод, который принимает в качестве одного из своих параметров Integer, делает некоторые вещи и, возможно, как побочный эффект изменяет значение, если это изменение отражается после выхода метода. Может быть, я просто не думаю о "рубиновом пути".