红宝石很新。我试图看看我是否可以使用ruby编写html。非常基本的脚本。没有错误,但没有任何内容写入文件,我无法弄清楚原因。如果我在puts
之后使用mypage
我可以看到写入控制台的html
#!/usr/bin/env ruby
class MyPage
attr_accessor :para, :startbuff
def initialize
@para = "<p>"
@startbuff = "<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />
<title>Your Website</title>
</head>
<body>
</body>
</html>"
end
def makePage
puts @startbuff
end
end
mypage = MyPage.new
File.open("/Users/me/Desktop/MyRubyHTML.html", "w+").each { |file|
puts mypage.makePage
}
答案 0 :(得分:3)
puts
输出到控制台,您需要这样做:
def makepage
@startbuff
end
这将返回@startbuff
中的所有内容,然后返回:
File.open("/Users/me/Desktop/MyRubyHTML.html", "w+") { |file| file.write(mypage.makepage) }
答案 1 :(得分:1)
您是否注意到,您实际上从未使用您的文件句柄?难怪,没有任何东西写入文件。尝试
file.puts(....)