Numbers | 1 |
Strings | «text» |
Hash | {«a«=>1, «b«=>«hello«} |
Array | [«hi», 1, 10] |
Boolean | true, false |
Symbol | :var |
:Symbol
Выглядит как переменная, имеет « : «. Больше похожа на строку чем на переменную. Отличие от строки — строка работает с данными, символы с идентификаторами
Преимущества символов
1. Символы неизменяемые. Это позволяет быстрее получать данные.
hash = {a: 1, b: 2, c: 3}
Code language: Ruby (ruby)
Если использовать строку в качестве ключа, код будет медление в 1.70 раз
2. Неизменяемые. Каждый символ уникальный и не может быть изменен
"str".object_id #220
"str".object_id #229
:symbol.object_id #112
:symbol.object_id #112
Code language: Ruby (ruby)
Символы нужно использовать как имена или ярлыки для вещей.