개성있는 루비 블록을 사용하여 파일을 작성합니다
File.new("directory.xml", "w") do |fo|
fo.puts "<?php header(\"Content-type: text/xml\"); ?>"
fo.puts "<CiscoIPPhoneMenu>"
fo.puts "<Title>Telefonbuch</Title>"
fo.puts "<Prompt>Dir External</Prompt>"
letters_used.each do |letter|
filename = "contacts_" + letter + ".xml"
FileUtils.touch(filename)
fo.puts "<MenuItem>"
fo.puts "<Name>" + letter.upcase + "</Name>"
fo.puts "<URL>http://" + HOSTNAME + WEBSERV_DIR + "/" + filename + "</URL>"
fo.puts "</MenuItem>"
end
fo.puts "</CiscoIPPhoneMenu>"
end
이는 블록의 끝에서 자동으로 파일을 닫습니다.
'file.rewind'를'file.close'로 바꿔보십시오. – AJcodez
예, 저는 같은 주석을 쓰고있었습니다 ...하지만 문제를 재현 할 수 없었습니다. 두 경우 모두 파일을 닫아야합니다. 문제가 해결되지 않으면 OS와 루비 버전을 나열하십시오. – rudolph9
파일 닫기/되감기 전에 file.flush를 추가 할 수도 있습니다. – TheConstructor