Задать вопрос
Meridian312
@Meridian312

Что означают литералы обозначений или символы в Ruby?

Зачем и как они работают, практическое применение?
  • Вопрос задан
  • 4330 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@progenth
Если вы про это
:something
то это не изменяемые строки. Они легче и в некоторых местах удобнее.

Например
"string"
"string"
"string"

это разные объекты, хотя абсолютно одинаковые, а

:string
:string
:string

это один и тот же объект.

Соответственно в памяти 1 объект, а не 3. Если предположить, что мы используем символы как ключи где нибудь в массиве, то выигрыш очевиден.

А насчет удобства, тут конечно на вкус и цвет.
Многим
somefunc :param
нравится больше чем
somefunc "param"
А в рельсах вообще сплошь и рядом...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы