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

Jawaban:


335

Gunakan "\n"sebagai ganti'\n'


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

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 !!


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)
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.