關(guān)于OCaml,最早稱為Objective Caml,是Caml編程語(yǔ)言的主要實(shí)現(xiàn),開(kāi)發(fā)工具包含交互式頂層解釋器,字節(jié)碼編譯器以及最優(yōu)本地代碼編譯器。Ocaml有一個(gè)巨大標(biāo)準(zhǔn)庫(kù),使得可以像Python或者Perl語(yǔ)言一樣可以方便地開(kāi)發(fā)各種應(yīng)用程序。
對(duì)于程序員來(lái)說(shuō),OCaml由編程語(yǔ)言社區(qū)努力推廣,并提供有目標(biāo)的支持,自動(dòng)內(nèi)存管理和設(shè)備的便攜性。目前可從蘋(píng)果的App Store獲下載OCaml應(yīng)用程序。通過(guò)OCaml語(yǔ)言的應(yīng)用特性,可以建立一個(gè)教代數(shù)的網(wǎng)站。
ocaml 簡(jiǎn)單例子(Linux)
ocaml 注釋
單行注釋?zhuān)?/p>
多行注釋?zhuān)?/p>
OCaml中可以使用嵌套( … *)塊, 因此我們可以很容易地注釋掉某一塊程序。
調(diào)用函數(shù)
在ocaml中,用括號(hào)括起參數(shù)和用逗號(hào)分隔參數(shù)是錯(cuò)誤的。
一般情況下,括號(hào)只括起整個(gè)函數(shù)調(diào)用,不要括起函數(shù)調(diào)用的參數(shù)。
函數(shù)定義
ocaml函數(shù)的一些特性:
OCaml是強(qiáng)靜態(tài)類(lèi)型的語(yǔ)言。(也就是說(shuō)沒(méi)有如perl中的動(dòng)態(tài)類(lèi)型)。
OCaml用類(lèi)型推導(dǎo)(type inference)來(lái)找出類(lèi)型,所以大家無(wú)需注明類(lèi)型。如果你用上述OCaml的toplevel,那么OCaml會(huì)顯示出它認(rèn)為的函數(shù)類(lèi)型。
OCaml不做任何的隱式轉(zhuǎn)換。如果你需要浮點(diǎn)數(shù),你必須寫(xiě)2.0,因?yàn)?是一個(gè)整數(shù)。OCaml從不執(zhí)行任何自動(dòng)類(lèi)型轉(zhuǎn)換。
由于type inference的副作用,OCaml不允許任何形式的重載(包括操作符重載)。它用不同的運(yùn)算符來(lái)表示“兩個(gè)整數(shù)相加”(用+)和“兩個(gè)浮點(diǎn)數(shù)相加”(用+.)。注意后者有一個(gè)點(diǎn)號(hào)。其他算術(shù)運(yùn)算符( -。, *.,/。 )也是這樣。
OCaml返回函數(shù)的最后的表達(dá)式值,因此我們沒(méi)有必要如C中一樣寫(xiě)return。
基本類(lèi)型
int char float bool string unit(void的返回類(lèi)型)
評(píng)論