Bagaimana melakukan baris baru dalam output

165

Bagaimana cara saya \nbenar - benar berfungsi dalam output saya? Saat ini hanya menulis semuanya dalam 1 blok panjang. Terima kasih atas bantuannya

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
babyrats
sumber

Jawaban:

335

Gunakan "\n"sebagai ganti'\n'

kjagiello
sumber
11
Terima kasih atas jawabannya, membuat saya terlihat seperti orang bodoh tetapi
setidaknya
77
jangan terlalu keras pada diri sendiri: satu-satunya cara untuk belajar adalah dengan mengajukan pertanyaan.
glenn jackman
14
@ babyabys - kamu bukan satu-satunya :)
Ninad
6
Tampaknya baik Ruby dan PHP tidak memperluas urutan escape dalam string yang dikutip tunggal.
kjagiello
2
"\ n" adalah baris baru, '\ n \ secara harfiah garis miring terbalik dan n.
mahemoff
12

Anda dapat melakukan ini semua di blok 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
Ben
sumber
1
Saya kira satu hal yang menarik dan berguna untuk mengambil dari ini adalah bahwa putsmenghasilkan string dan garis istirahat "otomatis"; itu lebih mudah daripada menambahkannya dalam kode.
Carl Smotricz
+1 untuk itu dan cara yang bagus, penutupan otomatis, dan idiomatis untuk memproses file.
Carl Smotricz
6

Saya ingin berbagi pengalaman dengan \n
saya untuk mengetahui bahwa "\ n" berfungsi sebagai-

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

tapi tidak

p "\n\n"

juga menempatkan '\n\n'
Tidak berfungsi.

Semoga berhasil untuk Anda !!

S.Yadav
sumber
5

Sebenarnya Anda bahkan tidak membutuhkan blok:

  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)
Tim Breitkreutz
sumber