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()
http://erlang.org/doc/man/ct_telnet.html
cmd(Connection, Cmd, Opts) -> {ok, Data} | {error, Reason}
Types:
Data = [string()]
2条答案
按热度按时间r8xiu3jd1#
类型
list()
代表任何列表,不指定其元素的类型。另一种写法是[_]
或[term()]
。string()
是list()
的特例:它是一个包含代表Unicode码位的整数的列表(如果少于256个,则为Latin-1字符;如果少于128个,则为ASCII字符)。string()
的另一种写法是list(char())
或[char()]
。一个
[string()]
是一个字符串列表。这个类型也可以写成list(string())
。因为它是一个列表的特例,所以写成list()
也是有效的(尽管信息量不大)。7rfyedvj2#
形式上来说,Erlang中没有“string”这样的类型,但是字符串是用一系列代码来表示的。
String()-〉[Positive_Integer()](正整数列表)
[String()] -〉Positive_Integer()(正整数列表的列表)
其中[]表示列表。