Favorite non-python language trick?

Lowell Kirsh lkirsh at cs.ubc.ca
Fri Jun 24 11:32:49 CEST 2005


Check out lisp macros. Other languages have macro systems but none 
compare in power to lisp's. They are so powerful in lisp because lisp is 
the only language where the source code closely resembles its parse tree 
(created within the compiler/interpreter).

Lowell

Joseph Garvin wrote:
> As someone who learned C first, when I came to Python everytime I read 
> about a new feature it was like, "Whoa! I can do that?!" Slicing, dir(), 
> getattr/setattr, the % operator, all of this was very different from C.
> 
> I'm curious -- what is everyone's favorite trick from a non-python 
> language? And -- why isn't it in Python?
> 
> Here's my current candidate:
> 
> So the other day I was looking at the language Lua. In Lua, you make a 
> line a comment with two dashes:
> 
> -- hey, this is a comment.
> 
> And you can do block comments with --[[ and ---]].
> 
> --[[
> hey
> this
> is
> a
> big
> comment
> --]]
> 
> This syntax lets you do a nifty trick, where you can add or subtract a 
> third dash to change whether or not code runs:
> 
> --This code won't run because it's in a comment block
> --[[
> print(10)
> --]]
> 
> --This code will, because the first two dashes make the rest a comment, 
> breaking the block
> ---[[
> print(10)
> --]]
> 
> So you can change whether or not code is commented out just by adding a 
> dash. This is much nicer than in C or Python having to get rid of """ or 
> /* and */. Of course, the IDE can compensate. But it's still neat :)



More information about the Python-list mailing list