So erstellen Sie eine neue Zeile in der Ausgabe

165

Wie kann ich dafür sorgen, \ndass meine Ausgabe tatsächlich funktioniert? Im Moment schreibt es einfach alles in einem langen Block. Vielen Dank für jede Hilfe

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
quelle

Antworten:

334

Verwenden Sie "\n"anstelle von'\n'

kjagiello
quelle
11
Vielen Dank für die Antwort, lässt mich wie ein Idiot aussehen, aber zumindest weiß ich jetzt
Babyrats
77
Sei nicht so hart zu dir selbst: Der einzige Weg zu lernen ist, Fragen zu stellen.
Glenn Jackman
14
@abyrats - u nicht der einzige :)
Ninad
6
Es scheint, dass sowohl Ruby als auch PHP Escape-Sequenzen in einfachen Anführungszeichen nicht erweitern.
Kjagiello
2
"\ n" ist Zeilenumbruch, '\ n \ ist buchstäblich Backslash und n.
Mahemoff
12

Sie können dies alles im Block File.open tun:

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
quelle
1
Ich denke, eine interessante und nützliche Sache ist, dass putsein String und ein "automatischer" Zeilenumbruch ausgegeben werden. Das ist einfacher als das Anhängen in Code.
Carl Smotricz
+1 dafür und die nette, automatisch schließende, idiomatische Art, eine Datei zu verarbeiten.
Carl Smotricz
6

Ich möchte meine Erfahrungen mit \n
Ihnen teilen. Ich habe festgestellt, dass "\ n" funktioniert.

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

aber nicht

p "\n\n"

setzt auch '\n\n'
funktioniert nicht.

Hoffnung wird für Sie arbeiten !!

S. Yadav
quelle
5

Eigentlich brauchst du nicht mal den Block:

  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
quelle