Rubyでファイルに改行を書き込むにはどうすればよいですか?
ファイルに書き込む私のコードは次のとおりです。
[フルコードリクエスト]
print("Word:") #Prompt for word to scrambe
word = gets.chomp #Inputs word
wordLength = word.length #Gets word length
randomAmount = wordLength * wordLength #Finds out how many ways to randomize
amountDone = 0 #Loop variable for process of randomizing
while amountDone != randomAmount
puts "---------------------------\n"
x = word.chars.to_a.shuffle #Changes each character to an array and randomizez them
File.open("output.txt","a+") {|f| f.write(x)}
puts "#{amountDone}:\n #{x}"
amountDone += 1
puts "---------------------------\n"
end
puts "Type any key to continue..."
endWord = gets.chomp #Close program prompt
-
File.open("output.txt","a+") {|f| f.write(x) }
しかし問題は、その行 ^ がループしていることです。つまり、実際には何度も何度も繰り返されます。したがって、出力ファイルを開くたびに、出力がまとめられます。つまり、私が書いたプログラムが基本的に行っていることは、単語を可能な限り多くの方法でスクランブルすることです。したがって、入力が「Abcdefgh」の場合、ファイルの出力は連続した 1 行として表示されます。
bdfcegAhhbgfeAcdhcedbAgfdfcAhgebefcdbghAdAfhegbcAegdfhbcbchdgefAhAbedfcgdAfcbhgefhgdAbceefdhcgAbAefbhgcdfAcebdhgAebgchfddhcfAbegcAdfbhgecAgdfhebedAghbfcedbAchgfbhAcgfdeceghAbfddAbfehcgbAhefdgcecfghbdAAhcgdfbedchAgfbebfhAgecdedAhcbgfAfdceghbehdcAbfgcegdhbfAfdAbchgegAhbfecdgeAdhfcbcbdAehfgfhgbcAedchdgbefAfhecdAbgAbedgcfhehcgfbdAAhgcebfdbAcehgfddfchgebAhcAbegdffAbehgcdchdbgAfebeAhgdfcbegcdhfAfecbdhAgdbfehgAcdbcehgfAgdehfcbAbgedAcfhdgcAfehbdfhAgecbcAgdhebfghbAefcdgebhAfdcgecdbAfhgbcAhfedhAbfgdcebAedfhcgbdfchAge
だから、私がやりたいのは、出力の間に何らかの分離をしたいということです。したがって、出力されるたびに、改行、スペース、パイプ、スラッシュなどがあります。
私はすでに試しました
File.open("output.txt","a+") {|f| f.write(x)+" " }
と
File.open("output.txt","a+") {|f| f.write(x)," " }
と
File.open("output.txt","a+") {|f| f.write(x)" " }
しかし、うまくいきません。では、どうすればこれを解決できるでしょうか?