从Erlang编译器的角度来看,下划线变量和以下划线开头的命名变量之间的确切区别是什么(除了向代码添加可读性之外)?
例如是_和_Var不同?
我想在ls使用master的脚本控制台连接到master的所有UNIX从服务器上运行相同的shell命令(非常简单的shell命令).
我怎么能用groovy做到这一点?
想要做这样的事情:显示有关节点 的信息,但我想在每个从站上运行一些简单的UNIX命令并打印结果,而不是显示信息.
以下功能将返回什么?好的原子或Cmd?
function_test() ->
Cmd = os:cmd("ls"),
io:format("The result of ls is:~p~n", [Cmd]).
Run Code Online (Sandbox Code Playgroud)
如果它返回ok,那么在仍然使用io:format时如何重新定义它以返回Cmd?
我需要在字符串中搜索子字符串并返回它,如果它在字符串中.在Erlang中最好的方法是什么?请注意,我不知道子字符串在更大的字符串中发生的位置,所以我需要搜索它.
我想使用Vim作为我的Erlang编码的编辑器.我设法在vim中为Erlang安装插件,我想知道是否可以在vim中编译当前缓冲区?例如,在Emacs中,您可以使用Ctrl C + Ctrl L组合键启动Erlang shell.那么在Vim中是否有另一种方法可以启动Erlang shell然后编译当前缓冲区?
您好,我有一个启动 Erlang 节点的命令(使用 run_erl 程序),然后使用 to_erl 程序连接到它。连接到节点后,我发出以下命令来获取主目录。
init:get_argument(home).
Run Code Online (Sandbox Code Playgroud)
它返回“/”作为主目录,我知道这肯定是错误的。这是什么原因呢?
以下哪个代码段是首选的?为什么?
check_number(X) ->
case lists:filter(fun(Y) -> check_num(Y) end, lists:seq(1,X)) of
[] -> empty;
List -> io:format("~w~n", [List])
end.
Run Code Online (Sandbox Code Playgroud)
要么
check_number(X) ->
io:format("~w~n", [[N || N <- lists:seq(1,X), check_num(N)]]).
Run Code Online (Sandbox Code Playgroud)
假设check_num(N)是谓词.
我有一个像这样的字符串:
"productName=\"NAME\"\n"
Run Code Online (Sandbox Code Playgroud)
我想把它改成这个:
"productName=NAME"
Run Code Online (Sandbox Code Playgroud)
在Erlang中执行此操作的最佳方法是什么?
我在一个模块中有以下代码:
-module(my_server).
-record(server_opts,
{port, ip = "127.0.0.1", max_connections = 10}).
Opts1 = #server_opts{port=80}.
Run Code Online (Sandbox Code Playgroud)
当我尝试在 Erlang shell 中编译它时,它会给出类似
syntax error before Opts1. 知道上面的代码可能有什么问题。请注意,代码取自以下网站:
在 Erlang 中记录示例。
有没有办法在Erlang中打开一个模块,然后在不使用模块名前缀的情况下调用它的函数?就像打开ML结构一样!
我有以下代码从具有值等于Accountnumber的字段的记录列表中返回记录.
lookup(AccountNumber, [#account{no=AccountNumber} = Rec | _]) ->
Rec;
lookup(AccountNumber, [_| T]) ->
lookup(AccountNumber, T);
lookup(AccountNumber, []) ->
not_found.
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,但当我尝试使用以下代码将其转换为过滤器时:
lookup(AccountNumber, DBRef) ->
lists:filter(fun(#account{no=AccountNumber} = Rec) -> Rec end, DBRef).
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
** exception error: no case clause matching #account{no = 2,balance = 0,pin = undefined,name = "Ali",
transactions = []}
in function lists:'-filter/2-lc$^0/1-0-'/2 (lists.erl, line 1271)
Run Code Online (Sandbox Code Playgroud)
错误的原因是什么?