On 8/15/13 9:28 AM, Jean Dubois wrote:
Op donderdag 15 augustus 2013 13:42:40 UTC+2 schreef Jason Grout:
On 8/15/13 5:24 AM, Jean Dubois wrote:
> pi = lambda x: pari(x).primepi()
lambda is a way of making a short function without having to name it.
The result of the above line is that pi(x) will call pari(x).primepi().
As David mentioned, the real work is done by Pari here.
More technical documentation for lambda functions is here:
http://docs.python.org/2/tutorial/controlflow.html#lambda-forms
<http://docs.python.org/2/tutorial/controlflow.html#lambda-forms>
The documentation on this url refers to Python's use of lambda.
Unfortunately at this moment it is not totally clear to me what the
inner relationships are between Python and Sage,
therefore I don't know what is relevant for Python and what is relevant
for Sage.
Most everything that is relevant to python is relevant to Sage. When
you interact with Sage, you are basically writing Python code.
What is the utility of "anonymous functions"? In the example I got from
"adventures in group theory" the function is after all named "pi" so
it's no longer anonymous?
Maybe some one could show the benefit of using this lamba-syntax by
defining a function "classically" and by defining it "the lambda way"
This function would have been better to define in the normal Python way:
def pi(x):
return pari(x).primepi()
Anonymous functions are nice when you don't want to go through the
hassle of thinking of a name, like suppose you want to sort a list of
numbers based on the cosine of the number:
sorted([1,2,3,4,5], key=lambda x: cos(x))
Thanks,
Jason
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/groups/opt_out.