erlang中的[string()]和list()有什么区别?
Erlang:[string()]和list()之间有什么区别 我把它们看作是ct_telnet:cmd和ct_ssh:exec的返回类型 typeerlang中的[string()]和list()有什么区别?,erlang,Erlang,Erlang:[string()]和list()之间有什么区别 我把它们看作是ct_telnet:cmd和ct_ssh:exec的返回类型 typelist()表示任何列表,但不指定其元素的类型。另一种编写方法是[\u]或[term()] string()是list()的一个特例:它是一个包含整数的列表,表示Unicode代码点(如果小于256,则包含拉丁文1字符;如果小于128,则包含ASCII字符)。另一种编写string()的方法是list(char())或[char()] [stri
list()
表示任何列表,但不指定其元素的类型。另一种编写方法是[\u]
或[term()]
string()
是list()
的一个特例:它是一个包含整数的列表,表示Unicode代码点(如果小于256,则包含拉丁文1字符;如果小于128,则包含ASCII字符)。另一种编写string()
的方法是list(char())
或[char()]
[string()]
是字符串列表。这种类型也可以写成list(string())
。由于它是列表的一个特例,因此将其写成list()
也是有效的(尽管信息较少),因为在Erlang中没有“string”这样的类型,但是字符串是使用代码列表表示的。所以本质上
字符串()->[正整数()](正整数列表)
[String()]->[[Positive_Integer()]](正整数列表)
其中[]表示列表。谢谢您的解释。当这两种类型中的任何一种被传递给下面的函数时,情况是否相同?loop|u list([H | L])@seenu9333这当然取决于函数接受的内容。@seenu9333:function
loop|u list([H | L])
接受所有list(X)
(或[X]
类型,其中H
应该是X
类型的T
。
exec(SSH, Command, Timeout) -> {ok, Data} | {error, Reason}
Types:
Data = list()
cmd(Connection, Cmd, Opts) -> {ok, Data} | {error, Reason}
Types:
Data = [string()]