【问题标题】:Erlang Binary Input ExampleErlang 二进制输入示例
【发布时间】:2021-12-26 16:17:14
【问题描述】:

下面的 erlang 代码因参数错误而失败 ** exception error: bad argument in function re:split/3.

build_keyword_set 的输入应该是什么?我试过给出二进制输入、字符串输入、字符串列表和二进制对象列表,但都失败了。

-module(keywords).
-export([start/0]).

start() ->
    BinList = ["8"],
    Keywords = build_keyword_set(BinList),
    io:fwrite(" Keywords = ~p", [Keywords]).



-spec build_keyword_set(list(binary())) -> list(string()).
build_keyword_set([Query|Rest]) ->
    gb_sets:union(do_build_keyword_set(Query), build_keyword_set(Rest));
build_keyword_set([]) ->
    gb_sets:new().

-spec do_build_keyword_set(binary()) -> list(string()).
do_build_keyword_set(undefined) ->
    gb_sets:new();
do_build_keyword_set(Query) ->
    gb_sets:from_list(re:split(Query, re:compile("\\s+", [unicode]), [{return, binary}])).

【问题讨论】:

    标签: list binary set erlang erl


    【解决方案1】:

    问题是对re:compile()的调用返回一个元组{ok, Result},所以你不能直接将它传递给re:split()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-22
      • 2015-06-01
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 2014-08-27
      相关资源
      最近更新 更多