[#387246] newbie question — sunny parker <info@2020proj.com>

i am coming from php and dont seem to quite understand how ruby works

13 messages 2011/09/01

[#387330] installing naive bayes classifier — aya abdelsalam <ayoya_91@...>

Hello

10 messages 2011/09/02

[#387344] Beginner needing help - Writing right-angle triangle program — Kane Williams <theburrick@...>

I've been going through a Haskell tutorial (Just to see what it's like)

12 messages 2011/09/03

[#387356] Which version should I download? — Vladimir Van Bauenhoffer <cluny_gisslaren@...>

Im new to programming and Im thinking of downloading and starting with

17 messages 2011/09/03

[#387392] loops problem — jack jones <shehio_22@...>

for (j = @array.length ; j > counter ; j = j-1) # counter is a variable

13 messages 2011/09/04

[#387469] posts on Unix systems programming — Eric Wong <normalperson@...>

I would like to do a series of mailing list posts on the subject of Unix

28 messages 2011/09/06

[#387530] Unexpected behavior of Ruby array — Suvankar Satpati <suvankar.17@...>

I was going through the exercises at http://rubykoans.com/ and got

11 messages 2011/09/08

[#387544] Executing the output of a look — dwight schrute <spambocks@...>

Hi,

14 messages 2011/09/08

[#387586] Creating a hash from two arrays — simon harrison <simonharrison.uk@...>

Hi. Can anyone help with this? I'd like to end with a hash like so:

15 messages 2011/09/09

[#387596] newbie ruby installation malloc issue — "mark e." <mark_f_edwards@...>

hi all -

12 messages 2011/09/09

[#387614] how to write data in binary to a file? — frank hi <yw_hi@163.com>

Hi,

11 messages 2011/09/10

[#387646] How do I make output generate a float without an excess numbers of decimal places? — Kane Williams <theburrick@...>

For example, my current code is

11 messages 2011/09/11

[#387725] Any downsides to writing paranthesises? — Vladimir Van Bauenhoffer <cluny_gisslaren@...>

Im a newbie programmer who is trying to learn Ruby after having just

18 messages 2011/09/12

[#387811] Get interpreter path — Michal Suchanek <hramrach@...>

Hello,

26 messages 2011/09/14
[#387842] Re: Get interpreter path — Phillip Gawlowski <cmdjackryan@...> 2011/09/14

On Wed, Sep 14, 2011 at 3:35 PM, Michal Suchanek <hramrach@centrum.cz> wrot=

[#387844] Re: Get interpreter path — Michal Suchanek <hramrach@...> 2011/09/14

On 14 September 2011 20:47, Phillip Gawlowski <cmdjackryan@gmail.com> wrote:

[#387814] Tough Ruby Homework — Rory Pascua <rorypascua@...>

I'm trying to take a long piece of text, find a word, and get that word

18 messages 2011/09/14

[#387853] Can I Safely Use Rubinius While Learning? — Aaron Jackson <jacksonaaronc@...>

Greetings,

18 messages 2011/09/15

[#387915] Some newbie questions — Vladimir Van Bauenhoffer <cluny_gisslaren@...>

I got some newbie questions which I would very much appreciate if

14 messages 2011/09/15

[#388003] Ruby Speed Question — Kevin Anon <oblivious.sage@...>

Wrote my first Ruby program recently for a class assignment where we had

12 messages 2011/09/18

[#388078] appending \n to each element in an array — Joe Collins <joec_49@...>

I have an array

13 messages 2011/09/20

[#388123] Turning on a special program at special time and turning off the computer at another special time — "amir e." <aef1370@...>

I decided to write a program in RUBY wherein these items have been done

11 messages 2011/09/21
[#388124] Re: Turning on a special program at special time and turning off the computer at another special time — andrew mcelroy <sophrinix@...> 2011/09/21

That sounds like a program a special program a terrorist would write. Are

[#388198] Conditional statements with multiple arguments — "Thomas B." <sinixlol@...>

Good afternoon everyone,

18 messages 2011/09/24

[#388203] Ruby 1.9.3 RC1 is out — "Yuki Sonoda (Yugui)" <yugui@...>

-----BEGIN PGP SIGNED MESSAGE-----

19 messages 2011/09/24
[#388208] Re: [ANN] Ruby 1.9.3 RC1 is out — Quintus <sutniuq@...> 2011/09/24

-----BEGIN PGP SIGNED MESSAGE-----

[#388209] Re: [ANN] Ruby 1.9.3 RC1 is out — Chris White <cwprogram@...> 2011/09/24

[#388214] Re: [ANN] Ruby 1.9.3 RC1 is out — Quintus <sutniuq@...> 2011/09/24

-----BEGIN PGP SIGNED MESSAGE-----

[#388216] Re: [ANN] Ruby 1.9.3 RC1 is out — Yusuke Endoh <mame@...> 2011/09/24

Hello,

[#388248] Looking for better/familiar approach to command line opts — "Perl J." <perljunkie@...>

So I guess the warning to the reader upfront is... I'm a bit of a Perl

14 messages 2011/09/25

[#388333] Get all classes from a list of files — Jeroen van Ingen <jeroeningen@...>

I have a list of ruby files. I would like to create objects from all

11 messages 2011/09/28

[#388342] Ruby Syntax @keywords ||= [ ] — Bhavesh Sharma <sharmabhavesh@...>

Sorry if this comes across as a dumb question, but what does the

11 messages 2011/09/28

[#388366] IO.readlines will not accept variable with file name Why? — Joda jenson <jodajen2@...>

I am fairly new to Ruby and I am stuck on this. Would someone have a

13 messages 2011/09/29
[#388368] Re: IO.readlines will not accept variable with file name Why? — Robert Klemme <shortcutter@...> 2011/09/29

On Thu, Sep 29, 2011 at 11:14 AM, Joda jenson <jodajen2@yahoo.com> wrote:

Re: ripper on array access operation

From: Justin Collins <justincollins@...>
Date: 2011-09-02 05:54:28 UTC
List: ruby-talk #387300
On 09/01/2011 06:57 PM, Michael Edgar wrote:
> On Sep 1, 2011, at 9:37 PM, Justin Collins wrote:
>
>> For what I use it for, I don't care about the exact syntax used when they mean the same thing, and the fewer node types I need to check for, the better.
> I suspect this is actually only true at the margins, which is why parse trees are valuable and why I argue the corners RubyParser cuts are arbitrary and silly.
>
> Would you prefer that RubyParser turn "@foo = bar" into a call to "instance_variable_set"?

Kind of... :) But "instance_variable_set" might have a different meaning 
than "@foo = bar". Whereas, as far as I know, "a[]" and "a.[]()" will 
always be the same.

> Or "class A<  B; end" into a series of conditions, constant lookups, assignments, "Class.new(B)", and so on?

I think this might be going in the other direction (but you may also be 
correct). In "a[]" vs. "a.[]()", RubyParser makes it easier because I 
only have to look for a call to "[]". How the call is represented in the 
actual code is not important (to me!). If it were always valid to assume 
that the above-mentioned conditions, lookups, etc., would mean the same 
as "class A < B; end" then I (in my case!) would not mind if I just got 
back something representing "class A < B; end". In other words, the 
reverse of what you are suggesting.

> Should "class<<  foo; end" turn into "foo.singleton_class.class_eval do.. end"?
>
> Michael Edgar
> adgar@carboni.ca
> http://carboni.ca/

Will they always mean exactly the same thing? There are very few cases I 
can think of where two bits of Ruby code will _always_ be the same 
thing, because you can override nearly anything.

Here's another case:

ruby-1.9.2-p290 :003 > RubyParser.new.parse "!a"
  => s(:not, s(:call, nil, :a, s(:arglist)))
ruby-1.9.2-p290 :004 > RubyParser.new.parse "not a"
  => s(:not, s(:call, nil, :a, s(:arglist)))
ruby-1.9.2-p290 :005 > Ripper.sexp "!a"
  => [:program, [[:unary, :!, [:var_ref, [:@ident, "a", [1, 1]]]]]]
ruby-1.9.2-p290 :006 > Ripper.sexp "not a"
  => [:program, [[:unary, :not, [:var_ref, [:@ident, "a", [1, 4]]]]]]

Again, if I want to check for a negative of "a", then with Ripper I must 
look for (at least) two alternatives, but with RubyParser there is just 
one. Semantically there is no difference. (There is a difference in the 
interpretation because RubyParser doesn't know about Ruby 1.9, but that 
is a different difference. What I mean is there is no difference between 
Ripper's "!" and "not", because they will do the same thing.)

Probably you can come up with some instances where RubyParser changes 
the semantics of the original code it is representing, which would be a 
flaw in RubyParser. It may or may not matter for my use case, though.

Whew. I'm only responding because you asked such direct questions :) As 
I've said, RubyParser works better for me, while Ripper is a bit more 
difficult to manage. Clearly you needed more information about the 
program, so Ripper made sense to use. As you have pointed out before, 
Ripper has its own issues. There are use cases for either one depending 
on what your needs are. If Ripper were available for 1.8, I might have 
used it instead.

-Justin

In This Thread