Jump to content

Selecting all unclosed polylines


Rooster

Recommended Posts

I've been using several simple lisps like the one below to select various different objects using their object entities. What I'm wondering is can anyone help me to work out how to similarly select all unclosed (open) polylines? I've looked for an open/closed object entity but can't find one - does anyone have an answer?

 

;FILTERS TEXT BY STYLE
(defun c:fts(/ cSet)

 (setq cSet(ssget
              '((0 . "TEXT,MTEXT")(7 . "Standard"))
            ); end ssget
); end setq
 
 (if cSet
   (progn
     (princ(strcat "\n" (itoa(sslength cSet)) " found."))
     (sssetfirst nil cSet)
     ); end progn
    (princ "\nNothing found. ")
   ); end if
 (princ)
 ); end of c:fts

Link to comment
Share on other sites

  • Replies 31
  • Created
  • Last Reply

Top Posters In This Topic

  • Lee Mac

    14

  • wkplan

    9

  • ollie

    4

  • Rooster

    3

Top Posters In This Topic


flag value 1 = closed
flag value 0 = open
 (setq sset (ssget "x" (list(cons 0 "lwpolyline")(cons 70 flag))))

using your method

 

(setq cSet(ssget
              '((0 . "lwpolyline")(7 . "Standard")(70 . 1)
            ); end ssget
   ); end setq 

 

hope that helps

Link to comment
Share on other sites

Thanks guys - just struggling a little with my limited knowldge of LISP to put that all together:

 

;FILTERS UNCLOSED POLYLINES
(defun c:fopl(/ cSet)

;flag value 1 = closed
;flag value 0 = open
(setq sset (ssget "x" (list(cons 0 "lwpolyline")(cons 70 flag))))

(setq cSet(ssget
              '((0 . "lwpolyline")(70 . 1)
            ); end ssget
   ); end setq
 
 (if cSet
   (progn
     (princ(strcat "\n" (itoa(sslength cSet)) " found."))
     (sssetfirst nil cSet)
     ); end progn
    (princ "\nNothing found. ")
   ); end if
 (princ)
 ); end of c:fopl

???

Link to comment
Share on other sites

Ollies first example was just a reference to help you :)

 

This is all that is needed:

 

;FILTERS UNCLOSED POLYLINES
(defun c:fopl(/ cSet)

(setq cSet(ssget "_X" '((0 . "lwpolyline")(70 . 1))
            ); end ssget
   ); end setq
 
 (if cSet
   (progn
     (princ(strcat "\n" (itoa(sslength cSet)) " found."))
     (sssetfirst nil cSet)
     ); end progn
    (princ "\nNothing found. ")
   ); end if
 (princ)
 ); end of c:fopl

Link to comment
Share on other sites

Just out of interest, this is what it would look like in VL:

 

