我有这些数据和类型:
test.cpp:27:18: error: 'DoFunThings' marked 'override' but does not override any
member functions
virtual void DoFunThings ( C<T>* d ) override {}
我有这个口号:
“定义chuckNorris,谁是最初被称为”Chuck“的客户,有抵抗力1000,是Ana的朋友并且采取了宇宙中存在的所有苏打水,从1级苏打水开始,然后是2级苏打水,并且所以。“
我做:
data Cliente = Uncliente {nombre::String,resistencia::Int,bebidas::[Bebida],amigos::[Cliente]} deriving (Show)
type Bebida = Cliente -> Cliente
type Nombre = String
type Duracion = Float
type Acciones = [Bebida]
type Itinerario = (Nombre,Duracion,Acciones)
但这不起作用,因为饮料的无限列表不是那样的
你会怎么写无限列表?
像苏打1,苏打2,苏打3 ........答案 0 :(得分:3)
我将其写为last modified timestamp
map soda [1,2..]
有效地获取列表中的每个元素(1,2,3等)并对其应用map
,从而生成另一个包含soda
,{{1}的列表},soda 1
等等。
答案 1 :(得分:3)
执行此操作的方法是通过map
功能。步进1
的无限列表可以使用..
语法完成。
map soda [1..]
这在语义上等同于
[soda 1, soda 2, soda 3, {- and so on... -}]
这可行的原因归功于Haskell的懒惰评估。只有在你开始遍历无限列表时才会调用soda
,所以不必担心会陷入无限循环。