出力で改行を行う方法


165

\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

回答:


335

"\n"代わりに使用'\n'


11
答えをありがとう、私は馬鹿に見えますが、少なくとも私は今知っています
babyrats

77
自分にそんなに難しいことはありません。学ぶ唯一の方法は、質問することです。
グレン

14
@babyrats-uだけではありません:)
Ninad 2011

6
RubyとPHPのどちらも、単一引用符で囲まれた文字列のエスケープシーケンスを展開しないようです。
kjagiello 2013

2
「\ n」は改行、「\ n \」は文字どおりバックスラッシュとnです。
mahemoff

12

これはすべて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
これから取り除かなければならない興味深い便利なことの1つはputs、文字列と「自動」末尾改行を出力することです。コードに追加するよりも便利です。
Carl Smotricz、2010年

そのための+1と、ファイルを処理するための素晴らしい、自動クローズ、慣用的な方法。
Carl Smotricz、2010年

6

私の経験を共有したいと思います。\n
「\ n」は次のように機能することに気づきました-

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

だがしかし

p "\n\n"

'\n\n'
機能しません。

うまくいきますように!!


5

実際にはブロックも必要ありません:

  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)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.