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?
27
A
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
iyidir. Ancak, bazı varsayılan değerlerle bir “Int” yerine “Int” gibi bir şey kullanmanın daha iyi olabileceğini unutmayın. – shachaf
"** Aşırı değerlerde bazı değerleri başlat" İşlevsel programlama stilinin ne hakkında olduğunu tam olarak anladınız mı? – leftaroundabout
"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