【发布时间】:2013-04-18 03:54:27
【问题描述】:
学习 Erlang 的第 2 天。我试图通过创建一个简单的 map 函数来学习在 Erlang 中使用 Map 的基础知识,该函数接受任何谓词和列表(由用户传入)并检查谓词是否返回 true 或 false 并将结果存储在列表中。
因此,如果用户传入(> 3) 作为谓词并且列表包含[3,4,5],则所需的输出将是[false, true, true]。
这是我尝试过的:
applyMap (P, LST) -> lists:map(P LST).
感谢任何有关如何执行此操作的建议。
提前非常感谢!
【问题讨论】:
-
您的尝试有什么问题?我想你希望你的谓词是这样的:
fun(x) -> x > 3 end。 -
感谢您的回复。我的实现出现语法错误。 X是什么?你从哪里弄来的?注意:谓词由用户传入。
-
我不是专家,但我认为您想传递一个匿名函数,例如
lists:map(fun(Val) -> Val > 3 end, LST).这将返回[false, true, true]。 -
我最近一直在使用 SML 进行类项目,并且有
op关键字作为二元运算符,但不知道您是否可以将其应用于大于运算符。
标签: erlang