我不知所措。希望有更多 Ruby 经验的人能告诉我发生了什么。
我从我的样式表中调用自定义 Sass 函数,如下所示:
$color: user_var('color')
自定义函数如下所示:
module Sass::Script::Functions
def user_var(param_name)
puts options[:custom]
puts options[:custom].fetch('color')
puts options[:custom].fetch(param_name)
end
end
puts options[:custom]
的结果(如预期的那样)是这样的:
{"color"=>#eeeeee, "header"=>20px}
puts options[:custom].fetch('color')
的结果是 #eeeeee
但。。。puts options[:custom].fetch(param_name)
的结果导致"找不到键:'颜色'(KeyError)"。
在这里完全莫名其妙。
我的猜测是param_name是一个符号,选项哈希中的颜色键被定义为一个字符串。
这应该有效。
options[:custom].fetch("#{param_name}")