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

时间:2015-04-22 22:39:22

标签: sass

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

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

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

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

使用示例:

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

不幸的是,这不起作用。据推测,该表达式被视为函数中的字符串。

1 个答案:

答案 0 :(得分:2)

没有。 Sass没有 eval 功能。最接近的是使用call函数。

@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