2015-01-17 3 views
-1

Всякий раз, когда я хочу, чтобы включить файл в строку, оно принимает только первую строку, , например, файл выглядит следующим образом:Руби только получение первой строки файла в строку

line a     
line b 

, а затем я string = File.read("File.txt", "rb"), но тогда строка была только строка (string = "Line a") Я пробовал использовать разные варианты, но, похоже, это не работает, я явно сделал что-то неправильно, но я не могу его найти. пожалуйста, помогите мне

+0

Вы используете строку 'string =" Линия a '' для проверки содержимого? Если это так, будет _set_ значение «Линия a» (и возвращает true), вам нужно использовать '=='. Если это не так, вам нужно предоставить дополнительную информацию. – matt

+0

Возможный дубликат [Чтение первой строки файла в Ruby] (http://stackoverflow.com/questions/1490138/reading-the-first-line-of-a-file-in-ruby) –

+0

@ Зелёный: явно нет. –

ответ

1

Не уверен, какая версия Ruby, вы используете, но в Рубине 2.0 этого:

string = File.read("File.txt", "rb") 

выдаст ошибку. Чтобы прочитать содержимое файла в виде строки попробовать:

string = File.read("File.txt") 

или, если вы предпочитаете читать в «двоичном режиме», сделайте следующее:

string = File.binread("File.txt") 

в вашем конкретном случае, если вы хотите передайте «rb» в качестве второго аргумента, правильным способом чтения строки будет:

string = File.open('File.txt', 'rb').read 
Смежные вопросы