Мой вопрос: у меня есть предположение, что $stdin.read
загружает всю строку ввода в память сразу, а .getc
загружает только один символ за раз.
Это правильно, я не уверен?
Мой вопрос: у меня есть предположение, что $stdin.read
загружает всю строку ввода в память сразу, а .getc
загружает только один символ за раз.
Это правильно, я не уверен?
Считывает длину байт из потока ввода/вывода.
длина должно быть неотрицательным целым числом или
nil
.Если длина является положительным целым числом, он пытается прочитать длину байт без какого-либо преобразования (двоичный режим). Он возвращает
nil
или строку, длина которой длина составляет от 1 до длина байт. nil означает, что он встретил EOF в начале. Строка длиной от 1 до длиной-1 байт означает, что она выполнила EOF после прочтения результата. длина байт строка означает, что она не соответствует EOF. Приведенная строка всегда кодирует ASCII-8BIT.Если длина опущен или
nil
, он не читает до EOF и преобразование кодирования применяется. Он возвращает строку, даже если EOF встречается в начале .Если длина равна нулю, возвращается
""
.Если присутствует необязательный аргумент outbuf, он должен ссылаться на строку , которая будет принимать данные. Outbuf будет содержать только полученные данные после вызова метода, даже если он не пуст в начале .
В конце файла он возвращает
nil
или""
зависит от длина.ios.read()
иios.read(nil)
""
.ios.read(positive-integer)
возвращениеnil
.
Читает строку из одного символа из КСН. Возвращает nil, если вызывается в конце файла .