可能有人請給我將利用本數據類型的函數的一個例子:實施例功能 - 功能::貨號B =>乙 - >甲 - >並[a]
function :: Num b => b -> a -> [a]
function a b = ...
另外理想情況下,一個將是一個字符串。
不,這不是功課的xD我只是需要一個項目的例子。
我已經試過拿B(重複),但我得到的錯誤
Could not deduce (b ~ Int)
from the context (Num b)
可能有人請給我將利用本數據類型的函數的一個例子:實施例功能 - 功能::貨號B =>乙 - >甲 - >並[a]
function :: Num b => b -> a -> [a]
function a b = ...
另外理想情況下,一個將是一個字符串。
不,這不是功課的xD我只是需要一個項目的例子。
我已經試過拿B(重複),但我得到的錯誤
Could not deduce (b ~ Int)
from the context (Num b)
這會工作(這是適合的類型描述函數):
function :: Num b => b -> a -> [a]
function arg1 arg2 = [arg2]
或者'function _ _ = []'。 – Vitus
簡單但有效的xD –
你可以重複(a
型)給定元素b
時間,創建列表
我曾嘗試飲用B從上下文(民二) –
'take'需要一個'Int',所以你必須明確地轉換(重複),但我得到的錯誤,因此無法推斷(B〜智力) 的'數字到'Int'。關於第二個想法,'Num'可能是一個浮點數一樣,所以在這一點上,你需要重新思考什麼(第一輪如它)重複的東西b乘以手段 – Attila
前奏曲提供功能數量(比如take
,drop
,!!
,splitAt
,來回左右)是不必要的單態:他們要求他們給出的數字是Int
。該模塊Data.List
出口的這些功能,其採取任何類型的Integral
類的參數多個多態性版本;他們有相同的名字,但前綴爲generic
。所以,與其take a (repeat b)
,您可以嘗試
function a b = genericTake a (repeat b)
的'通用...'函數接受任何類型'Integral'類,這比'Num'更有意義。 – leftaroundabout
@leftaroundabout感謝您的更正。 –
這是功課? – chepner
這個簽名沒有多大意義了,你想它完成任務。什麼是「函數7.3」foo「'應該返回? – leftaroundabout