【发布时间】:2014-12-09 23:02:17
【问题描述】:
我必须在 Ruby 中编写一个tag 方法:
tag(:div, id: 'notification_panel', class: 'alert alert-danger')
它应该返回以下字符串(带有属性和值的 HTML 标记):
=> <div id="notification_panel" class="alert alert-danger">
这是我的标签方法:
def tag(name, *params)
result = "<#{name} "
params.each { |key, value| result << "#{key}=#\"#{value}\" " }
result << " >"
end
但是 shell 会返回以下字符串:
=> "<div {:id=>\"notification_panel\", :class=>\"alert alert-danger\"}=#\"\" >"
我不知道为什么它返回给我的是符号而不是符号的值(例如 id 而不是 :id)它让我 \、=>、{、@987654331字符串中的@
【问题讨论】:
标签: ruby hash each key-value params