Я пытаюсь ввести длинную строку (> 256 символов, но в целом < 512) в Руби:Рубин получает метод укорачивает мой вход в 256 символов
puts "Enter long string"
ilogo = gets.chomp
puts "#{ilogo}"
По какой-то глупой причине, он всегда обрезает чтобы сохранить только 256 символов (до chomp).
Я проверил, что Ruby принимает более длинные строки и что консоль командной строки Windows 7 также принимает строки> 256 символов. Я не могу найти никакого упоминания о методе gets, имеющем такой тип ограничения, но я, несомненно, что-то пропустил. Я не знаю. Может быть, это просто ограничение?
Edit: Просто чтобы быть более конкретным: один из тестовых строк я использую это:
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111123456777777777777777777777
Где 6 соответствует 256-й символ. Как указано, строка обрезает все символы за пределами 256-го.
где вы пытаетесь напечатать это? – Woot4Moo
Просто протестировал это, отлично работает здесь на ruby 1.9.3p392 на Mac OS X 10.8. Кроме того, вы имели в виду 'ilogo' вместо' 'ilogo'' для переменной? –
Это не общее ограничение 'gets'. Я только что подтвердил IRB на MacOS. –