How delete works?

Notices and updates
Locked
Kazimir Majorinc
Posts: 388
Joined: Thu May 08, 2008 1:24 am
Location: Croatia
Contact:

How delete works?

Post by Kazimir Majorinc »

I expected that it deletes symbol from the list of symbols, but it doesn't:
> (set 'delete-me nil)
nil
> (find 'delete-me (symbols))
108
> (delete 'delete-me)
true
> (find 'delete-me (symbols))
108

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Post by Lutz »

It does delete it, but as soon as you use it it is created again, better check for the symbol using a string:

Code: Select all

> (find "delete-me" (map string (symbols)))
108
> (delete 'delete-me)
true
> (find "delete-me" (map string (symbols)))
nil
> 
You can use an extra nil flag in 'sym' to check for existence of a symbol without creating it:

Code: Select all

> (sym "delete-me" MAIN nil)
> nil

Locked