檢視 OCaml筆記 的原始碼
←
OCaml筆記
跳至導覽
跳至搜尋
由於下列原因,您沒有權限進行編輯此頁面的動作:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
{{nav|程式語言、邏輯學}} ==基本指令== * <code>A ^ B</code>:連結A、B字串(字串相加) ==在 repl 模式匯入其他程式碼== === 命令行 === 在命令行輸入 ocaml ,輸入 <code># use "another_mode.ml"</code>(注意引號也要輸入) === 編譯時 === 另外如果要引用其他的程式碼,把所有程式碼放在目錄中,成爲: <pre> Folder ├── a.ml └── b.ml </pre> 在 a.ml 內引用 b.ml 的內容: <pre> _ = B.foo x </pre> 編譯時: <pre>ocamlopt -c a.ml ocamlopt -c b.ml ocamlopt -o a a.cmx b.cmx</pre> ==可變的模擬== 原則上,OCaml的物件是不可變的,但是可以用參照(reference、引用)模擬。 如下範例: <pre> # let x = ref [1;2];; (* 設定 x 是一個引用,指向 [1; 2]這個列表(list)。 *) val x : int list ref = {contents = [1; 2]} # !x (* 取得 x 引用的值(列表) *) - : int list = [1; 2] # x := 3::!x;; (* 將 x 指涉的列表前面加上元素 3,然後指定 := 到 x 這個 ref,更新參照指向 *) - : unit = () # !x;; (* 取得 x 的內容,可以發現已經更新。 *) - : int list = [3; 1; 2] </pre> == n 維陣列== <code>Array.make [大小] [初始值]</code> 警告:初始值他們指向的變數是同一個,也就是變動(若可)其中一個項目,其他項目也會跟著動。 不想這樣的話,請用 Array.init == for loop == <pre>for i = 0 to max do ... done</pre> == 得到某自定資料型別的某個 item == * [https://stackoverflow.com/questions/50321552/get-element-from-a-type-ocaml Get element from a type ocaml] ==Ocaml的document string== * [[Ocaml的docstring]] ==使用其他的套件,如果系統無法主動匯入== <code>ocamlfind ocamlc example.ml -package [package1] -package [package2] -linkpkg</code> ==找到某個函式庫在哪裡== <code>ocamlfind query [函式庫名稱]</code> ==建立Hashtable== <code>Hashtbl.create n</code>n是初始大小 ==參考== * [https://stackoverflow.com/questions/16594333/how-to-include-other-source-files-using-the-use-directive-in-ocaml How to include other source files using the #use directive in OCaml? - StackOverflow] * [https://ocaml.org/learn/tutorials/modules.zh.html OCaml 的說明文件] * [https://v2.ocaml.org/api/Hashtbl.html Module Hashtbl] * [https://v2.ocaml.org/api/Array.html OCaml 的說明文件 module Array] [[category:資訊]]
此頁面使用了以下模板:
模板:Nav
(
檢視原始碼
)
返回到「
OCaml筆記
」。
導覽選單
個人工具
登入
命名空間
頁面
討論
變體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
愛爾蘭語辭典
近期變更
隨機頁面
有關 MediaWiki 的說明
相關網站
總首頁
Blog
舊 blog
現用 blog 備份
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