gpt4 book ai didi

erlang - 在erlang中比较宏中的两个字符串时程序出错

转载 作者:行者123 更新时间:2023-12-02 04:01:28 25 4
gpt4 key购买 nike

我编写了宏来比较两个字符串,如下所示

-module(helloworld). 
-export([start/0]).
-define(macro1(X,Y),{if X == Y -> "True"; true ->"False" end.}).

start() ->
io:fwrite("~w",[?macro1("str","str")]).

报错如下:

Compiling the source code....
$erlc helloworld.erl 2>&1
helloworld.erl:6: syntax error before: '.'
helloworld.erl:2: function start/0 undefined

最佳答案

宏与函数定义不同。预处理器只是进行字符串替换。所以在你的情况下,你必须删除大括号中的点:

-define(macro1(X,Y),{if X == Y -> "True"; true ->"False" end}). 

关于erlang - 在erlang中比较宏中的两个字符串时程序出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41689777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com