Forum: Ruby Python for Ruby programmers

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Joe Van D. (Guest)
on 2006-03-03 20:29
(Received via mailing list)
Hi,

I need to write a GUI for a vanilla RHEL3 box (with no extra software
installed on it).  I figure Python / pygtk2 is a good choice for this,
as it's installed by default.  (Ruby is 1.6.8 on that box, and
ruby-gnome2 isn't installed).  The GUI will do various RPM-related
things -- it's a program that will examine a machine's configuration
and figure out what additional RPMs need to be installed before a user
can run our software.

I don't know much python, although I did write a small program in it a
few years ago.  Any pointers on where I could get a quick introduction
to it?  I don't need an introduction to programming, I need an
introduction to Python (and preferably from a Rubyist POV).

Joe
Joe Van D. (Guest)
on 2006-03-04 00:49
(Received via mailing list)
On 3/3/06, Joe Van D. <removed_email_address@domain.invalid> wrote:
> I don't know much python, although I did write a small program in it a
> few years ago.  Any pointers on where I could get a quick introduction
> to it?  I don't need an introduction to programming, I need an
> introduction to Python (and preferably from a Rubyist POV).

What's the Ruby equivalent of this?

for f in filter(lambda f: f(-1)>=f(1),
                [lambda x:x, lambda x:x**2, lambda x:x**3]):
    for x in range(-10, 11):
        print x, f(x)
Daniel B. (Guest)
on 2006-03-04 00:55
(Received via mailing list)
Joe Van D. wrote:
>  >
>         print x, f(x)
>

-10.upto(10){ |n| puts "#{n} #{n**2}" }

 >:)

Dan
Logan C. (Guest)
on 2006-03-04 01:20
(Received via mailing list)
On Mar 3, 2006, at 5:47 PM, Joe Van D. wrote:

>> user
>
> for f in filter(lambda f: f(-1)>=f(1),
>                 [lambda x:x, lambda x:x**2, lambda x:x**3]):
>     for x in range(-10, 11):
>         print x, f(x)
>

Well after struggling with mapping the results of the code to the
meaning I came up with this, which is pretty much a "word-for-word"
translation to ruby:

[ lambda { |x| x }, lambda { |x| x**2 }, lambda { |x| x**3 }].select
{ |f| f.call(-1) >= f.call(1) }.each do |f|
    (-10...11).each do |x|
         puts "#{x} #{f.call(x)}"
     end
end
This topic is locked and can not be replied to.