Sass/Stylus 转换函数迭代

Sass/Stylus convert a function iteration

我尝试将所有工作流程从 Sass 传递到 Stylus,但我无法转换函数。

这里是sass

中的函数
    @mixin setIconInclude($icon) {
      @each $s in $ws_icon-list {
            @if nth($s, 1) == $icon {
                  content: nth($s, 2);
            }
      }
}

我在 Stylus 中尝试过,但它不起作用

setIconInclude($icon)
  for $s in $ws_icon-list
    if foo $s 0 == icon
      content foo $s 1

编辑:

我有一个我在另一个文件中定义的图标列表。

$ws_icon-list =       "iconName1"   "\f105",
                  "iconName2"   "\e81f",
                  "iconName3"   "\e820"

对于我正在尝试实现的功能,我希望能够在 Stylus 中访问它(SASS 功能有效),但我无法理解其语法。

$icon 是列表中定义的我要使用的图标的第一个参数。

您可以使用 $s[0]$s[1] 代替 nth($s, 1)nth($s, 2),因为 Stylus 列表是 zero-based:

$ws_icon-list =   "iconName1"   "\f105",
              "iconName2"   "\e81f",
              "iconName3"   "\e820"

setIconInclude($icon)
  for $s in $ws_icon-list
    if $s[0] == $icon
      content: $s[1]

body
  setIconInclude('iconName1')