Подведем итог:
Это поведение исчезнет в версии 1.9, в которой возвращается сам символ, но в предыдущих версиях попытка сослаться на один символ строки по позиции символа вернет его значение символа (поэтому «ABC» [ 2] возвращает 67)
Существует ряд методов, которые возвращают диапазон символов из строки (см. Документацию по Ruby в String метод среза ). Все приведенные ниже возвращают "C":
"ABC"[2,1]
"ABC"[2..2]
"ABC".slice(2,1)
Я считаю, что селектор диапазона легче всего читать. Кто-нибудь может сказать, является ли он менее эффективным?