2013-01-17 14 views
27

Haskell, Int sınırlarını bilmek için herhangi bir sabit sağlar mı? Int'un platform bağımlı olduğunu anlıyorum, ancak yine de bu durumu kullanmak ve özel durumumdaki uç noktalardaki bazı değerleri başlatmak istiyorum. C'deki eşdeğer sabitler (örneğin) INT_MAX ve INT_MIN olacaktır.Haskell, Int serisi için min/max sabitleri sağlıyor mu?

+16

iyidir. Ancak, bazı varsayılan değerlerle bir “Int” yerine “Int” gibi bir şey kullanmanın daha iyi olabileceğini unutmayın. – shachaf

+12

"** Aşırı değerlerde bazı değerleri başlat" İşlevsel programlama stilinin ne hakkında olduğunu tam olarak anladınız mı? – leftaroundabout

+4

"Int" için azami ve minimum sınırların yasal kullanımı vardır, ancak çok azı vardır. @shachaf'ın dediği gibi, muhtemelen 'Belki' yi istiyorsun. – augustss

cevap

46

Farklı türler için maksimum ve minimum sınırlara minBound ve maxBound değerlerini kullanarak Bounded tür sınıfı aracılığıyla erişilebilir.

değerleri, aklınıza gelebilecek bazı durumlarda böylece derleyici bunu anlaması mümkün değilse türünü belirtmek açıkça etmek üzere olan bağlamına göre polimorfik bulunmaktadır. Örneğin. Shang'ın cevap @

x = minBound :: Int 
İlgili konular