Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как сделать новую строку в выводе

Автор вопроса: babyratsОтветов: 4

Как заставить \n действительно работать в моем выводе? На данный момент он просто записывает все это в 1 длинный блок. Спасибо за любую помощь

Dir.chdir 'C:/Users/name/Music'
music = Dir['C:/Users/name/Music/*.{mp3, MP3}']
puts 'what would you like to call the playlist?'
@new = ''
playlist_name = gets.chomp + '.m3u'

music.each do |z|
  @new += z + '\n'
end

File.open playlist_name, 'w' do |f|
  f.write @new
end

rubynewline

Ответы

Ответ 1 · рейтинг 355 · kjagiello

Используйте "\n" вместо '\n'

Ответ 2 · рейтинг 12 · Ben

Все это можно сделать в блоке File.open:

Dir.chdir 'C:/Users/name/Music'
music = Dir['C:/Users/name/Music/*.{mp3, MP3}']
puts 'what would you like to call the playlist?'
playlist_name = gets.chomp + '.m3u'

File.open playlist_name, 'w' do |f|
  music.each do |z|
    f.puts z
  end
end

Ответ 3 · рейтинг 8 · S.Yadav

Я хотел бы поделиться своим опытом с \n
Я заметил, что "\n" работает как-

puts "\n\n" // to provide 2 new lines

но нет

p "\n\n"

также ставит '\n\n'
Не работает.

Надежда будет работать для вас!

Ответ 4 · рейтинг 5 · Tim Breitkreutz

На самом деле вам даже не нужен блок:

  Dir.chdir 'C:/Users/name/Music'
  music = Dir['C:/Users/name/Music/*.{mp3, MP3}']
  puts 'what would you like to call the playlist?'
  playlist_name = gets.chomp + '.m3u'

  File.open(playlist_name, 'w').puts(music)

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы