The template:
#def printArg($arg) The argument is $arg. #end def My method returned $printArg(5).
The output:
My method returned The argument is 5. .
Hmm, not exactly what we expected. The method returns a trailing newline
because we didn't end the last line with #slurp. So the second
period (outside the method) appears on a separate line.
The #def generates a method .printArg whose structure is similar
to the main method:
def printArg(self,
arg,
trans=None,
dummyTrans=False,
VFS=valueFromSearchList,
VFN=valueForName,
getmtime=getmtime,
currentTime=time.time):
"""
Generated from #def printArg($arg) at line 1, col 1.
"""
if not trans:
trans = DummyTransaction()
dummyTrans = True
write = trans.response().write
SL = self._searchList
filter = self._currentFilter
globalSetVars = self._globalSetVars
########################################
## START - generated method body
write('The argument is ')
write(filter(arg)) # generated from '$arg' at line 2, col 17.
write('.\n')
########################################
## END - generated method body
if dummyTrans:
return trans.response().getvalue()
else:
return ""
When .printArg is called from a placeholder, only the arguments the user
supplied are passed. The other arguments retain their default values.