09.01.2019 07:40    

dkeskin
Selam arkadaşlar ben lisp'de yeniyim.Oğrenmeye çalışıyorum gerek kitaplar olsun gerek hazır yazılmış lispleri çözmeye çalışmak olsun ama takıldığım bir yer var.Su anda basit lisp kodları yazabiliyorum mesela düz bir çizgi çizersek cizginin ucuna daire , yamuk bir çizgi çizersek çizginin ucuna üçgen gibi , takıldığım yer ise bu konumdan daha ileri gitmek bayağı zorlaştı.Kitaplarda veya diğer kaynaklarda komutların tek başına nasıl kullanldığı yazılıyor evet ama komutlar bir kodun içerisinde daha farklı şekilde kullanılabiliyor bu yüzden anlaşılmaz bir hale gelebiliyor.Sizden istediğim şey ise bu durumda öğrenmeye nasıl devam etmeliyim.Tavsiyelerinizi paylaşırsanız sevinirim ve teşekkür ederim.

09.01.2019 08:13    

ehya
Lisp yazmak aslında basittir. Temel başlangıç seviyeleri insana zor gelmez. Çünkü ilk başladığımızda hep command ile yazdık.
İleriki zamanlarda ise entmake ile nesne oluşturmaya başladıl. Activex öğrenince vla-add ile devam ettik.
Başlangıçta yazdığımız lispler uzun olmadığı için çok da zorlanacak bir yeri yoktu.
Ancak zamanla sizin de şuan istediğiniz karmaşık şeylere girdiğimizde hep kodlar uzadı hem de kontrolü bazen elden kaçırdık.

Hata yapmak istemiyorsanız yada daha az hata yapıp ipin ucunu kaçırmak istemiyorsanız lispi tek parçada yazmamaya çalışın.

Örneğin;
İki nokta arasına çizgi çizmek istediğinizde ve bu işlem sürekli tekrarlanacak ise ara gövdelerle çözün.

Bunun için entmake ile nesne oluşturacak bir komut yazalım.


Kod:

(setq p1 (getpoint "\n1.Nokta:")
      p2 (getpoint p1 "\n2.nokta:"))


Bu komut dizimi ile P1 ve P2 değişkenlerine iki koordinat ataması yaptık.
Nesneyi oluşturacağımız bir işlev hazırlayalım

Kod:

(defun cizgiciz (n1 n2 /)
  (entmake
    (list (cons 0 "LINE")
  (cons 10 n1)
  (cons 11 n2))))


Yukarıdaki işlevi iki nokta arasında çizgi çizmek istediğimiz her yerde kullanabiliriz.

yapmamız gereken;

Kod:

(cizgiciz p1 p2)



Bu komut ile örneğin 50 tane çizgi çizilecek ise, sürekli tekraralamak yerine basit bir tekrar ile hep kodları kısaltabilir hemde hakimiyeti sağlarsınız.


Lisp yazarken en önemli şey ise, doğru kurgu ve doğru kodlama.
Kurgunuzu yanlış yaparsanız kodları sil baştan yazmak zorunda kalabilirsiniz...


Başarılar...

09.01.2019 08:25    

dkeskin
Teşekkürler sizin gibi yetkililer olduğu sürece bu sayfa inşallah daha iyi yerlere gelir.Sizin yardıma ihtiyacı olanlara hemen yardım etmeniz çok hoşuma gidiyor ve ben de elimden geldiğince başkalarına yardım etmeye ve bu forumda aktif olmaya çalışacağım.

> 1 <
Copyright © 2004-2022 SQL: 1.107 saniye - Sorgu: 47 - Ortalama: 0.02355 saniye