Birkaç yıllık programlamanın ardından SICP numaralı saldırıya son verme vakti geldi. Ancak, Emacs'te her şeyi düzenlemek ve çalıştırmak yerine, tüm egzersizleri çalıştırmak için farklı bir editör ve basit bir makefile kullanmayı tercih ederim. Bu tamamen kanon gibi görünmüyor, çünkü bir dosyaya "başarısız" olana kadar bir dosyayı çalıştıran bir şey olarak herhangi bir referans bulamadım. Kabuğun kapsayıcısını nasıl çalıştırmalıyım? bir dosyayı yükler, her bir ifadeyi sırayla değerlendirir ve #f
veya bir çıkış koduyla değerlendiren bir ifade ile karşılaşır geçmez sıfır olmayan bir çıkış koduyla sonlandırır tüm dosya başarıyla değerlendirildi mi? bugüne kadar çözüme yakın şey:Hızlı başarısız testler gibi SICP Scheme dosyalarını çalıştırın
$ cat ch1.scm
...
(= 1 2)
$ scheme --load ch1.scm
...
Loading "ch1.scm"... done
1 ]=>
Düzenleme: Başka bir deyişle, ifadelerin herhangi oradaki #f
için değerlendirmek durumunda ch1.scm yüklenmesi sırasında değerlendirme stop yapmak için bir yol var mı?
Eğer RackUnit gibi bir birim test kütüphanesinden (http://docs.racket-lang.org arayan muyuz (bazı MİT Şeması belirli
eval
ilgili yukarıdaki şeyler ve çok mekanın var dikkat edin) /rackunit/index.html)? –Bu bir son çare olurdu, çünkü Python ve Bash gibi dillerde aşırı olacaktı. – l0b0
Temel olarak, bash'da ne yapmaya çalışıyorsunuz, doğrudan Şema'da yapılabilir, bana yaklaşımı overkill gibi görünüyor :) –