io - 来自 io:format 的 badarg 异常
问题描述
我想编写一个函数,可以将一系列数字分隔\n
并打印在列表中。但是,我无法对badarg
错误取得任何进展。我该如何继续使用此代码?这个想法是将数字传递给这个程序,但是当我传递多个数字时,我得到了这个错误:
exception error: bad argument
in function io:format/3
called as io:format(<0.62.0>,"~w~n",[3,2,1])
in call from erl_eval:local_func/6 (erl_eval.erl, line 564)
in call from escript:interpret/4 (escript.erl, line 788)
in call from escript:start/1 (escript.erl, line 277)
in call from init:start_em/1
in call from init:do_boot/3
这是我的代码:
-module(prog).
-export([read_stdin/1]).
-export([main/0]).
read_stdin(Acc) ->
case io:fread(standard_io, '', "~d") of
eof -> Acc;
{ok, Line} -> read_stdin(Line ++ Acc)
end.
main() ->
Data = read_stdin([]),
io:format("~w~n", Data).
解决方案
to的第二个参数io:format
是一个值列表。即使您只使用一个使用值的控制序列(~w
在这种情况下),您也需要将值包装在一个列表中:
io:format("~w~n", [Data]).
推荐阅读
- javascript - 根据地图值启用按钮 React
- windbg - WinDbg 脚本 - 如何删除文件?
- angular - ngrx 适配器 updateOne
- flutter - Flutter:Speech to text 错误在 null 上调用了“initialize”方法
- r - R时间序列数据图 - 色调+平均实线
- dataframe - 使用新的“其他变量”创建新列
- c# - IIS 没有收到对 HTML 的更新?
- python - Pandas 将每年与某个属性关联的列合并为单独的列
- javascript - 有没有办法使用 Web Audio API 重新采样音频流?
- python - 在 Plotly 中使用三个 1D 浮点数组创建 3D 曲面图