Erlang:[string()]和list()有什么区别?
我看到它们作为ct_telnet的返回类型:cmd和ct_ssh:exec?
http://erlang.org/doc/man/ct_ssh.html
exec(SSH, Command, Timeout) -> {ok, Data} | {error, Reason}
Types:
Data = list()
Run Code Online (Sandbox Code Playgroud)
http://erlang.org/doc/man/ct_telnet.html
cmd(Connection, Cmd, Opts) -> {ok, Data} | {error, Reason}
Types:
Data = [string()]
Run Code Online (Sandbox Code Playgroud)
该类型list()代表任何列表,而不指定其元素的类型.写它的另一种方法是[_]或[term()].
A string()是一种特殊情况list():它是一个包含表示Unicode代码点的整数的列表(如果小于256,则为Latin-1字符,如果小于128,则为ASCII字符).另一种写作方式string()是list(char())或[char()].
A [string()]是字符串列表.这种类型也可以写成list(string()).由于它是列表的特殊情况,因此将其编写为有效(尽管信息量较少)list().