472,145 Members | 1,421 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,145 software developers and data experts.

Pivy problem and some other stuff

Hy Guys

Did anyone manage to install and use Pivy. I'm trying it and cant come
closer to the goal I get the message:
Please set the COIN3DDIR environment variable to your Coin root
directory! ** Aborting **

Familiar to anyone?

And there is anoher question in my mind.
Is there a way to make a list in python which contains a series of
functions. I did'n try it. Something like:
>>>def a():
return 1
>>>def b():
return 2
>>>def c():
return 3
>>>def d():
return 4
>>list=[a(),b(),c(),d()]
list
[1,2,3,4]

I kow that for this kind of stuff this in not neccesarry, but for
other suff it, gets interesting.

Aug 30 '07 #1
7 989
On Thu, 30 Aug 2007 19:21:47 +0000, azrael wrote:
And there is anoher question in my mind.
Is there a way to make a list in python which contains a series of
functions. I did'n try it. Something like:
Why don't you just try!?
>>>>def a():
return 1
>>>>def b():
return 2
>>>>def c():
return 3
>>>>def d():
return 4
>>>list=[a(),b(),c(),d()]
list
[1,2,3,4]
This isn't a list of functions but a list of results of function calls.
If you want the functions in that list then leave off the parentheses,
because those are the "call operator".

In [55]: def a():
....: return 1
....:

In [56]: def b():
....: return 2
....:

In [57]: funcs = [a, b]

In [58]: funcs
Out[58]: [<function a at 0xb7792e2c>, <function b at 0xb779e1ec>]

In [59]: funcs[0]()
Out[59]: 1

In [60]: funcs[1]()
Out[60]: 2

Ciao,
Marc 'BlackJack' Rintsch
Aug 30 '07 #2
azrael a écrit :
Hy Guys

Did anyone manage to install and use Pivy. I'm trying it and cant come
closer to the goal I get the message:
Please set the COIN3DDIR environment variable to your Coin root
directory! ** Aborting **

Familiar to anyone?
I don't even know what Pivy is, but it obviously wants you to set an
environment variable (how you do so depends on your environment - on
most linux distros, and AFAIK on most unix systems, it's usually done in
your ~/.bash_profile file) named COIN3DIR and pointing to a directory !-)
Aug 30 '07 #3
Marc 'BlackJack' Rintsch wrote:
A fine repy
In [57]: funcs = [a, b]
In [58]: funcs
Out[58]: [<function a at 0xb7792e2c>, <function b at 0xb779e1ec>]

In [59]: funcs[0]()
Out[59]: 1

In [60]: funcs[1]()
Out[60]: 2
and a "list comprehension" allows you to call these things no matter how
long the list is.

So after the above:
>>results = [f() for f in funcs]
print results
[1, 2]
Aug 31 '07 #4
Look, what I think about is this.
I'd like to make a multi dimensional list in which evry single element
would represent a function. By looping through the list I would
execute the functions. But not only that, it is possible to experiment
with recoursions.
the return 1 2 and 3 examples are just a examples. Of course that the
thing I'm thinking about is a little bit more complex.

Sep 1 '07 #5
On Aug 30, 8:10 pm, Scott David Daniels <dani...@dsl-only.netwrote:
Marc 'BlackJack' Rintsch wrote:

A fine repy
In [57]: funcs = [a, b]
In [58]: funcs
Out[58]: [<function a at 0xb7792e2c>, <function b at 0xb779e1ec>]
In [59]: funcs[0]()
Out[59]: 1
In [60]: funcs[1]()
Out[60]: 2

and a "list comprehension" allows you to call these things no matter how
long the list is.

So after the above:
>>results = [f() for f in funcs]
>>print results
[1, 2]
You can also use exec, but someone will tell you that the sky is going
to fall if you do. I am one of the ones who think that calling a
function with
results = [f() for f in funcs]
doesn't "work" because it gives a meaningless error message that the
calling line didn't work. There is already enough discussion about
this, so if you use "some_string()" to call a function, wrap it in a
try/except with a traceback.

Sep 2 '07 #6
On Sun, 02 Sep 2007 14:35:00 +0000, Zentrader wrote:
You can also use exec, but someone will tell you that the sky is going
to fall if you do. I am one of the ones who think that calling a
function with
results = [f() for f in funcs]
doesn't "work" because it gives a meaningless error message that the
calling line didn't work.
What meaningless error message are you talking about!?

Ciao,
Marc 'BlackJack' Rintsch
Sep 2 '07 #7
What meaningless error message are you talking about!?
>
Ciao,
Marc 'BlackJack' Rintsch
My mistake. It appears that this is no longer the case. And my
apologies. It was probably in version 2.3 or earlier that this was a
problem. Given the way that the Python community constantly improves
the language, I should have checked first, but "shoulds" don't count.

Sep 2 '07 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Hal Vaughan | last post: by
24 posts views Thread by Charif Lakchiri | last post: by
1 post views Thread by Chump Wad | last post: by
64 posts views Thread by yossi.kreinin | last post: by
5 posts views Thread by Kentor | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.