LISP hakkında okuyorum.
Önek notasyonunun belirli bir seviyede nasıl çalıştığını anlıyorum, ancak sezgisel hale getirmek için herhangi bir püf noktası olup olmadığını merak ediyordum.
LISP hakkında okuyorum.
Önek notasyonunun belirli bir seviyede nasıl çalıştığını anlıyorum, ancak sezgisel hale getirmek için herhangi bir püf noktası olup olmadığını merak ediyordum.
Yanıtlar:
Zihinsel olarak doğru fiillerle konuşulan dil olarak soldan sağa okumak yardımcı olabilir. Örneğin (+ 3 2) "üç ve iki ekleyin" olabilir. Daha genel bir durumda, "$ işlenenlerde $ işlemi gerçekleştir" diyebilirsiniz. Aynı durum için geçerlidir: "Ekleme işlemini üç ve ikide gerçekleştirin".
( = 1 2 )
ve( > 4 2 )
Hileler? Ne için?
Henüz sizin için sezgisel hissetmiyor çünkü zihinsel ayrıştırıcınız buna alışkın değil. Sadece kullanırsanız ve tekrar tekrar okursanız daha iyi olur.
Bunu bir tür işlev çağrısı olarak düşünebilirsiniz:
(operator operand1 operand2 ...)
Bu konuda çok özel bir şey yok. C ++ 'da (ve buna izin veren diğer birçok dilde) işleçleri aşırı yüklerseniz, genellikle bu tür bir işlevi tam olarak bu şekilde tanımlamanız gerekir:
MyClass operator+(MyClass const& x, MyClass const& y);
Birçok dilde önek, infix ve hatta postfix karışımı kullanılır.
Lisp varsayılan olarak yalnızca önek kullanır. Eğer sin (x) matematikten sezgiselse, (sin x) çok uzak değildir. Hareket (köpek, ev) geleneksel bir prosedür çağrısı ise, o zaman Lisp'de sadece (köpeği eve taşı).
Lisp matematik için bir istisna oluşturmaz ve +, -, * ve sıradan işlev çağrıları gibi diğerlerine davranır.