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