【发布时间】:2014-10-29 02:21:59
【问题描述】:
我是 ruby 的新手,正在尝试制作一个简单的函数,该函数将获取一个文件并用数组替换所有的胡须。例如:
simple.tpl
<p>Hello {{person_name}}</p>
<p>{{welcome_msg}}</p>
我想用一组键和值来改变它。
class Template
attr_accessor :file_name
def parse_template (array_to_replace)
str = File.read(file_name)
array_to_replace.each do |item|
# required code here ...
end
return str
end
end
任何人都可以输入所需的代码???
预期输出
我不知道多维数组在 ruby 中是如何工作的,但我想要的是:
the_arr = Array(
:person_name => "John Doe",
:welcome_msg => "Hello friend"
)
object = Template.new
object.file_name = "simple.tpl"
output = object.parse_template(the_arr);
puts output
我应该得到
<p>Hello John Doe</p>
<p>Hello friend</p>
【问题讨论】:
-
显示您的预期输出..
-
你应该先完成基本的 Ruby 教程。
-
嗯,为什么?我的代码中有这么多错误吗?
-
我这么说是因为你使用了
Array()语法。这是非常罕见的,表明您还没有真正尝试过学习 Ruby,您只是将 PHP 语法转换为 Ruby 语法。但是,学习 Ruby 不仅需要学习语法,还可能需要了解一些新概念。您可能想要的是Hash,任何基本的 ruby 教程都将在第一部分介绍。