[#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: justincollins@...
Date: 2011-09-02 16:19:32 UTC
List: ruby-talk #387333
Quoting Josh Cheek <josh.cheek@gmail.com>:

> On Fri, Sep 2, 2011 at 12:54 AM, Justin Collins  
> <justincollins@ucla.edu>wrote:
>
>> 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.)
>>
>>
> They aren't quite the same, they bind differently:
>
> !false && false      # => false
> not false && false   # => true
>

Yes, but precedence is handled by the parser, so that difference  
doesn't matter once you have the s-expressions:

ruby-1.9.2-p290 :005 > RubyParser.new.parse "!false && false"
  => s(:and, s(:not, s(:false)), s(:false))
ruby-1.9.2-p290 :006 > RubyParser.new.parse "not false && false"
  => s(:not, s(:and, s(:false), s(:false)))
ruby-1.9.2-p290 :007 > Ripper.sexp "!false && false"
  => [:program, [[:binary, [:unary, :!, [:var_ref, [:@kw, "false", [1,  
1]]]], :"&&", [:var_ref, [:@kw, "false", [1, 10]]]]]]
ruby-1.9.2-p290 :008 > Ripper.sexp "not false && false"
  => [:program, [[:unary, :not, [:binary, [:var_ref, [:@kw, "false",  
[1, 4]]], :"&&", [:var_ref, [:@kw, "false", [1, 13]]]]]]]


>
>
>> 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.
>>
>>
> I think this is the ultimate point here. You have different needs, and
> different libs to address those different needs.
>

Yes.

-Justin

In This Thread

Prev Next