代码之家  ›  专栏  ›  技术社区  ›  Moshe

有没有办法做这个干衣机

  •  0
  • Moshe  · 技术社区  · 6 年前

    我有许多哈希,我希望循环通过。

    例如,我有一个颜色哈希:

    colors = {
      red: #f00f00,
      green: #78f000,
      blue: #0090f0,
    }
    

    和大小哈希:

    fontSize = {
      small:  14px,
      base:   16px,
      large:  18px
    }
    

    然后我循环遍历这些散列。以下是简化示例:

    for name, color in colors
      .{name}
        background-color: color
    
    for name, size in fontSize
      .{name}
        font-family: size
    

    我想知道的是是否有烘干机来做这件事。一、 我不想重写。。。一次又一次地在循环中(因为每个哈希的结构都是相同的)。

    有没有办法做到这一点(如果有,如何做到)?

    1 回复  |  直到 3 年前
        1
  •  1
  •   user4994625 user4994625    6 年前

    您可以对循环执行函数,并使用参数获取类名并设置所需的属性:

    触笔

    colors = {
      red: #f00f00,
      green: #78f000,
      blue: #0090f0
    }
    
    fontSize = {
      small:  14px,
      base:   16px,
      large:  18px
    }
    
    loop(hashname, prop)
      for class, value in hashname
        .{class}
          {prop}: value
    
    
    loop(colors, background-color)
    
    loop(fontSize, font-size)
    

    输出

    .red {
      background-color: #f00f00;
    }
    .green {
      background-color: #78f000;
    }
    .blue {
      background-color: #0090f0;
    }
    .small {
      font-size: 14px;
    }
    .base {
      font-size: 16px;
    }
    .large {
      font-size: 18px;
    }