【发布时间】:2017-04-30 23:43:26
【问题描述】:
我有这些数据和类型
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)
我有这个功能:
这个函数接受一个行程和一个客户,并返回一个修改了值的客户。
realizarItinerario :: Itinerario -> Cliente -> Cliente
realizarItinerario itinerario cliente = tomarTragos cliente (conseguirAcciones itinerario)
我有这个功能可以让你知道每个行程的强度
conocerIntensidad :: Itinerario -> Float
conocerIntensidad (nombre,duracion,acciones) = ((genericLength acciones)/duracion)
这是一个辅助功能:
conseguirAcciones :: Itinerario -> [Bebida]
conseguirAcciones (_,_,acciones) = acciones
并且我需要创建一个函数,给出一个 Itinerarios 列表和一个客户端,它返回应用到他的最高强度 itinerario 的客户端:
我知道如何获得最高行程,但不知道如何将其应用于同一功能。
【问题讨论】:
-
请尝试为您的问题提供更具描述性的标题——“haskell 中的列表和元组”几乎可以表示任何含义。 (如果您在将问题总结为简短而有意义的标题时遇到困难,这可能表明您的问题不够明确或不够具体。)
-
fst 。 maximumBy(比较 snd)。地图 (\x -> (x,conocerIntensidad x))`