ฉันเป็นคนใหม่ของ Haskell ฉันกำลังใช้งานเกณฑ์มาตรฐาน (เกณฑ์) ในอัลกอริธึมการค้นหาแบบไบนารี ฉันได้รับข้อผิดพลาดอยู่เรื่อยๆ: 'nf' ถูกนำไปใช้กับอาร์กิวเมนต์น้อยเกินไป ฉันกำลังทำอะไรผิด
ขอบคุณ
binSear array serNum lowInx highInx
| highInx < lowInx = -1
| array!!sred > serNum = binSear array serNum lowInx (mid-1)
| array!!sred < serNum = binSear array serNum (mid+1) highInx
| otherwise = mid
where
mid = lowInx + ((highInx - lowInx) `div` 2)
main = do
let arr = [1..10000000]
defaultMain [
bench "1" $ nf (binSear arr 54527 0 9999999)
]