Bir dosyada normal prelude (++) operatörünü kullanmam gerekiyor ve ayrıca (++) için kendi davranışlarımı uygulamak istiyorum. Dosyamın üst kısmında import Prelude hiding (++)
kullandım, kendi (++) operatörümü tanımladı ve şimdi daha da aşağıda normal baskıya (++) başvurmak istiyorum. Bunu nasıl başarabilirim?Haskell Prelude saklanıyor, UNDO?
5
A
cevap
14
Yaz ilaveten
import qualified Prelude
import Prelude hiding ((++))
kodunun başında
ve Prelude ++
gereken yere Prelude.++
yazma
4
Tsuyoshi Ito'nun açıkladığı gibi, operatörün adını modül adına göre nitelendirebilirsiniz. Ancak, kendi sürümünüzü (++)
tanımlayarak programınızın okunabilirliğini arttırmak isteyebilirsiniz, çünkü daha sonra modül adıyla bir operatörün nitelendirilmesi garip bir ölçü gibi görünmektedir.
Sadece şuna bakın: "abc" Prelude.++ "def"
Şimdi çirkin var söyledi.
Neden sadece <++>
gibi bir yeni işleç oluşturma veya `append 'gibi bir infix işlevi oluşturma?
İlgili konular
- 1. undo bzr revert
- 2. Haskell acemi
- 3. Haskell konsolundan Prelude işlevlerinin bir listesini görüntülemek için bir yol var mı?
- 4. Haskell printf - String
- 5. Python'daki değişkenler nerede saklanıyor?
- 6. LC3 Kod, yığında saklanıyor
- 7. Metin dosyam nerede saklanıyor?
- 8. Hızlı mesajlar nerede saklanıyor?
- 9. Genişletilmiş özellikler nerede saklanıyor?
- 10. Geçici nesne nerede saklanıyor?
- 11. İçerik div'un üzerinde saklanıyor
- 12. Char to int. Haskell
- 13. Haskell temel faktörleri çıkmıyor mu?
- 14. Fonksiyonel Saflık ben Haskell öğrenme üzerinde çalışıyorum, ben o tamamen işlevsel bir dildir anlıyorum Haskell
- 15. Bilginin reddedilmesi bir dosyada saklanıyor
- 16. burada: komut geçmişi saklanıyor mu?
- 17. Bigquery iş günlükleri saklanıyor mu?
- 18. Haskell Tuple Boyut Sınırı
- 19. Tam tip bilgisi olmayan Haskell polimorfik çağrıları
- 20. json ayrıştırma haskell
- 21. Haskell 'Sistem' modülü bulunamadı
- 22. Haskell
- 23. Haskell,
- 24. Haskell
- 25. Haskell
- 26. Haskell
- 27. Haskell
- 28. Haskell
- 29. Haskell
- 30. Haskell
Evet, aslında bu soruya ilk tepkime “Yazmadım” (++) ',” diye yazdım. Fakat eğer kişi kendi kütüphanesinde “++” yerine, “Prelüd” de “++” yerine bir kütüphane yazıyorsa, kütüphanenin kullanıcısı ideal olarak “Prelude. ++” 'yı kullanmak zorunda kalmayacaktır. Böyle bir (nadir) durumda, aynı ada sahip bir işlevi tanımlamak mantıklıdır. Aksi halde, o kadar yaygın olan bir isimle bir isim çatışmasına neden olmak pek mantıklı değil. –
İnsanlar soruyu okuduklarında ve “bunu yapma” yla cevap verdiğinde, özellikle de soru kendi motivasyonu hakkında yeterli bilgi vermediğinde beni rahatsız etmeye başlıyor. Kaşiflerin keşfetmesine izin verin, neyin doğru olduğunu düşündükleri bir şeye izin verin, ilk elden ne kadar çirkin geldiklerini görmelerine izin verin. Yakında bu yorumu kendi * cevaplarına * yazmam için bir konumda olacaklar. :-) – luqui