Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Python Vs Ruby ( again
Brad Phelan
7/26/2007 2:41:00 PM
There was a discussion a while back in trying to get Ruby looking like
Python using an indentation scheme and I posted a possible solution to that
http://xt...
/snippets/pos...
There is also the Lazibi library ( sorry no link .. google it ) that
does a similar thing.
I thought to be fair I'd have a hack in the opposite direction and see
if I could emulate Ruby's block notation in Python without
preprocessing. Turns out that you can get pretty close though if a bit
ugly due to the statement vs expression nature of the language.
Note that in python a return statement from within a function with a
yield statement is illegal some some ugly workaround is necessary.
A few short examples .....
from ruby import rubyfi
#Ruby's inject method
@rubyfi
def inject(ret, iter, a = 0):
for x in iter:
a = yield a, x
ret(a)
#Ruby's collect method
@rubyfi
def collect(ret, iter):
r = []
for x in iter:
x = yield x,
r.append(x)
ret(r)
# Do a sum over a range
for r, s, x in inject ( range (1,6), 1 ) :
r(s+x)
print r()
# Generate a list
for r, s, x in inject ( range (1,6), [] ) :
s.append(x*x)
r(s)
print r()
# Collect some items
for r, x in collect ( range (1,6) ) :
r(x+x)
print r()
The library and some details is at
http://xt...
/snippets/pos...
Can this be developed a little further or a little cleaner?
--
Brad Phelan
http://xt...
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Python Vs Ruby ( again
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password