Scheme'de mezhep ve yuvaları kullanma
"Fonksiyonel Programlama için Algoritmalar" yardımıyla FP'nin başlangıcını öğrenmeye çalışıyorum. 2. bölümde yazar sect
ve <>
anahtar sözcüklerini tanıtıyor . Kitaptaki prosedürlerden biri şöyle olacaktır:
(define add1 (sect + <> 1))
Prosedürü hesaplamak için Repl.it kullandım . Ancak ne yazık ki şu hatayı atıyor:
Error: execute: unbound symbol: "<>" []
Çünkü Sonra, Raket çalıştı okumak tamamen herhangi Şema standardını desteklemeyen burada Repl.it kullanımları BiwaScheme. Ama sonra başka bir hata aldım:
sect: undefined;
cannot reference an identifier before its definition
Yani yanlış bir şey mi yapıyorum? Yoksa kullanmam gereken başka bir editör / IDE var mı?
Yanıtlar
Her ikisi de yanılmışım sect
ve <>
Scheme anahtar sözcükleri değiller. Önsözde yazarın (afp primitives)
kitaplığı ilkel prosedürler ve sözdizimi uzantıları için kullandığından bahsedilmektedir . Bu kütüphaneyi kullanarak, emrinizde bir sürü ekstra prosedür elde edersiniz.
Buradan indirebilirsiniz .
Raketin bir add1işlevi vardır; kendi kimliğinizi tanımlamanıza gerek yok.
Ve SRFI-26'yı destekler cut
, ki bu sect
başka, daha yaygın bir adla göründüğü gibi:
> (require srfi/26)
> ((cut + 1 <>) 2)
3