首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Erlang:查找变量并将其反转

Erlang:查找变量并将其反转
EN

Stack Overflow用户
提问于 2016-03-01 02:30:31
回答 3查看 81关注 0票数 0

我需要能够像这样操作变量。

首先找到变量并检查它是什么(在本例中是运算符*/+等),然后反转它。例如,~(5+9)的值为-14,~(3-5)的值为2。

我该怎么做呢?

EN

回答 3

Stack Overflow用户

发布于 2016-03-01 02:50:17

代码语言:javascript
运行
复制
1> F=fun({A,'+',B}) -> B+A; ({A,'-',B}) -> B-A; ({A,'/',B}) -> B/A end.
#Fun<erl_eval.6.54118792>
2> F({5,'+',9}).
14
3> F({3,'-',5}).
2
票数 0
EN

Stack Overflow用户

发布于 2016-03-01 04:57:49

颠倒运算符是什么意思?这听起来像是你想做相反的事情-所以加法变成减法,反之亦然,乘法变成除法,反之亦然。但是您的示例表明您想要执行该操作,然后否定答案。例如,如果您只是“反转运算符”,那么5+9将变成5-9=-4。同样,为了得到5+9=-14,你必须否定运算5+9的答案。在我们继续之前,你能澄清一下吗?

票数 0
EN

Stack Overflow用户

发布于 2017-07-23 14:19:34

代码语言:javascript
运行
复制
custom_action(A, Operator, B) ->
    operate({A, Operator, B}) * -1.

operate({A, "+", B}) -> A + B;
operate({A, "-", B}) -> A - B;
operate({A, "*", B}) -> A * B;
operate({A, "/", B}) -> A / B.

现在,您可以使用像custom_action(5, "+", 9)这样的custom_action/3来获取-14,使用custom_action(3, "-", 5)来获取2。

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

https://stackoverflow.com/questions/35706875

复制
相关文章

相似问题

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