Hi,
In the "pickaxe" book I see how to use a "puts" to populate a file with
data. I try the same thing, and, it works, but, it's listing the data as
an array. How can I get separate lines for each item in the array?
Thanks,
Peter
In the book:
File.open("output.txt", "w") do |file|
file.puts "Hello"
file.puts "1 + 2 = #{1+2}"
end
# Now read the file in and print its contents to STDOUT
puts File.read("output.txt")
produces:
Hello
1 + 2 = 3
My script:
Dir.chdir("L:/png/69000")
files = Dir.glob("*.png")
File.open("F:/workflows/graphics/receipts/pngfiles.txt", "w") do |file|
file.puts "#{files}"
end
produces:
69116.png69251.png69391.pngAZ69080.pngAZ69982.pngcx69362.pngcx69363.png
. . .
Dir.glob returns an array, so two possibilities are (untested):
File.open("F:/workflows/graphics/receipts/pngfiles.txt", "w") do |file|
file.puts files.join("\n")
end
File.open("F:/workflows/graphics/receipts/pngfiles.txt", "w") do |file|
files.each {|f| file.puts f }
end
Hope this helps,
Jesus.
···
On Tue, Jun 9, 2009 at 2:52 PM, Peter Bailey<pbailey@bna.com> wrote:
Hi,
In the "pickaxe" book I see how to use a "puts" to populate a file with
data. I try the same thing, and, it works, but, it's listing the data as
an array. How can I get separate lines for each item in the array?
Thanks,
Peter
In the book:
File.open("output.txt", "w") do |file|
file.puts "Hello"
file.puts "1 + 2 = #{1+2}"
end
# Now read the file in and print its contents to STDOUT
puts File.read("output.txt")
produces:
Hello
1 + 2 = 3
My script:
Dir.chdir("L:/png/69000")
files = Dir.glob("*.png")
File.open("F:/workflows/graphics/receipts/pngfiles.txt", "w") do |file|
file.puts "#{files}"
end
produces:
69116.png69251.png69391.pngAZ69080.pngAZ69982.pngcx69362.pngcx69363.png
Hi,
In the "pickaxe" book I see how to use a "puts" to populate a file with
data. I try the same thing, and, it works, but, it's listing the data as
an array. How can I get separate lines for each item in the array?
Thanks,
Peter
In the book:
File.open("output.txt", "w") do |file|
file.puts "Hello"
file.puts "1 + 2 = #{1+2}"
end
# Now read the file in and print its contents to STDOUT
puts File.read("output.txt")
produces:
Hello
1 + 2 = 3
My script:
Dir.chdir("L:/png/69000")
files = Dir.glob("*.png")
Dir.glob returns an Array
File.open("F:/workflows/graphics/receipts/pngfiles.txt", "w") do |file>
file.puts "#{files}"
end
The default Array#to_s is like Array#join(''). You probably want to do either:
file.puts files.join("\n")
or iterate on the files:
files.each do |pngfilename|
file.puts pngfilename
end
File.open("output.txt", "w") do |file|
Dir.chdir("L:/png/69000")
files = Dir.glob("*.png")
Dir.glob returns an Array
File.open("F:/workflows/graphics/receipts/pngfiles.txt", "w") do |
file>
file.puts "#{files}"
end
The default Array#to_s is like Array#join(''). You probably want to
do either:
file.puts files.join("\n")
or iterate on the files:
files.each do |pngfilename|
file.puts pngfilename
end
Thank you very much, gentlemen. Yes, I did actually figure it out by
simply making two loops, one for the file and one for the png files
inside it.
Cheers,
Peter
--
Posted via http://www.ruby-forum.com/\.
2009/6/9 Rob Biedenharn <Rob@agileconsultingllc.com>:
On Jun 9, 2009, at 8:52 AM, Peter Bailey wrote:
Hi,
In the "pickaxe" book I see how to use a "puts" to populate a file with
data. I try the same thing, and, it works, but, it's listing the data as
an array. How can I get separate lines for each item in the array?
Thanks,
Peter
In the book:
File.open("output.txt", "w") do |file|
file.puts "Hello"
file.puts "1 + 2 = #{1+2}"
end
# Now read the file in and print its contents to STDOUT
puts File.read("output.txt")
produces:
Hello
1 + 2 = 3
My script:
Dir.chdir("L:/png/69000")
files = Dir.glob("*.png")
Dir.glob returns an Array
File.open("F:/workflows/graphics/receipts/pngfiles.txt", "w") do |file|
file.puts "#{files}"
end
The default Array#to_s is like Array#join(''). You probably want to do
either:
file.puts files.join("\n")
or iterate on the files:
files.each do |pngfilename|
file.puts pngfilename
end