如何解决ERLANG:产生乐趣不同的行为
为什么下面列出的两种生成方法之间有区别?
CASE
WHEN EXISTS (
SELECT DISTINCT x.User_Index
FROM ActiveUser_s
INNER JOIN Entity_s
ON ActiveEntity_s.Entity_Index = Entity_s.Entity_Index
INNER JOIN x
ON Entity_s.User_Index = x.User_Index
WHERE ActiveUser_s.Active = 1 AND Entity_s.User_Index = x.User_Index
)
then 'Yes'
ELSE 'No'
END AS [Is Real]
解决方法
在最后一个示例中,这是正在生成的函数:
BrowserRouter
它实际上什么也没做-它创建了一个匿名函数,但是没有调用它。
要调用该函数,您需要执行以下操作:
fun() ->
fun(X) -> io:format("~p ",[X]) end
end
(为清楚起见,我将参数名称从fun() ->
TheFunction = fun(Y) -> io:format("~p ",[Y]) end,TheFunction(X)
end
更改为X
。这没关系,因为函数参数使外部作用域的变量黯然失色。)
或者将其重新装入单排:
Y
现在,它的行为与其他示例相同。
,谢谢! 很清楚。 必须命名匿名函数才能被调用。例如,如果我们将匿名函数作为参数传递给另一个函数,则只能在包装函数内部将其称为命名参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。