使用 OCaml Playground

欢迎来到 OCaml 的浏览器内游乐场!

OCaml Playground 旨在让用户,尤其是初学者更容易开始使用 OCaml,而无需担心安装任何东西。一旦打开它,一切都可以立即使用。

它有一个简单的界面,包含两个面板:左侧的 *编辑面板* 和右侧的 *输出面板*。

编辑面板是您编写代码的地方,输出面板是显示答案的地方。简单易用。

从某种意义上说,游乐场比 顶层 简单得多,您无需在提示符下逐行输入代码,而是直接在编辑面板中键入或粘贴代码。另外,也不需要在表达式末尾加上 ;;。要运行编辑面板中的代码,请单击编辑面板底部的“运行”按钮。

把它想象成一个您编写 OCaml 代码的文件。您也可以随时通过单击输出面板上的“清除输出”按钮来清除输出。别担心,它不会影响您在编辑面板上的代码。

您还可以通过单击“共享”按钮(编辑面板底部“运行”按钮左侧)与其他人分享您编写的代码。单击“共享”后,只需复制 URL 并与他人分享即可。

如果您遇到困难,也可以使用顶部的搜索栏查找标准库。

让我们输入一些代码

当您第一次进入游乐场时,您将看到以下内容。

Ocaml Playground

不要惊慌!它只是编辑面板上的一些说明和示例代码,以及输出面板上有关 OCaml 版本和编译信息。

您可以通过简单地按 Ctrl+A 和 Backspace 来清除编辑面板,然后开始编写 OCaml 代码。同样,您也可以按输出面板上的“清除输出”按钮来清除面板。

让我们从一些简单的东西开始。在您的编辑面板上键入以下内容,然后单击运行。

2+3

您应该看到以下输出。

- : int = 5

现在,清除输出,并删除编辑面板上的内容。让我们试用一些字符串。继续在编辑面板上键入以下内容,然后单击运行。

"OCaml is amazing"

您应该看到以下输出。

- : string = "OCaml is amazing"

太棒了!你做得很好。现在让我们编写一个简短的程序。我将使用我们在进入游乐场时看到的代码示例。

let num_domains = 2
let n = 20

let rec fib n =
  if n < 2 then 1
  else fib (n-1) + fib (n-2)

let rec fib_par n d =
  if d <= 1 then fib n
  else
    let a = fib_par (n-1) (d-1) in
    let b = Domain.spawn (fun _ -> fib_par (n-2) (d-1)) in
    a + Domain.join b

let () =
  let res = fib_par n num_domains in
  Printf.printf "fib(%d) = %d\n" n res

输出将是以下内容。

fib(20) = 10946

val num_domains : int = 2
val n : int = 20
val fib : int -> int = <fun>
val fib_par : int -> int -> int = <fun>

自动补全

游乐场还支持代码补全。它通过根据上下文建议和完成用户输入来帮助用户。

Autocomplete in the OCaml Playground

注意事项

正如您从上面的代码示例中看到的,您无需在定义末尾使用 ;;

这里要注意的是,游乐场的行为与 OCaml 顶层不同。每次您单击“运行”按钮时,所有表达式和定义都会按顺序进行评估。当您编写 2+3 并在下一行编写一个字符串 "this is a string" (请参见此处) 时,您将看到一个错误提示

Line 1, characters 2-3:
Error: This expression has type int
       This is not a function; it cannot be applied.

相反,当您用 ;; 分隔这些表达式时,像这样,或者当您将它们绑定到名称时,像这样,它们将被成功地评估,一个接一个。

底线

恭喜!您已经完成了。希望到现在为止,您已经对如何使用 OCaml Playground 有了更好的了解。使用它来练习 OCaml 代码,并享受乐趣。快乐编程!

帮助改进我们的文档

所有 OCaml 文档都是开源的。看到错误或不清楚的地方了吗?提交一个拉取请求。

OCaml

创新。社区。安全。