From: Albert Chou Date: 2003-05-22T07:52:31+09:00 Subject: Re: Need help translating a Python class to Ruby This is a multi-part message in MIME format. ------_=_NextPart_001_01C31FEB.2FB351C4 Content-Type: multipart/alternative; boundary="----_=_NextPart_002_01C31FEB.2FB351C4" ------_=_NextPart_002_01C31FEB.2FB351C4 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Phil, I talked about the attached Python-to-Ruby translation helper script a few weeks ago on the list but never did anything more about it. Please feel free to try it out. It's just a syntactic translation helper, but it sure beats doing everything by hand. Note that you will almost certainly need Python knowledge to complete the translation, but having a lot of the standard stuff done by this script ought to help. Be sure to keep a copy of the original Python script handy to refer to as you complete the translation -- you need to know what the semantics of the original program were in order to faithfully port it! Al -----Original Message----- From: Phil Tomson [mailto:ptkwt@shell1.aracnet.com] Sent: Wednesday, May 21, 2003 3:40 PM To: ruby-talk ML Subject: Need help translating a Python class to Ruby I'm thinking I'm going to need some help translating a Python class into Ruby. It involves communication with another program via pipes (also uses=20 fork, but I'm wondering if threads might be a better choice). If there are any folks out there who know a bit of Python and would be=20 willing to answer a few questions and make suggestions for Ruby=20 equivilents I'd appreciated it - please drop me an email. Phil <>=20 ------_=_NextPart_002_01C31FEB.2FB351C4 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: Need help translating a Python class to Ruby

Phil,

I talked about the attached Python-to-Ruby translation = helper script a few weeks ago on the list but never did anything more = about it.  Please feel free to try it out.  It's just a = syntactic translation helper, but it sure beats doing everything by = hand.  Note that you will almost certainly need Python knowledge to = complete the translation, but having a lot of the standard stuff done by = this script ought to help.  Be sure to keep a copy of the original = Python script handy to refer to as you complete the translation -- you = need to know what the semantics of the original program were in order to = faithfully port it!


Al


-----Original Message-----
From: Phil Tomson [mailto:ptkwt@shell1.aracnet.com<= /A>]
Sent: Wednesday, May 21, 2003 3:40 PM
To: ruby-talk ML
Subject: Need help translating a Python class to = Ruby

I'm thinking I'm going to need some help translating a = Python class into
Ruby.  It involves communication with another = program via pipes (also uses
fork, but I'm wondering if threads might be a better = choice).

If there are any folks out there who know a bit of = Python and would be
willing to answer a few questions and make = suggestions for Ruby
equivilents I'd appreciated it - please drop me an = email.

Phil

<<translate_Python_to_Ruby.ZIP>> =20 ------_=_NextPart_002_01C31FEB.2FB351C4-- ------_=_NextPart_001_01C31FEB.2FB351C4 Content-Type: application/x-zip-compressed; name="translate_Python_to_Ruby.ZIP" Content-Transfer-Encoding: base64 Content-Description: translate_Python_to_Ruby.ZIP Content-Disposition: attachment; filename="translate_Python_to_Ruby.ZIP" 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 AAAAkBMAAAAA ------_=_NextPart_001_01C31FEB.2FB351C4--