ToString

Uma função complementar a "vl-princ-to-string", "itoa", "rtos":
(defun tostring  (v / tp spc tmp)
  (
SETQ tp (type v))
  (
cond ((= tp 'STR) (strcat "\"" v "\""))
        ((
= tp 'REAL) (rtos v 2 16))
        ((
= tp 'INT) (itoa v))
        ((
null v) "nil")
        ((
listp v)
         (
setq spc "")
         (
setq tmp "")
         (
foreach x  v
           (setq tmp
              (strcat tmp
                      spc

                      (if (listp x)
                        (
if (listp (cdr x))
                          (
tostring x)
                          (
strcat "("
                                  (tostring (car x))
                                  " . "
                                  (tostring (cdr x))
                                  ")"))
                        (
strcat (tostring x))))
                 spc " "))
         (
strcat "(" tmp ")"))
        (
t (vl-princ-to-string v))))


Uso: (tostring qualquer_coisa)
isso irá transformar qualquer coisa que seja passado a ela em string, num formato que possa ser usado pela função "write-line", preservando a forma como aparece a no vlide
pode ser qualquer coisa, lista, numero, texto...

LinkWithin

Related Posts Plugin for WordPress, Blogger...