SORU
23 AĞUSTOS 2010, PAZARTESİ


Nasıl "hata" printfs ile Haskell?

Bunun toplumdan gelen, Haskell biraz öğrenmeye çalışıyorum. Geçiş oldukça iyi gidiyor ama biraz hata ayıklama ile kafam karıştı. Koyardım (çok) "printf" bunun benim kod, Ara değerler, ya da bazı bayrak incelemek için hesaplama tam olarak başarısız oldu. yeri görmek

Printf olduğu içinIOeylem, içinde haskell kodumu kaldırın gerekiyorIOhata ayıklama bu tür edebilmek için monad ? Ya orada bunu yapmak için daha iyi bir yol (gerçekten Kaçınılması eğer bunu elle yapmak istemiyorum)

Ben de bulacaksınızizfonksiyon : http://www.haskell.org/haskellwiki/Debugging#Printf_and_friends hangi istediğim şey, ama bu tür anlamıyorum tam olarak görünüyor: yokturIOher yerde! Birisi açıklasın bana izleme fonksiyonu bir davranış olabilir mi ?

CEVAP
23 AĞUSTOS 2010, PAZARTESİ


trace hata ayıklama yöntemi kullanmak için en kolay. Aynen sizin de belirttiğiniz sebepten IO. IO monad kodunuzu kaldırmaya gerek yok. Böyle hayata

trace :: String -> a -> a
trace string expr = unsafePerformIO $ do
    putTraceMsg string
    return expr

Perde arkasında IO var ama unsafePerformIO escape için kullanılır. 6 ** türü ve adı da bakarak tahmin edebilirsin olan potansiyel başvuru şeffaflık tatili bir işlevi var.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Epic Tutorials for iPhone, iPad and iOS

    Epic Tutoria

    18 EYLÜL 2011
  • Jesse Pimenta

    Jesse Piment

    5 EKİM 2011
  • Rayone GB

    Rayone GB

    14 Temmuz 2007