2016-04-12 3 views
-2

У меня есть следующий DEF:Как предотвратить функцию от изменения?

def get_smth 
    return @mySmth 
end 

, как сделать, что не должно быть никакого способа изменить содержание через него или через объект он возвращается?

Я думал о геттерах и сеттерах, но это решение?

+0

Вы сомневаетесь, что неясно. Попробуйте, если это поможет '@ mySmth.freeze'. [LINK] (http://apidock.com/rails/v1.0.0/ActiveRecord/Base/freeze). Также проверьте [ЭТО ЛИНК] (http://apidock.com/rails/ActiveRecord/Base/readonly%3F) – Abhi

+0

@ Abhi нет, это не помогает =/ –

ответ

1

нет возможности изменять содержимое через него

Не изменять содержание в нем.

нет возможности изменять содержимое через объект возвращает

Не возвращают объект вообще, или вернуть глубокую копию объекта. Неглубокой копии, которая возвращается @mySmth.dup/@mySmth.clone, может быть недостаточно для глубоко вложенных объектов.

+0

слёт работает! Благодаря! –

Смежные вопросы