Ben dili öğrenmeye başlayan bir Common Lisp newbie'yim. Sorum şu: Ben farklı işlevler yüklemi sözdizimini farklı şekillerde kullandım. Mesela (sadece yukarı baktım), streamp ve pathnamep var, ama aynı zamanda input-stream-p ve output-stream-p var. Neden tüm fonksiyonlar * p veya * -p? Kullanmak için standartlaştırılmamıştır? Bu belki sadece tarihi bir eser mi?Neden adlandırma kuralı farklı işlevler arasında farklılık gösteriyor?
cevap
kural çok kelimeli yüklem isimler -P
sona ederken tek kelimelik yüklem isimler, sadece P
sona olmasıdır. Birincinin sebebi çoğunlukla tarihseldir; İkincisinin nedeni, input-streamp
gibi bir ismin yanlış sorulması, sorulan sorunun “bu bir akım mıdır?” veya bunun gibi bir şey olduğunu ileri sürmesidir.
Ben bir kural olarak 'predicatep' ve' kompleks-predicate-p' (veya alternatif olarak 'simplep' ve' kompleks-predicate-p') demeye eğilimliyim. – Vatine
Ayrıca, bazı durumlarda, çok sözcüklü yüklem için bir tire eklemeyeceğinizi de unutmayın (örneğin, "string-lessp"). Bkz. [Common Lisp the Language, 2nd Edition] (http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node69.html). – coredump
Ve ayrıca "atom" :) var. [Common Lisp the Language, 2nd Edition] (http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node73.html) –
- 1. Kontrollerin ölçeklenmesi neden PC'ler arasında farklılık gösteriyor?
- 2. SELECT sonuçları neden mysql ve sqlite arasında farklılık gösteriyor?
- 3. iPhone ivar adlandırma kuralı
- 4. Yerel işlevler için deyimsel adlandırma kuralı nedir? C# 7
- 5. Farklılık özelliklerinden aynı adlandırma yönteminin kalıtımı
- 6. XAML kaynak adlandırma kuralı
- 7. clojure'da her zamanki adlandırma kuralı nedir?
- 8. Servis yöntemi için adlandırma kuralı
- 9. React Dosya adlandırma kuralı jsx
- 10. css adlandırma kuralı tartışması (jqueryui)
- 11. İstisna API yeniden adlandırma kuralı
- 12. Yeni iOS cihazları için Adlandırma Kuralı
- 13. Tabaka oluşturma varyantları için klasör adlandırma kuralı
- 14. Koleksiyonlarda adlandırma kuralı: neden biraz küçük harf ve diğerleri CapWords?
- 15. android- image adlandırma kuralı: Ad nasıl oluşturulur?
- 16. Python sınıf referansları için adlandırma kuralı nedir?
- 17. SHA-256 Farklılık Sonuçları
- 18. Neden Rake görev geliştirme yerel ortamım ile Heroku Cedar'e dağıtılırken farklılık gösteriyor?
- 19. Groovy yöntemi adlandırma kuralı mı yoksa sihir mi?
- 20. gerekli işlevler arasında kapsamlar gerektirir
- 21. Safari Uzantısı Farklı Pencereyi Gösteriyor
- 22. Python - Hashlib MD5 linux/windows arasında farklılık gösterir
- 23. kmean renk segmentasyonu neden her seferinde farklı renk gösteriyor?
- 24. Genelde işlevler neden kullanılamaz?
- 25. Neden g ++, farklı adlandırma sistemlerine sahip iki kurucu üretir?
- 26. PHP'de işlevler arasında globals kullanmadan paylaşım değişkenleri
- 27. Neden LineBreak php'de "n" gösteriyor?
- 28. Neden Karma, Aralık hatası gösteriyor?
- 29. Neden derleme zamanı hatası gösteriyor?
- 30. Çıkış değerleri R ve Python arasında farklılık gösterir?
Çoğunlukla tarihsel - Common Lisp, büyük ölçüde, o zamanki tüm Lisp uygulamalarının basit bir birleşimi olarak sona erdi, hemen hemen hepsi, mevcut kodun çalışmaya devam etmesini sağlamaktan çok daha fazla ilgi ile birlikte atıldı. gerçekten iyi uyum sağladım. –
Bu aslında 'sözdizimi' değil - 'adlandırma kuralı' – GoZoner
@GoZoner İyi nokta, düzeltildi. –