2016-03-10 2 views
2

Когда я ввожу свое имя, которое содержит турецкие символы в irb в виде строкового ввода, irb выводит на терминал, как если бы было несоответствие кодировки. Однако, если строка печатается на консоль с помощью puts или print, результат точно соответствует ожидаемому.Несоответствие вывода строки IRB

Что здесь происходит? Есть ли способ настроить irb так, чтобы он отображал содержимое строки, как если бы оно было напечатано с помощью метода puts.

irb commands

ответ

2

Использование p my_name такой же, как делает puts my_name.inspect, где inspect возвращается (в данном случае) строка со специальными символами спасся.

+0

Но согласно описанию OP, OP получает тот же результат с 'puts' или' print'. Если это так, то этот ответ не может это объяснить. – sawa

+0

@sawa Разница между 'puts' и' print' '' puts' добавляет новую строку. На скриншоте я вижу, что при использовании 'puts' добавлена ​​новая строка. –

+0

Как это объяснить, что строка сбрасывается с помощью 'puts' и' print'? – sawa

Смежные вопросы