From: Logan Capaldo Date: 2006-03-04T08:19:19+09:00 Subject: Re: Python for Ruby programmers On Mar 3, 2006, at 5:47 PM, Joe Van Dyk wrote: > On 3/3/06, Joe Van Dyk wrote: >> 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). > > 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) > 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