Haskell’de yeniyim. Şimdiye kadar çok güzel, ancak QuickCheck özelliklerim için kopya yapıştırmayla karşılaşıyorum ve bunu düzeltmek istiyorum.QuickCheck parametrelerini nasıl sınırlandırabilirim, ör. sadece negatif olmayan mürekkepleri kullanın?
İşte uydurma bir örnek:
prop_Myfunc :: [Int] -> (Int,Int) -> Bool
prop_Myfunc ints (i,j) = ints !! i == ints !! j
QuickCheck negatif sayılar üreten çünkü bu işe yaramaz, bu yüzden bu çözüm için google denedim
*** Failed! (after 2 tests and 2 shrinks):
Exception:
Prelude.(!!): negative index
olsun, ve ben buldum örneğin
NonNegative ve ==>, ama nasıl çalıştıklarını anlamıyorum.
Yukarıdaki örneği, i ve j'nin asla negatif olmaması için nasıl kısıtlarım? Ve ayrıca, ne de çok yüksek değil mi? Yani: (örtük yeniden ihraç değilse, Test.QuickCheck.Modifiers
itibaren) 0 <= i,j < length ints
"0 <= i, j
ErikR
@ user5402" demek istediğimi düşünüyorum. Evet, teşekkürler! Bunu değiştireceğim. Cevabınızı mümkün olan en kısa sürede kontrol edeceğim, çok iyi görünüyor. –