当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


erlang scan_erl_exprs(Prompt)用法及代码示例


scan_erl_exprs(Prompt) -> Result
scan_erl_exprs(Device, Prompt) -> Result
scan_erl_exprs(Device, Prompt, StartLocation) -> Result
scan_erl_exprs(Device, Prompt, StartLocation, Options) -> Result
OTP R16B
类型:
Device = device()
Prompt = prompt()
StartLocation = location()
Options = erl_scan:options()
Result = erl_scan:tokens_result() | server_no_data()
server_no_data() = {错误,错误说明::term()} |埃夫

从标准输入读取数据(IoDevice),提示它Prompt。读取从位置开始StartLocation(1)。争论Options作为参数传递Options函数的 erl_scan:tokens/4。数据被标记化,就好像它是 Erlang 表达式序列,直到最后一个点 (.) 到达了。该令牌也被返回。

该函数返回:


{ok, Tokens, EndLocation}

标记化成功。


{eof, EndLocation}

标记生成器遇到文件结尾。


eof

I/O 服务器遇到文件结尾。


{error, ErrorInfo, ErrorLocation}

标记化时发生错误。


{error, ErrorDescription}

其他(罕见)错误情况,例如从 NFS 文件系统读取时为 {error, estale}

例子:

23> io:scan_erl_exprs('enter>').
enter>abc(), "hey".
{ok,[{atom,1,abc},{'(',1},{')',1},{',',1},{string,1,"hey"},{dot,1}],2}
24> io:scan_erl_exprs('enter>').
enter>1.0er.
{error,{1,erl_scan,{illegal,float}},2}

相关用法


注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 scan_erl_exprs(Prompt) -> Result。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。