изменение переменной, используя gets.chomp ()

Я пытаюсь написать файлу, используя этот код:

  puts "-------------------- TEXT-EDITOR --------------------"
def tor(old_text)
  old_text = gets.chomp #
end


$epic=""

def torr(input)

  tore=  $epic += input + ", "

File.open("tor.txt", "w") do |write|
  write.puts tore
  end
end



loop do
  output = tor(output)
  torr(output)
end

я прочитал окончательный справочник по рубиновому программированию и это говорит, хочу ли я сделать использование новой строки в файле, я пишу использованию File.open я должен использовать "линию один", "линия два как я могу сделать это произошедшее использование gets.chomp ()? попробуйте мой код, и вы будете видеть то, что я имею в виду спасибо.

3
nl ja de
Что ваш код, как предполагается, делает? Также помогло бы, были ли у ваших методов более понятные имена
добавлено автор Frederick Cheung, источник
мой код, как предполагается, делает новый файл и когда вы печатаете что-то, что он сделал бы новой строкой в течение каждого раза, когда вы нажимаете, входят / делают новое предложение. например, когда вы действительно <кодируете> File.open ("tor.txt", "w") делают |write | write.puts "линия один", "линия два" конца конца это делает новую строку, которую я хочу знать, как я могу сделать это с gets.chomp() это, doesent делают новую строку: (неважно, что я печатаю в своем gets.chomp() вы понимаете то, что я имею в виду?
добавлено автор TorB, источник

2 ответы

получает , метод введет любую сумму текста, но это закончится, когда вы совершите нападки, 'Входят' (или однажды , STDIN получает \n ). Этот входной разделитель записей сохранен в глобальной переменной $/. Если вы изменяете входной сепаратор в своем сценарии, получает , метод на самом деле обменяет 'Войти' ключ на то, к чему вы заменили глобальную переменную.

$/ = 'EOF' # Or any other string
lines = gets.chomp
> This is
> multilined
> textEOF
lines #=> 'This is\nmultilined\ntext'

Войдите в то, что вы хотите и затем печатаете 'EOF' в конце. Как только это 'видит' EOF, это закончится , получает метод. громко жуют , метод на самом деле разденет от последовательности 'EOF' от конца.

Тогда напишите, что это к вашему текстовому файлу и \n переведет на новые строки.

File.open('newlines.txt', 'w') {|f| f.puts lines}

newlines.txt:

Это
мультивыровненный
текст

2
добавлено
спасибо это - то, в чем я нуждался:)
добавлено автор TorB, источник

Если вы не будете использовать .chomp (), то \n характер будет добавлен каждый раз, когда вы пишете новую строку, если вы спасете это к файлу, то у этого также будет новая строка. .chomp() удаляет те символы ESC из конца входа.

Если это не отвечает на ваш вопрос, я сожалею, что не понимаю его.

0
добавлено
нет я сожалею, что знаю, что я сделал дефектный титул для него: (
добавлено автор TorB, источник
pro.ruby
pro.ruby
1 181 участник(ов)

Язык программирования Ruby Additional docs: https://rubyreferences.github.io/rubyref/ Invite: https://telegram.me/joinchat/Be4rsT2NuB3CyJaF26j1kA Кто хочет компилировать: @crystal_ru (его синтаксис основан на Ruby) Участник @proDOT

Ruby, Rails, Hanami | dry-rb
Ruby, Rails, Hanami | dry-rb
1 180 участник(ов)

https://telegram.me/rubyjob - Ruby Job По вопросам - @eugene_shved

Ruby School .us
Ruby School .us
1 045 участник(ов)

Чат-болталка для учеников руби-школы и не только. Правила: https://telegra.ph/Pravila-chata-Rubi-shkoly-03-13

Random Ruby Chat
Random Ruby Chat
589 участник(ов)

Правила публикации вакансий: https://t.me/codenamecrud/60865

Rubyata
Rubyata
333 участник(ов)

Коммюнити Ruby и Ruby On Rails Флуд не приветствуются. Вакансии можно публиковать только и ТОЛЬКО по пятницам с хештегом #вакансия.

Ruby Talks
Ruby Talks
236 участник(ов)

Национальная Флеймотека

RubyRush
RubyRush
189 участник(ов)

rubyrush.ru программирование для самых новичков

Rails Chat
Rails Chat
87 участник(ов)

You are welcome to discuss Ruby On Rails development process and other stuff