整数i
をタプルのリストと再帰的に比較する Haskell 関数を作成しています。特に、整数をリスト内のそれぞれi
と比較したい。次に、に対応するを印刷する場合a
(a,b)
i < a
b
a
サンプル入出力
check 0.01 [(0.25, 'x'),(0.50,'y'),(0.75,'z')] = 'x'
check 0.4 [(0.25, 'x'),(0.50,'y'),(0.75,'z')] = 'y'
check 100 [(0.25, 'x'),(0.50,'y'),(0.75,'z')] = ' '
どのようにアプローチするかについて疑似コードを書きましたが、その疑似コードを実際のHaskell関数に変換するのに問題があります。これが私がこれまでに持っているものです:
check :: a -> [(a,b)] -> b
check i (a,b):xs = tuples d xs
| if d <= a in (a,b) then = b //pseudocode
| id d !<= a in (a,b) then recursively check the next tuple //pseudocode
| otherwise ' ' // d is larger than all the a's of the tuple so return a space
私が考えている方法は正しいと思いますが、整数i
をタプルのa
s と比較してタプルをトラバースする方法がわかりません。何か助けはありますか?