Sass可以计算包含数学表达式的字符串吗?

Sass可以计算包含数学表达式的字符串吗?,sass,Sass,我试图创建一个函数,它将根据给定的表达式输出一个数字列表 有人知道如何通过函数传递表达式并在函数中对其求值吗 这就是我到目前为止所做的: @function patt($expression, $b: 10) { $result: (); @for $i from 1 through 10 { $result: append($result, unquote($expression)); } @return $result; } 用法示例: $l

我试图创建一个函数,它将根据给定的表达式输出一个数字列表

有人知道如何通过函数传递表达式并在函数中对其求值吗

这就是我到目前为止所做的:

@function patt($expression, $b: 10) {
    $result: ();
    @for $i from 1 through 10 {
        $result: append($result, unquote($expression));
    }
    @return $result;
}
用法示例:

$list: patt('$i * $b + 2');

不幸的是,这不起作用。可能表达式在函数中被视为字符串。

否。Sass没有eval函数。您可以使用
调用
功能获得最接近的结果

@function my-expression($x, $y) {
  @return $x * $y + 2;
}

@function patt($expression, $b: 10) {
    $result: ();
    @for $i from 1 through 10 {
        $result: append($result, call($expression, $i, $b));
    }
    @return $result;
}

$list: patt('my-expression'); // 12 22 32 42 52 62 72 82 92 102

哦,太遗憾了。谢谢你的建议。如果我在ruby中创建了一个自定义sass函数,它会工作吗?我不知道问题是出在sass上还是出在ruby函数上。我尝试构建自定义函数,但无法计算传入的字符串。我已经告诉过您,Sass无法计算字符串。如果你想执行算术,你必须有数字类型(整数、浮点、长度等)。你认为我没有读你的帖子吗?我可以在Ruby中创建一个自定义SASS函数,这对我来说是不同的。