Я использовал STDIN.gets
для чтения строк из stdin в ruby, но я только что заметил, что эти строки должны быть короче 1024 символов. Ни один из следующих методов не будет читать строки длиной более 1024 символов:
STDIN.gets
STDIN.gets(2000)
STDIN.read
STDIN.readline
Фактически, интерпретатор даже не разрешит отправлять полные 1024 символа, поскольку ему нужно добавить разрыв строки, поэтому пользователь может набрать не более 1023 символов и нажать return
.
Вы можете разбить строку на несколько строк, а затем удалить разрывы строк, но эти строки, вероятно, копируются / вставляются, поэтому сделать это будет невозможно, если только у интерпретатора нет способа сделать это автоматически .
Как я могу прочитать строку, которая длиннее, чем этот предел 1024?