簡體   English   中英

查找列表和謂詞的任何可能的綁定

[英]Find any possible bondings of a list and predicate

我對 Haskell 真的很陌生,我幾乎沒有使用這種語言的經驗。 我的問題是我想創建一個函數來查找給定列表和謂詞的任何可能的綁定,但我找不到正確的解決方案。

此外,我認為對這個問題有用的函數是以下findBonding :: Eq a => (a -> a -> Bool) -> [a] -> Maybe [(a,a)]這樣findBonding p ls將 p 作為謂詞,將 ls 作為整數列表。

例如, findBonding (\\x -> \\y -> odd(x+y)) [2,3,4,5,6,7]應該返回Just [(2,3),(3,2),(4,5),(5,4),(6,7),(7,6)]

ls (列表)的foldrp (謂詞)聲明 findBonding 是一個函數,該函數應該聲明要查找哪些對,然后循環每兩個項目以找到正確的對並將它們作為列表列表返回。

請不要恨我,因為我對這門語言真的很陌生,而且我完全沒有經驗,但我渴望理解它,盡管它真的很難上手。

您不清楚“綁定”是什么意思,但根據您的評論,我認為這可能適用於您的定義:

import Data.Foldable
import Data.Traversable

findBonding :: (a -> a -> Bool) -> [a] -> Maybe [(a,a)]
findBonding f xs = for xs $ \x -> (,) x <$> find (f x) xs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM