1、函数(function)
Stylus强大之处就在于其内置的语言函数定义。其定义与混入(mixins)一致;却可以返回值。
- 多个返回值
sizes = 15px 10px
sizes[0]
// => 15px
sizes()
15px 10px
sizes()[0]
// => 15px
- 难点:哈希示例
下面,我们定义get(hash, key)方法,用来返回key值或null. 我们遍历每个键值对,如果键值匹配,返回对应的值。
get(hash, key)
return pair[1] if pair[0] == key for pair in hash
下面例子可以证明,语言函数模样的Stylus表达式具有更大的灵活性。
hash = (one 1) (two 2) (three 3)
get(hash, two)
// => 2
get(hash, three)
// => 3
get(hash, something)
// => null
2、关键字参数(key arguments)
Stylus支持关键字参数,或”kwargs”. 允许你根据相关参数名引用参数。
下面这些例子功能上都是一样的。但是,我们可以在列表中的任何地方放置关键字参数。其余不键入参数将适用于尚未得到满足的参数。
body {
color: rgba(255, 200, 100, 0.5);
color: rgba(red: