【发布时间】:2014-08-06 04:59:43
【问题描述】:
我正在尝试从 Ruby 调用 darken。
这是我的代码:
Sass::Script::Functions.darken('#FF0000', '20%')
我不断收到此错误:
undefined method `darken' for Sass::Script::Functions:Module
我做错了什么?
【问题讨论】:
我正在尝试从 Ruby 调用 darken。
这是我的代码:
Sass::Script::Functions.darken('#FF0000', '20%')
我不断收到此错误:
undefined method `darken' for Sass::Script::Functions:Module
我做错了什么?
【问题讨论】:
Sass::Script::Functions 是一个带有实例方法的模块,它应该包含在另一个对象中。不幸的是,当你这样做时,它需要其他方法才能工作。那里也有一个EvaluationContext 对象,扩展它可以让darken 运行,但在断言要传递的对象类型时失败。
class C < Sass::Script::Functions::EvaluationContext
def initialize
super :global
end
def x
darken('#FF0000', '20%')
end
end
> C.new.x
ArgumentError: $color: "#FF0000" is not a color
你想完成什么? Sass 似乎不应该以这种方式调用。
【讨论】:
assert_type 检查所有参数。这根本不是它的用途。