У меня есть символ, который я прохожу в вызове функции, как это в моем контроллере:символ не равен Symbol
set(:value, 1)
Функция находится в вспомогательной функции, которая более или менее работает, как это
def set(where, what)
session[:a][where] = what
end
def get(where)
return session[:a][where]
end
Я использую этот же символ на мой взгляд, в другой функции, которая должна захватить и то же значение:
get(:value)
И по отладке я обнаружил, что в конечном итоге проверяю 2 значения в своей хэш-таблице. Моя работа выглядит нормально, но когда я пытаюсь вызвать вызов из своего представления, мой хэш пытается найти значение, но с одинарными кавычками вокруг него. Я попробовал кучу вещей, чтобы увидеть, что происходит, изменение значений, которые будут жестко закодированы в функции, не помогает, однако, заменяет символ строкой.
Я понял, что использование символов позволит избежать использования строк. Но это работает, поэтому, возможно, я не понимаю, как работают символы. – Tormyst
@ Тормист: нет, думаю, ты на правильном пути. Проблема здесь в том, что символы не работают _ везде. Символ - это очень неважно, если мы выйдем за пределы рубина. Скажем, мы хотим хранить наши данные на диске. –
@Tormyst: не забудьте принять полезные ответы. :) –