Clojure學習05 謂詞函式

2021-09-08 04:05:07 字數 437 閱讀 6961

謂詞函式是乙個判斷式,乙個返回bool值的函式。

clojure中(lisp習慣)有個規定:對於判斷功能的函式,函式名後面都有乙個「?」號。所以只要看到後面帶問號的函式名,就知道這一定是乙個判斷函式。

1、 instance?  檢查值是否是某種型別

user=> (instance? string "hello")

true

2、fn?  判斷引數是否代表乙個函式

user=> (def a 10)

#'user/a

user=> (fn? a)

false

user=> (fn? filter)

true

3、測試數字的謂詞有

偶數 even?

奇數 odd?

負數 neg?

正數 pos?

零 zero?

clojure學習筆記

因為clojure的世界提倡值不可變,以藉此帶來的諸多程式設計好處。這就使得新手在處理變數的時候不知所措!以下是clojure處理變數的方法,還是將變數約束的死死的,盡量不讓它帶來不穩定因素。with local vars var a hello var set var a str var a 你好...

C 模板學習之函式物件之謂詞

函式物件是用物件來表示的函式 可以執行operator 的物件都叫做函式物件。謂詞是那些返回bool,operator 操作的函式物件。考慮如何對乙個序列求和 函式物件的優勢在於可以將引數,返回值存在物件裡面 而函式則不能。比如說 簡單的求序列中和的函式 template class sum sum...

c 函式物件之謂詞

概念 返回bool型別的仿函式被稱為謂詞 如果operator 接受乙個引數,那麼就叫一元謂詞 如果operator 接受兩個引數,那麼就叫二元謂詞 一 一元謂詞 includeusing namespace std include include 仿函式 返回值型別是bool資料型別,稱為謂詞 一...