1

我正在尝试编译以下代码,但它失败了:

import stdlib.core.map

function f()
{
        stringmap(string) myM = StringMap.add("rabbit", "horse", StringMap_empty)
        string rabbit= myM["rabbit"]
}

这是为什么 ?我觉得这段代码可以与我之前发布的 opa (0.9.*) 一起使用。

如何访问存储在 StringMap 中的数据?在我的代码中,我想通过

HttpRequest.Generic.get_form_data(HttpRequest.request x).

谢谢

4

1 回答 1

2

不,您的代码不能在任何先前版本的 Opa 上运行。我们已经在您在此处打开的上一个线程中讨论了 Opa 和 StringMap 的某些方面:Opa : howo to operating stringmap (and other map)

总之:

  • Opa 是一种函数f式编程语言,您的函数不能以rabbit = v.
  • 没有myM["rabbit"]语法,你必须StringMap.get在你的情况下使用。

这是一个工作代码:

import stdlib.core.map

function f()
{
        stringmap(string) myM = StringMap.add("rabbit", "horse", StringMap_empty)
        match (StringMap.get("rabbit", myM)) {
        case {none}: "not found"
        case {some:value}: value
        }
}
于 2012-07-09T10:25:30.387 回答