freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

clojure概覽(編輯修改稿)

2025-10-07 14:56 本頁面
 

【文章內(nèi)容簡介】 loop和 recur ? 語言結(jié)構(gòu):順序,條件和循環(huán) ? Clojure中沒有專門的循環(huán)結(jié)構(gòu),而是通過遞歸來實(shí)現(xiàn)循環(huán) – 遞歸更符合人類直覺 – 遞歸讓代碼更優(yōu)雅 ? loop與 let類似,但是 loop會創(chuàng)建一個遞歸點(diǎn),允許 recur遞歸跳轉(zhuǎn) ? loop和 recur并不是尾遞歸優(yōu)化 (TCO) Macro ? Macro是 Clojure元編程的主要 方式 – 擴(kuò)展編譯器,定義自己的語法結(jié)構(gòu) – DSLs ? 什么是 Macro? – 模板語言 – C語言的預(yù)處 理器 ? 例子 – unless – SQL DSLs ? 函數(shù)是一等公民 ——first class ? 作為參數(shù) ? 作為返回值 ? 作為變量保存 ? defn宏定義函數(shù) ? 高階函數(shù):操作函數(shù)的函數(shù) – MapReduce Functional 高階函數(shù) ? 代碼復(fù)用 ? 隔離可變部分 ? 站在更高的抽象層次去思考問題 ? 更易于并行 ? 更易于測試 高階函數(shù) 29 問題 Java Clojure 求數(shù)組中 0的個數(shù) int []a={0,2,3,0,0,4}。 int count=0。 for(int i:a) if(i==0) count++ return count。 (count (filter zero? [0,2,3,0,0,4])) 求小于等于 n的 fib(k)是偶數(shù)組成的集合 ,假設(shè)已有函數(shù)fib(x) List list=… for(int i=0。i=n。i++){ int f=fib(i)。 if(f%2==0) (f)。 } return list (filter even? (map fib (range 0 (inc n)) )) 高階函數(shù) ? 以信息流的方式去組織代碼,高階函數(shù)帶來了約定接口的抽象 30 range: integers map: fib filter: even? Java Interop ? Clojue Strings == Java Strings ? Clojure Numbers == Java Numbers ? Clojure Collections實(shí)現(xiàn) ? Clojure函數(shù)實(shí)現(xiàn) Runnable和 Callable接口 ? Clojure可以繼承和實(shí)現(xiàn) Java的類和接口 ? Clojure的 seq庫可以直接使用在 Java的 String和 Array以及 Iterable 31 實(shí)例 ? (. Math PI) – Math/PI ? (new ) – (.) ? (. date getYear) – (.getYear date) ? (. (. System (getProperties)) (get )) –
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1