首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Idris REPL:创建函数

Idris REPL:创建函数
EN

Stack Overflow用户
提问于 2017-07-12 18:14:31
回答 1查看 574关注 0票数 7

如何在Idris REPL中编写函数?如果我在REPL中输入函数定义longer: string -> string -> string,我会得到以下错误信息:

代码语言:javascript
复制
(input):1:7: error: expected: "$",
    "&&", "*", "*>", "+", "++", "-",
    "->", ".", "/", "/=", "::", "<",
    "<$>", "<*", "<*>", "<+>", "<<",
    "<=", "<==", "<|>", "=", "==",
    ">", ">=", ">>", ">>=", "\\\\",
    "`", "|", "||", "~=~",
    ambiguous use of a left-associative operator,
    ambiguous use of a non-associative operator,
    ambiguous use of a right-associative operator,
    end of input, function argument
longer: string -> string -> string<EOF>
      ^
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-12 21:32:32

Idris documentation提供了您所需的示例。您应该使用:let命令。如下所示:

代码语言:javascript
复制
Idris> :let longer : String -> String -> String; longer s1 s2 = if length s1 > length s2 then s1 else s2
Idris> longer "abacaba" "abracadabra"
"abracadabra" : String

默认情况下,Idris REPL不会执行任何智能操作,当您输入函数类型时,它不会进入智能多行模式。:let命令用于在REPL中定义任何顶级绑定。

另一个时刻:如果你想使用字符串类型,你应该使用String (以大写字母开头)而不是string

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45054824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档