2010年12月25日 星期六

fluxus-note cond判斷式

在fluxus中,有兩種判斷式的寫法

其中一種cond是這樣子用的,(cond ((條件判斷)輸出結果)),舉一個例子

如果是fluxus>(cond ((< 3 5) 1111 )),在這個式子中3<5成立,所以會輸出1111這個值。

但是如果在上述的例子中,如果條件不成立,不會有任何東西輸出。

為了避免這問題,我們可以寫成(cond ((>3 5) 1111)(else 2222)),這個例子最終輸出是

2222。










更進階的使用方式是,我們可以可以幫物件取一個名稱,並且藉由判斷物件的數值在來進行動作

程式可以寫成

(define (aa x)(cond ((> x 100)(+ x 100))(else (- x 100))))

所以在上述的例子中,當我輸入(aa 15),因為 aa>0,所以會進行 x+100的動作,這裡會輸出115。當我輸入(aa -100)時,因為aa<0 所以答案會是-200。