출력에서 개행을 수행하는 방법


165

\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

답변:


335

"\n"대신에 사용'\n'


11
답변 주셔서 감사합니다, 바보처럼 보이게하지만 내가 아는
최소한

77
스스로에게 너무 힘 쓰지 마십시오. 배울 수있는 유일한 방법은 질문을하는 것입니다.
glenn jackman

14
@babyrats-u는 단 하나가 아닙니다 :)
Ninad

6
Ruby와 PHP 모두 작은 따옴표로 묶인 문자열에서 이스케이프 시퀀스를 확장하지 않는 것 같습니다.
kjagiello

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
흥미롭고 유용한 점 puts은 문자열과 "자동"후행 줄 바꿈 을 출력 한다는 것입니다 . 코드에 추가하는 것보다 쉽습니다.
Carl Smotricz

+1, 파일을 처리하는 자동 닫기, 관용적 인 방법으로 +1하십시오.
Carl Smotricz

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.