Sadece Haskell'i öğrenmeye başladım, ancak döngülerin yokluğu şu anda sinir bozucu. Fonksiyonlar için döngüler yazmayı öğrendim. Bununla birlikte, benim sorunum, döngüleri tekrarlarken bazı sonuçlar çıkarmak istiyorum. Bu basit görevi gerçekleştirmek için debug kullanmam gerekiyor.basit Haskell döngü
Yani şimdi ben ana yapısında bir dize 10 kez yazdırmak nasıl bir örnek takdir sadece ederim.
Başka bir deyişle, bu 10 kat yapmak istiyorum:main = do
putStrLn "a string"
teşekkür ederiz. Bunun benim görevim için çok aydınlatıcı olacağını hissediyorum. o monads dayalı beri sadece dışarı başlıyoruz
burada cevaplanması gereken asıl soru işlevsel bir dille "döngüleri" yapmak istediğinizde, çağırmayı bir kullanmasıdır. Tek sinir bozucu olan şey şuna bakarsanız: monad kurucusundan (bu durumda IO) dolayı türler değişmez. Bu nedenle, monadik bağları tamamen birbirine bağlayan bir özyinelemeye ihtiyaç duyarsınız. Başka bir deyişle, bu, sadece, Haskell'in IO'yu tedavi ettiği "özel" yolun üstesinden gelmek için hafif bir varyasyona sahip bir özendirmedir. –
Hatta Haskell'e yeni başladım ama kazandığım küçük bilgileri paylaşmak istiyorum. Birisi bana Haskell'de döngüler yapmak istediğinizde ya yineleme ya da liste anlamalarını düşündüğümü söyledi. Buradaki sorunuzla alakalı değil, ancak listedeki tüm öğeleri eklemek istediğinizi varsayalım. Tabi ki tüm elemanlar üzerinde yinelemelisiniz. Özyineleme çalışacak ve liste kavramasını kullanacak. –