Erlang:[string()]和list()??
之间有什么区别我看到它们是ct_telnet的返回类型:cmd和ct_ssh:exec?
http://erlang.org/doc/man/ct_ssh.html
from functools import lru_cache
@lru_cache()
def fib(n):
if n==0:
...
http://erlang.org/doc/man/ct_telnet.html
fib()
答案 0 :(得分:9)
类型list()
代表任何列表,而不指定其元素的类型。另一种撰写方式是[_]
或[term()]
。
string()
是list()
的特例:它是一个包含表示Unicode代码点的整数的列表(如果小于256,则为Latin-1字符,如果小于128,则为ASCII字符; )。另一种撰写string()
的方式是list(char())
或[char()]
。
[string()]
是一个字符串列表。此类型也可以写为list(string())
。由于它是列表的特例,因此将其写为list()
也是有效的(尽管信息量较少)。
答案 1 :(得分:0)
在 Erlang 中,形式上没有“字符串”这样的类型,但是字符串是使用代码列表表示的。所以本质上
String() -> [Positive_Integer()](正整数列表)
[String()] -> [[Positive_Integer()]](正整数列表)
其中 [] 表示一个列表。