在这个来自F Sharp Programming Wikibook的计算表达式部分的 F#代码中:
let addThreeNumbers() =
let bind(input, rest) =
match System.Int32.TryParse(input()) with
| (true, n) when n >= 0 && n <= 100 -> rest(n)
| _ -> None
let createMsg msg = fun () -> printf "%s" msg; System.Console.ReadLine()
bind(createMsg "#1: ", fun x ->
bind(createMsg "#2: ", fun y ->
bind(createMsg "#3: ", fun z -> Some(x + y + z) ) ) )
Run Code Online (Sandbox Code Playgroud)
当我转换input()到input和create Msg msg …
我正在尝试让Scala在Ubuntu上设置Coursera课程,我按照他们的说明安装了open-jdk 1.8,sbt(sbt about v1.0.2)和IntelliJ Idea.我在src/main/scala中设置了一个带有HelloWorld Scala工作表的sbt项目,它只是说"Hello,world",但是当我尝试评估工作表时,我得到了错误
内部错误:Scala实例不存在或无效:版本未知,库jar:/ home/[我的用户名]/.ivy2/cache/jline/jline/jars/jline-2.14.5.jar,编译器jar:/ home/[我的用户名]/.ivy2/cache/org.scala-lang.modules/scala-xml_2.12/bundles/scala-xml_2.12-1.0.6.jar
然后是更长的痕迹.我缺少一个设置步骤吗?该项目似乎指向项目结构依赖项中的Java v1.8,在"库"选项卡中,我看到SBT设置为Scala v2.12.