[b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:GetLwClsd [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] sSet cSet[b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] sSet [b][color=RED]([/color][/b][b][color=BLUE]vla-get-SelectionSets[/color][/b]
              [b][color=RED]([/color][/b][b][color=BLUE]vla-get-ActiveDocument[/color][/b]
                [b][color=RED]([/color][/b][b][color=BLUE]vlax-get-acad-object[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] cSet
   [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]vl-catch-all-error-p[/color][/b]
            [b][color=RED]([/color][/b][b][color=BLUE]vl-catch-all-apply[/color][/b]
              [b][color=DARKRED]'[/color][/b][b][color=BLUE]vla-item[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] sSet [b][color=#ff00ff]"cSet"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
          [b][color=RED]([/color][/b][b][color=BLUE]vlax-invoke[/color][/b] sSet [b][color=DARKRED]'[/color][/b]Add [b][color=#ff00ff]"cSet"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
         [b][color=RED]([/color][/b][b][color=BLUE]t[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-delete[/color][/b]
              [b][color=RED]([/color][/b][b][color=BLUE]vla-item[/color][/b] sSet [b][color=#ff00ff]"cSet"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
          [b][color=RED]([/color][/b][b][color=BLUE]vlax-invoke[/color][/b] sSet [b][color=DARKRED]'[/color][/b]Add [b][color=#ff00ff]"cSet"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]vla-select[/color][/b] cSet [color=Blue][b]acSelectionSetAll[/b][/color] [b][color=BLUE]nil[/color][/b] [b][color=BLUE]nil[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-variant[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray-fill[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-safearray[/color][/b]
         [color=Blue][b]vlax-vbInteger[/b][/color] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] [b][color=#009900]70[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-variant[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray-fill[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-safearray[/color][/b]
         [color=Blue][b]vlax-vbVariant[/b][/color] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#ff00ff]"LWPOLYLINE"[/color][/b] [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]zerop[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-count[/color][/b] cSet[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#ff00ff]"\n"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]itoa[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-Count[/color][/b] cSet[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=#ff00ff]" found."[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]vla-Highlight[/color][/b] cSet [b][color=Blue]:vlax-true[/color][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\n<< Nothing Found >>"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]vla-delete[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]vla-item[/color][/b] sSet [b][color=#ff00ff]"cSet"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   

Link to comment
Share on other sites

Hello all,

 

is there a way to apply a filter-filter?

 

In the way the ssget-function will only check on selected layers...

 

At the moment the function will count all open/closed polylines (depends on (70.x), even if the layer ist frozen/locked.

 

regards

Wolfgang

Link to comment
Share on other sites

I suppose you would have to filter the set after it has been collected.

 

In AutoLISP, such functions as ssdel would work, in my VL example:

 

[b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:GetLwClsd [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] sSet doc lays cSet oLst[b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] sSet [b][color=RED]([/color][/b][b][color=BLUE]vla-get-SelectionSets[/color][/b]
              [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] doc
                [b][color=RED]([/color][/b][b][color=BLUE]vla-get-ActiveDocument[/color][/b]
                  [b][color=RED]([/color][/b][b][color=BLUE]vlax-get-acad-object[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
       lays [b][color=RED]([/color][/b][b][color=BLUE]vla-get-layers[/color][/b] doc[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] cSet
   [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]vl-catch-all-error-p[/color][/b]
            [b][color=RED]([/color][/b][b][color=BLUE]vl-catch-all-apply[/color][/b]
              [b][color=DARKRED]'[/color][/b][b][color=BLUE]vla-item[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] sSet [b][color=#ff00ff]"cSet"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
          [b][color=RED]([/color][/b][b][color=BLUE]vlax-invoke[/color][/b] sSet [b][color=DARKRED]'[/color][/b]Add [b][color=#ff00ff]"cSet"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
         [b][color=RED]([/color][/b][b][color=BLUE]t[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-delete[/color][/b]
              [b][color=RED]([/color][/b][b][color=BLUE]vla-item[/color][/b] sSet [b][color=#ff00ff]"cSet"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
          [b][color=RED]([/color][/b][b][color=BLUE]vlax-invoke[/color][/b] sSet [b][color=DARKRED]'[/color][/b]Add [b][color=#ff00ff]"cSet"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]vla-select[/color][/b] cSet [color=Blue][b]acSelectionSetAll[/b][/color] [b][color=BLUE]nil[/color][/b] [b][color=BLUE]nil[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-variant[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray-fill[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-safearray[/color][/b]
        [color=Blue][b] vlax-vbInteger[/b][/color] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] [b][color=#009900]70[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-variant[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray-fill[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-safearray[/color][/b]
         [b][color=Blue]vlax-vbVariant[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#ff00ff]"LWPOLYLINE"[/color][/b] [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]zerop[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-count[/color][/b] cSet[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]vlax-for[/color][/b] Obj cSet
       [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] lay [b][color=RED]([/color][/b][b][color=BLUE]vla-item[/color][/b] lays [b][color=RED]([/color][/b][b][color=BLUE]vla-get-layer[/color][/b] Obj[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]or[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [color=Blue][b]:vlax-true[/b][/color] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-lock[/color][/b] lay[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
               [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=Blue]:vlax-true[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-freeze[/color][/b] lay[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
         [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] oLst [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] Obj oLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] oLst
       [b][color=RED]([/color][/b][b][color=BLUE]vla-RemoveItems[/color][/b] cSet
         [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-variant[/color][/b]
           [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray-fill[/color][/b]
             [b][color=RED]([/color][/b][b][color=BLUE]vlax-make-safearray[/color][/b]
               [b][color=Blue]vlax-vbObject[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]0[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]1-[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]length[/color][/b] oLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] oLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#ff00ff]"\n"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]itoa[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-Count[/color][/b] cSet[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=#ff00ff]" found."[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]vla-Highlight[/color][/b] cSet [b][color=Blue]:vlax-true[/color][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\n<< Nothing Found >>"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]vla-delete[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]vla-item[/color][/b] sSet [b][color=#ff00ff]"cSet"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   

Link to comment
Share on other sites

Thanks Wolfgang,

 

There are much much shorter ways to accomplish the same thing in AutoLISP, but I just like to vary things a little.

 

In AutoLISP:

 

(defun c:GetLwClsd (/ ss lay)
 (if (setq ss (ssget "_X" '((0 . "LWPOLYLINE") (70 . 1))))
   (progn
     (foreach ent (mapcar 'cadr (ssnamex ss))
       (setq lay (tblsearch "LAYER"
                   (cdr (assoc 8 (entget ent)))))
       (if (or (eq 1 (logand 1 (cdr (assoc 70 lay))))
               (eq 4 (logand 4 (cdr (assoc 70 lay)))))
         (ssdel ent ss)))
     (princ (strcat "\n" (itoa (sslength ss)) " found."))
     (sssetfirst nil ss))
   (princ "\n<< Nothing Found >>"))
 (princ))

 

Lee

Link to comment
Share on other sites

Another way of filtering is an extension to my first post

 

(setq sset(ssget "X" ' ((-4  . "<AND)..other group data (-4 ."AND>"))))

 

You can also apply "" and "" with the same principal using almost any variation

Link to comment
Share on other sites

Hello all,

 

is there a way for checking polylines only at the current layer?

(This would make sense to me, because there might be cases where only the working-layer is needed to check)

 

@Lee: i like your autolisp-variant, because it is shorter,

not fully understanding both of them...

 

@ollie: same point, how would you define "other group data"?

 

regards

 

Wolfgang

Link to comment
Share on other sites

Hello all,

 

is there a way for checking polylines only at the current layer?

(This would make sense to me, because there might be cases where only the working-layer is needed to check)

 

@Lee: i like your autolisp-variant, because it is shorter,

not fully understanding both of them...

 

@ollie: same point, how would you define "other group data"?

 

regards

 

Wolfgang

 

An example of this could be

 

 (setq sset (ssget "X" ' ((-4 . "<AND")
                                  (0 . "ARC")
                                  (8 . "Example layer")
                                  (40 . 15)
                                  (-4 . "AND>"))))

 

the above would only select arcs on Example layer that have a radius of 15

 

 

The dxf reference in the vlisp editor help contains information on each entity types dxf group codes

Link to comment
Share on other sites

Bear in mind that not all polylines that are joined start to end are "closed"

 

Lee, that can be true for LWPOLYLINEs not heavy POLYLINES.

 

Also, the filter (70 . 0) excludes splined, curved fit, and 3D plines. The (0 . "LWPOLYLINE") excludes heavy POLYLINES. -David

Link to comment
Share on other sites

Something like this for a Current layer filter:

 

(defun c:GetLwClsd (/ ss lay)
 (if (setq ss (ssget "_X" (list '(0 . "LWPOLYLINE")
                                (cons 8 (getvar "CLAYER")) '(70 . 1))))
   (progn
     (foreach ent (mapcar 'cadr (ssnamex ss))
       (setq lay (tblsearch "LAYER"
                   (cdr (assoc 8 (entget ent)))))
       (if (or (eq 1 (logand 1 (cdr (assoc 70 lay))))
               (eq 4 (logand 4 (cdr (assoc 70 lay)))))
         (ssdel ent ss)))
     (princ (strcat "\n" (itoa (sslength ss)) " found."))
     (sssetfirst nil ss))
   (princ "\n<< Nothing Found >>"))
 (princ))

 

FYI, you needn't use the -4 filters in this case, as all criteria in the filter list need to be met by the object.

Link to comment
Share on other sites

Lee, that can be true for LWPOLYLINEs not heavy POLYLINES.

 

Also, the filter (70 . 0) excludes splined, curved fit, and 3D plines. The (0 . "LWPOLYLINE") excludes heavy POLYLINES. -David

 

Thanks David, I was unaware of that point :)

Link to comment
Share on other sites

Lee and ollie,

 

thank you again for your time and explanations.

 

After reading many docs, I tried to insert a simple (8 . CLAYER), now I see why this failed.

(Had to read the help file again, lerned something about the cons-statement)

 

One question again:

In the previous version, there was:

 

'((0 . "LWPOLYLINE") (70 . 1))))

 

Now I read:

 

(if (setq ss (ssget "_X" (list '(0 . "LWPOLYLINE")

(cons 8 (getvar "CLAYER")) '(70 . 0))))

 

I knew the second ' is necessary, because otherwise te lisp fails, but I have no idea why?

A help search for the ' doesn't work, so what in the heck is it for?

 

regards

Wolfgang

Link to comment
Share on other sites

The apostrophe means that the statement following it is not evaluated by the interpreter (the thing that turns the code into computer talk), and is just taken at "face value".

 

hence:

 

'((0 . "LWPOLYLINE") (8 . "0"))

Is correct as there are no functions within the statement that need to be evaluated.

 

However:

 

'((0 . "LWPOLYLINE") (cons 8 "0"))

Is incorrect, as the "cons" statement will not be evaluated.

 

So, we can use:

 

(list '(0 . "LWPOLYLINE") (cons 8 "0"))

In which case, the first statement is not evaluated, but just taken as an argument for the "list" function, however, the second statement is now evaluated.

 

You can see other examples when using mapcar:

 

(mapcar '+ '(1 2 3) '(4 5 6))

The apostrophe in front of the "+" function, indicates that this function is to be treated as an argument for the mapcar function, instead of being evaluated on its own.

 

If you are still unsure, just ask.

 

Lee

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...