13.09.2022 06:58    

recep_xyz
satır nolu Basic komutlarında olan Gosub 500 ve goto 600 yönlendirmeleri Autolisp fonksiyonlarında nasıl yönlendirmek doğru olur.
(Ben burada sadece bir çözüm bulabildim alt fonksiyonlar oluşturarak buda formülasyonlarda formül tekrarları ile veya çok değişken tanımlarıyla çözülebiliyor. Lisp bayağı uzuyor.)
burada goto ile ara satırdaki formüleri atlayarak 600 satır veya etiketinden işleme devam etmesini sağlamak
gosub 500 ise kaldığı noktadan 500 satır veya etikete giderek işlemleri yapıp değişkenleri verileri yükleyip kaldığı kısıma geri gelip formüle devam etmesini sağlamak.
İsteğim AutoLisp üzerinde hangi fonksiyonlarla ve yöntemlerle bu işlemler gerçekleştirilebilir. Bu İslemlerin yöntemi nedir? Kısa öz olarak belirtirseniz sevinirim teşekkürler.

13.09.2022 10:55    

ehya
Merhaba recep_xyz

Sorunu basic komutlarıyla kıyaslamak yerine yapmak istediğinizi anlatırmısınız?

17.09.2022 08:54    

akcan
Günümüz BASIC dillerinde Goto ve GoSub komutları halen kullanılabiliyor ancak kullanılması tavsiye edilmiyor. Sadece geriye uyum olsun diye tamamen terk edilmemiş.
Çünkü kod yazımını, geliştilmesini ve okunmasını zorlaştırıyor. Modüler yapıyı bozuyor. Taşınabilir ve yeniden kullanılabilir özelliğini de zorlaştırır.
Yazılımda spagetti kod denilen bir kavram var. Goto kullanmak buna neden olur.
Bildiğim kadarıyla autolispde GOTO veya benzer bir işlev yok. Zaten satır numarası ve satır etiketi de yok.
Gosub için fonksiyon(DEFUN) kullanabilirsiniz ancak GOTO için bir çözüm bilmiyorum.

akcan (25.09.2022 10:44 GMT)

19.09.2022 07:21    

recep_xyz
Verdiğiniz bilgiler için teşekkürler
Gosub için alt fonksiyonlar Defun xx() kullanmaktayım. burada bir sorun yok.
Goto için Autolisp te bulamadığımdan dolayı if koşulunda formüller bayağı tekrarlanmak zorunda kaldı sıçrama yapamadığımdan 8 dallanmada then else de aynı formüller farklı değerlere göre kendi bulunduğu if komutuna girmek zorunda oldu.Kısaca oluşabilecek her koşula if oluşması gereklilik oldu örnek trigonometride açı kavramı 0 ila 360 derece olmasına rağmen bu iş matematikte 0 ila 90 derece arası çözülüyor. bu bile 4 koşul oluyor , 0 bölünme hatası 2 koşul ,2koşulda bölge tayini toplamda sekiz koşul bu semtte böyle birde sayının negatif ve 360 derecenin katlarının çıkarılması durumu acının doğru bulunması bile 10 koşula tekabül ediyor. goto (sıçrama) kullanabilseydik bu durumda formülasyon %60 azaltılabilirdi. Bu arada bir şey soracağım if iç içe kullanılabiliyor mu? Kullanılıyorsa kaç defa ?

20.09.2022 17:44    

Travaci
Anlayabileceğemiz bir dille örneklendirebilirseniz yardımcı olmaya çalışırız.
İf ile ilgili herhangi bi sınırlama yok, if yerine duruma göre cond kullanabilirsiniz.

> 1 <
Copyright © 2004-2022 SQL: 0.992 saniye - Sorgu: 60 - Ortalama: 0.01653 saniye