На примере 2-х хешей hash={:fruit=>"Apple", :vegetable="Cucumber"} и hash={"fruit"=>"Apple", "vegetable"="Cucumber"}. Расскажите в чем разница между этими сущностями и где применяют symbol.
Ответ
Переменная - это именованная область памяти, она содержит имя и значение, значение можно менять.
Строка - это просто область памяти, которую вы можете изменять.
Символ - это просто имя. Эта конструкция очень популярна в функциональных языках и обычно называется атомом - нечто неделимое и неизменное. Например, белый цвет, :white - нет надобности для значения, нет надобности для изменения - белый цвет останется белым цветом, чтобы не происходило. Это символ в Ruby.
Используется символы там, где значение не требуется, например, для перечислений, передачи имени ключа или метода. Строки и символы можно преобразовывать друг в друга, однако это разные классы.
Комментариев нет:
Отправить комментарий