手写笔:有没有办法制作这个烘干机
Stylus: Is there a Way to make this DRYer
我有很多哈希值要循环。
例如,我有一个颜色哈希:
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
我想知道有没有烘干机可以做这个。也就是说,我不想一遍又一遍地重写 for...in 循环(因为每个哈希的结构都相同。
有没有办法做到这一点(如果可以,怎么做)?
你可以用循环做一个函数并使用参数来获取类名并设置你需要的 属性:
手写笔
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;
}
我有很多哈希值要循环。
例如,我有一个颜色哈希:
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
我想知道有没有烘干机可以做这个。也就是说,我不想一遍又一遍地重写 for...in 循环(因为每个哈希的结构都相同。
有没有办法做到这一点(如果可以,怎么做)?
你可以用循环做一个函数并使用参数来获取类名并设置你需要的 属性:
手写笔
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;
}