16.04.2023 05:27    

k005
Merhaba arkadaşlar;

aşağıdaki lisp kodunda "carpan" isminde bir değişken ekliyorum.

bu hatayı alıyorum. : ; error: bad argument type: numberp: CARPAN

carpan yerine "0.60" gibi bir değer yazdığımda hatasız çalışıyor...

carpan a değer atamasının doğru olması için, lisp kodunu nasıl değiştirmeliyim ?


yardımcı arkadaşa şimdiden teşekkürler.


Kod:

  (setq carpan (getreal "\nKalıp yüksekliğini giriniz (m) : "))
       
(setq line_ename (car (entsel "\nKalıp Rengini seçiniz >"))
  line_enames_list (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget (list (cons 0 "line") (assoc 62 (entget line_ename )))))))
  total_length 0.0
          color_assoc_list '(
     
  (1 "RED" 0.25)
(2 "YELLOW" 0.30)
(3 "GREEN" 0.25)
(4 "CYAN" 0.12)
(5 "BLUE" carpan)

     
)
      ...
      ...
      ...
      ...
      ...
       

16.04.2023 16:55    

ProhibiT
(list direktifi ile ' (yani Quote) aynı sonucu üretmez.

Kod:

(setq color_assoc_list
       '((1 "RED" 0.25)
         (2 "YELLOW" 0.30)
         (3 "GREEN" 0.25)
         (4 "CYAN" 0.12)
         (5 "BLUE" carpan)))
Biçiminde yazılırsa elde edilecek sonuç:
((1 "RED" 0.25) (2 "YELLOW" 0.3) (3 "GREEN" 0.25) (4 "CYAN" 0.12) (5 "BLUE" CARPAN)) olacaktır. Yani değişkenin değeri değil adı elde edilecektir.

Bu bölümü
Kod:

(setq color_assoc_list
       (append
         '((1 "RED" 0.25)
           (2 "YELLOW" 0.30)
           (3 "GREEN" 0.25)
           (4 "CYAN" 0.12))
           (append (list (list 5 "BLUE" carpan)))))
olarak yazarsak:
((1 "RED" 0.25) (2 "YELLOW" 0.3) (3 "GREEN" 0.25) (4 "CYAN" 0.12) (5 "BLUE" 0.6)) elde edilir.

Bunu aklıma ilk geldiği gibi yazdım, başka türlü de yazılabilir elbette. Bununla birlikte, algoritmadan kaynaklanan bir sıkıntı olduğunu düşünüyorum. Ne demiş atalarımız; "Don't create the problem, than try to resolve them."
Bu konular kitabımızın
108. Sayfasında: List Manipulation Functions - Liste Düzenleme İşlevleri
141. Sayfasında: String Handling Functions - Karakter Dizisi Düzenleme İşlevleri
160. Sayfasında: Symbol Handling Functions - Sembol Düzenleme İşlevleri
bölümlerinde ayrıntılı örneklerle anlatılmış, açıklanmıştır.

Kolay gelsin.

ProhibiT (27.04.2023 07:00 GMT)

17.04.2023 06:23    

k005
Hocam cevap için çok teşekkür ederim. bahsettiğiniz sayfalara bakacağım.
Kod:

color_assoc_list
(append
'((
(append (list (list 1 "RED"    carpan)))
(append (list (list 2 "YELLOW" carpan)))
(append (list (list 3 "GREEN" carpan)))
(append (list (list 4 "CYAN" carpan)))
(append (list (list 5 "BLUE" carpan))
(append (list (list 6 "MAGENTA" carpan)))
(append (list (list 7 "WHITE" carpan)))
(append (list (list 8 "DARK GREY" carpan)))
(append (list (list 9 "GREY" carpan)))
)))

Bu şekilde düzenledim. Fakat aşağıdaki hatayı alıyorum.

; error: bad argument type: numberp: nil

k005 (17.04.2023 06:42 GMT)

17.04.2023 07:03    

ehya
Selam K005

ilk paylaştığın kodu düzenledim.
Bunu bi incele istersen..

Kod:

(setq carpan (getreal "\nKalıp yüksekliğini giriniz (m) : "))
(setq line_ename       (car (entsel "\nKalıp Rengini seçiniz >"))
      line_enames_list (vl-remove-if
'listp
(mapcar
   'cadr
   (ssnamex
     (ssget (list (cons 0 "line")
  (assoc 62 (entget line_ename))
    )
     )
   )
)
       )
      total_length     0.0
      color_assoc_list (list
'(1 "RED" 0.25)
'(2 "YELLOW" 0.30)
'(3 "GREEN" 0.25)
'(4 "CYAN" 0.12)
(list 5 "BLUE" carpan))

)

17.04.2023 07:13    

k005
Selam Hocam.
Yukarıdaki koda ;
'((255 "default" 0.01))
bunu ekleyerek sorunu çözdüm...
Kod:

          color_assoc_list
          (append
          '((255 "default" 0.01))
   (append (list (list 1 "RED " carpan)))
           (append (list (list 2 "YELLOW " carpan)))
           (append (list (list 3 "GREEN " carpan)))
           (append (list (list 4 "CYAN " carpan)))
           (append (list (list 5 "BLUE " carpan)))
   (append (list (list 6 "MAGENTA " carpan)))
           (append (list (list 7 "WHITE " carpan)))
           (append (list (list 8 "DARK GREY " carpan)))
           (append (list (list 9 "GREY " carpan)))
)

sizin göndermiş olduğunuz koda bakacağım. Teşekkür ediyorum.


*******************************************************

color_assoc_list (list
..
..
..
(list 5 "BLUE" carpan))

bu şekilde değiştirdim. teşekkürler

k005 (17.04.2023 08:36 GMT)

> 1 <
Copyright © 2004-2022 SQL: 1.306 saniye - Sorgu: 63 - Ortalama: 0.02073 saniye