Я в ситуации, когда мне нужно значение ASCII символа (для Project Euler question #22, если вы хотите уточнить), и я запускаю в проблему.Получение символьного кода ASCII в Ruby с использованием `?` (Вопросительный знак) не удается
Будучи новым для рубинов, я нашел его в Google, и обнаружил, что ?
был способ пойти: ?A
или что-то еще. Но когда я включаю его в свой код, результатом этого оператора является строка "A"
-no символьный код. Тот же выпуск с [0]
и slice(0)
, оба из которых должны теоретически возвращать код ASCII.
Единственное, что я могу придумать, это проблема с рубиновой версией. Я использую 1.9.1-p0, обновленный с 1.8.6 днем. Я немного обманывал рабочую версию Ruby, в том же каталоге, я полагал, что у меня, вероятно, уже есть файлы, которые не входят в комплект с .zip-файлом, поэтому я не загружал их.
Так почему же именно все мои коды ASCII превращаются в настоящих персонажей?
Просто для завершения, версия 1.9.3 или новее не нужна?? перед письмом мы можем получить значение Integer только с: a.ord – yat0
@polska: Я думаю, вы, возможно, неправильно поняли. ? означает, что нам нужен символ «a», поэтому запись '? a.ord' дает 97, тогда как простое написание' a.ord' ищет переменную или метод под названием 'a' и будет вызывать NameError, если нет ничего с этим именем или NoMethodError, если переменная 'a' не содержит строку. – Chuck
Да, ты прав. Я неправильно понял. Он работает с? A.ord или «a» .ord – yat0