-2
如果我有一個功能,例如更一般的模式匹配
f :: Int -> Int -> Int
f x y = x + y
要基於所述參數,以具有不同的功能,我使用模式匹配。
我只找到了如何與具體值匹配的語法,例如
f 0 y = y
是否有可能匹配更一般的東西?
我想在第一個參數小於0的情況下具有不同的功能。第二種情況可能是如果第二個參數超過某個值。
如果我有一個功能,例如更一般的模式匹配
f :: Int -> Int -> Int
f x y = x + y
要基於所述參數,以具有不同的功能,我使用模式匹配。
我只找到了如何與具體值匹配的語法,例如
f 0 y = y
是否有可能匹配更一般的東西?
我想在第一個參數小於0的情況下具有不同的功能。第二種情況可能是如果第二個參數超過某個值。
您可以使用衛士:
f x y | x < 0 = ...
f x y | y > someValue = ...
f x y | otherwise = ...
當然,還有一個用於調用guards機制:
f x y | x < 0 = y