175 votes

Comment faire une nouvelle ligne dans la sortie

Comment puis-je faire \n fonctionne réellement dans ma production ? Pour l'instant, tout est écrit dans un seul long bloc. Merci pour toute aide

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

356voto

kjagiello Points 3268

Utilisez "\n" au lieu de '\n'

11 votes

Merci pour la réponse, j'ai l'air d'un idiot mais au moins je sais maintenant.

86 votes

Ne soyez pas si dur envers vous-même : la seule façon d'apprendre est de poser des questions.

14 votes

@babyrats - tu n'es pas le seul :)

12voto

Ben Points 4634

Vous pouvez faire tout cela dans le bloc 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

2 votes

Je pense qu'une chose intéressante et utile à retenir de tout ça est que puts produit une chaîne et un retour à la ligne "automatique" ; c'est plus pratique que de l'ajouter dans le code.

0 votes

+1 pour cela et pour la manière agréable, auto-fermante et idiomatique de traiter un fichier.

10voto

S.Yadav Points 1054

Je voudrais partager mon expérience avec \n
Je me suis rendu compte que " \n " fonctionne comme

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

mais pas

p "\n\n"

également met '\n\n'
Ça ne marche pas.

J'espère que ça marchera pour vous !

5voto

Tim Breitkreutz Points 21

En fait, vous n'avez même pas besoin du bloc :

  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)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X