在Scala中,你可以做這樣的事情:你如何配合球拍中的衛兵?
def times[A](item: A, number: Int): List[A] = number match {
case n if n <= 0 => Nil // Nil = '()
case _ =>
// equivalent to [_ (cons item (times item (- number 1)))]
item :: times(item, number - 1)
}
是否有可能使用球拍的match
形式做這樣的事情?在documentation
對於那些不熟悉斯卡拉我找不到它,第一種情況下,如果匹配的數量等於或小於0,第二種情況是隻是一個符合一切通配符
換句話說,我會在???
現場寫些什麼來實現類似我上面描述的功能?
(define (times item number)
(match number
[??? '()]
[_ (cons item (times item (- number 1)))]))
我不認爲你會在球拍中使用match。 – uselpa 2014-09-04 12:52:05
@uselpa這只是一個簡單的例子,當然如果或cond會更合適 – 2014-09-05 06:39:39