如何在输出中换行

bab*_*ats 161 ruby newline

如何\n在输出中实际工作?目前它只是在一个长块中写入它.谢谢你的帮助

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
Run Code Online (Sandbox Code Playgroud)

kja*_*llo 325

"\n"而不是'\n'

  • 不要对自己这么难:唯一的学习方法就是提问. (74认同)
  • @babyrats - 你不是唯一一个:) (14认同)
  • 谢谢你的回答,让我看起来像个傻瓜,但至少我现在知道了 (9认同)
  • 似乎Ruby和PHP都不会在单引号字符串中扩展转义序列. (6认同)
  • “单引号”按字面意思对待其内容,这使得它们更快,因此尽可能推荐。“双引号”允许插入和转义某些字符。 (3认同)
  • 我不知道为什么会有区别!我猜 '\n' 是字符串文字 (2认同)
  • "\n"是换行符,'\n \是字面上的反斜杠和n. (2认同)

Ben*_*Ben 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
Run Code Online (Sandbox Code Playgroud)

  • 我想从中得到的一件有趣而有用的事情是`puts` 输出一个字符串和一个“自动”的尾随换行符;这比在代码中附加它更方便。 (2认同)

S.Y*_*dav 8

我想与\n
我分享我的经验,我注意到“\n”的作用是-

puts "\n\n" // to provide 2 new lines
Run Code Online (Sandbox Code Playgroud)

但不是

p "\n\n"
Run Code Online (Sandbox Code Playgroud)

也把'\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)
Run Code Online (Sandbox Code Playgroud)