Belirli tipler için ghci'nin özel bir yerine yazdırma işlevini yerine getirmesini sağlamanın bir yolu var mı? Daha genel bir soru: Bir kütüphaneyi etkileşimli modda mümkün olduğunca kullanılabilir hale getirmek için genel yönergeler nelerdir? Teşekkürler.Ghci'de son derece yazdırma
8
A
cevap
7
--interactive-print
işaretini kullanarak özel bir güzel yazdırma işlevi ve herhangi bir kısıtlama için C
türüyle C a => a -> IO()
kapsamındaki herhangi bir işlevi adlandırma belirtebilirsiniz. (Detaylar için dokümanlar Section 2.4.9 bakın.) Bu, kendi typeclass kendi işlevini belirtebilirsiniz anlamına
ghci --interactive-print=MyModule.prettyPrint
. Orada sadece belirli bir türü için bunu yapmak için hiçbir yol, ama özel sınıf hep bu çalışması için en az OverlappingInstances
gerektirecektir
instance Show a => PrettyPrint a where prettyPrint = show
gibi bir geri dönüş örneğini içerebilir.
İlgili konular
- 1. Son derece yavaş ithalat
- 2. OutofMemoryException - Son Derece Büyük Görüntü Yükleme
- 3. Aptana "Building Workspace" son derece yavaş
- 4. Gitlab apt deposu son derece yavaş
- 5. Son derece yüksek gecikme ile ağ oluşturma
- 6. Son derece uzun çöp toplama süreleri
- 7. 'npm install' son derece yavaş Windows üzerinde
- 8. Entity Framework DBSet son derece yavaş
- 9. İşleme döngüsünde son derece yüksek CPU yükü
- 10. Python son derece şaşırtıcı regex unicode davranışı
- 11. Yazdırma, yalnızca son sayfa makaralarından sonra başlar
- 12. Başhktaki son derece uzun bir dizgeyi nasıl ayırabilirim?
- 13. Son derece uzun iş akışı için salatalık senaryoları
- 14. JXMapKit/-Viewer webstarlanabilir olarak son derece yavaş - nerede kazmaya başlıyor?
- 15. C++ Son derece büyük tamsayı sayıları için değişken değişken hangisidir?
- 16. App Burada bazı son derece basit koduna sahip web sayfasını
- 17. Encapsulating Postgres sorgu görünümünde görünümü son derece yavaşlatıyor
- 18. std :: map ayırıcısı ben son derece temel ayırıcı var
- 19. Pandoc tarafından .md tarafından dönüştürülen beamer slaytları son derece büyük
- 20. Fonksiyonel Java - Bu kodda whenComplete ve son derece
- 21. 10 Xcode 7.3, Swift 2.2 Storyboards Son Derece Yavaş
- 22. GTA2, Araba Fiziği gibi, ancak son derece basitleştirilmiş
- 23. Son derece büyük XML dosyalarını php olarak ayrıştırma
- 24. Son derece garip IE7/8 kenarlık/opaklık uyumluluğu sorunu
- 25. Hizmet fabrikası: son derece uzun yol/dosya adları sorunları
- 26. Karmaşık otomatik görünüm görünümü için son derece uzun yükleme süresi
- 27. R: radyanları derece/derece radyanlara dönüştürün
- 28. CATransform3DRotate 360 derece döndürme
- 29. hızlı dizi <code>removeLast</code> (bu 77k elemanları patlak için birkaç dakika sürer) son derece yavaş çağrı son derece yavaş
- 30. HTML5 Tuval: Derece Sembolü