[#406419] Recursion with Hash — Love U Ruby <lists@...>

h = {a: {b: {c: 23}}}

14 messages 2013/04/01

[#406465] Exclusively for Rubyists, a community on Facebook — "senthil k." <lists@...>

I was surprised to know that there is no community for Ruby Programming

12 messages 2013/04/03
[#406467] Re: Exclusively for Rubyists, a community on Facebook — Marc Heiler <lists@...> 2013/04/04

Thing is, some people do not use Facebook and never will.

[#406468] Re: Exclusively for Rubyists, a community on Facebook — Aghori Shaivite <aghorishaivite@...> 2013/04/04

Yeah... but some people don't use email, or the internet, or computers. So

[#406528] Role of bundler in creating and installing a gem — Jon Cairns <lists@...>

Hi fellow rubyists,

11 messages 2013/04/05

[#406555] How do you know what the main file in Ruby Projects is? — peteV <pete0verse@...>

Hi Ruby people,

18 messages 2013/04/05
[#406558] Re: How do you know what the main file in Ruby Projects is? — "Carlo E. Prelz" <fluido@...> 2013/04/05

Subject: How do you know what the main file in Ruby Projects is?

[#406560] Re: How do you know what the main file in Ruby Projects is? — Hans Mackowiak <lists@...> 2013/04/05

Carlo E. Prelz wrote in post #1104616:

[#406562] Re: How do you know what the main file in Ruby Projects is? — "D. Deryl Downey" <me@...> 2013/04/05

Actually its not wrong. What it does is explicitly state which ruby

[#406563] Re: How do you know what the main file in Ruby Projects is? — Matt Lawrence <matt@...> 2013/04/05

On Sat, 6 Apr 2013, D. Deryl Downey wrote:

[#406564] Re: How do you know what the main file in Ruby Projects is? — Hans Mackowiak <lists@...> 2013/04/05

Matt Lawrence wrote in post #1104625:

[#406566] Re: How do you know what the main file in Ruby Projects is? — Matt Lawrence <matt@...> 2013/04/05

On Sat, 6 Apr 2013, Hans Mackowiak wrote:

[#406570] Re: How do you know what the main file in Ruby Projects is? — Matthew Mongeau <halogenandtoast@...> 2013/04/05

I'm interested in the issue with using env, but I find you explanation a but hard to follow. What are some situations that lead to the problems you are describing. I'm currently using env in some gems and if there is a strong argument against it, I don't mind switching it.

[#406600] Mapping string data ptr to buffer in ffi — se gm <lists@...>

I'm trying to implement some "shared memory" in Ruby, but I'm not sure

20 messages 2013/04/08

[#406683] confusion with Struct class — Love U Ruby <lists@...>

I went to there - http://www.ruby-doc.org/core-2.0/Struct.html but the

29 messages 2013/04/11
[#406694] Re: confusion with Struct class — Love U Ruby <lists@...> 2013/04/11

Why does every time the has value getting changed,while the instance

[#406762] Why does #content method in nokogiri not printing the full text? — Love U Ruby <lists@...>

Here is the documentation: http://www.rubydoc.info/gems/nokogiri/frames

19 messages 2013/04/14
[#406764] Re: Why does #content method in nokogiri not printing the full text? — tamouse mailing lists <tamouse.lists@...> 2013/04/14

On Sun, Apr 14, 2013 at 11:19 AM, Love U Ruby <lists@ruby-forum.com> wrote:

[#406874] Input: sentence Modify: words Output: modified sentence — Philip Parker <lists@...>

I am new to Ruby. This is a programming interview question to use any

11 messages 2013/04/19

[#406912] Tap method : good or bad practice ? — Sébastien Durand <lists@...>

Hi all !

18 messages 2013/04/21

[#406936] BEGINNER -CLASS QUERY — shaik farooq <lists@...>

HEY as we know that the object conatins the instance variables that are

22 messages 2013/04/22

[#406966] copying files syntax with FileUtils.rb (grr.) — Thomas Luedeke <lists@...>

In my Ruby scripting, there is probably no greater and chronic source of

10 messages 2013/04/23

[#406969] what is the $- magic global? — Matthew Kerwin <lists@...>

I've been searching for the past hour or so, including manually stepping

13 messages 2013/04/24

[#407059] New Rexx like data structure — Peter Hickman <peterhickman386@...>

This is just something that I have been playing with for some time but I

11 messages 2013/04/29

[#407070] writing lines to a file — peteV <pete0verse@...>

I have a text file with on every line a magic card number and such info

13 messages 2013/04/29

Re: Wondering why no "increment" or "decrement" operator in ruby

From: Rob Biedenharn <rob@...>
Date: 2013-04-15 14:01:50 UTC
List: ruby-talk #406803
On 2013-Apr-15, at 05:20 , Robert Klemme wrote:
> On Mon, Apr 15, 2013 at 5:38 AM, tamouse mailing lists <tamouse.lists@gmail.com> wrote:
> On Sun, Apr 14, 2013 at 10:23 PM, Matthew Kerwin <lists@ruby-forum.com> wrote:
> > Incidentally, if you're using MRI, because of a clever optimisation your
> > 'a' variable literally holds the value `1`, not a reference per se.
> 
> I guess I don't understand this last part; I can still call an
> instance method on a, so it must be more than just a value..., no? As
> I can call an instance method on 1. I guess I don't quite get what you
> mean by 'value'...
> 
> I prefer to look at this on the language level and not the MRI implementation (even though they are closely related).  On the language level the optimization is invisible and hence irrelevant for the reasoning here.  The reason for the absence of an increment operator is that there was a design decision to make numbers immutable (at least with regard to their numeric value).  If instances of a type are immutable their state will never change - hence you cannot change them from representing 1 to 2 etc.
> 
> Having said that, "++a" could be made syntactic sugar for "a+=1" but that would not work if a was referencing a String even though String#+ is defined.  The only way out of this would be to make "++a" syntactic sugar for something like "a+=a.class.one" where Integer would implement "one" as "return 1".  But what would String.one return then?
> 
> Kind regards
> 
> robert
> 
> -- 
> remember.guy do |as, often| as.you_can - without end
> http://blog.rubybestpractices.com/

Why wouldn't the syntactic sugar for ++a be a=a.succ (for "successor") since that is defined on more types? From the PIckaxe:

So far we致e shown ranges of numbers and strings. However, as you壇 expect from an object- oriented language, Ruby can create ranges based on objects that you define. The only constraints are that the objects must respond to succ by returning the next object in sequence and the objects must be comparable using <=>.

-- Programming Ruby 1.9 & 2.0, p. 93, Ch.6 Standard Types 


irb2.0.0> a = 1
#2.0.0 => 1
irb2.0.0> a.succ
#2.0.0 => 2
irb2.0.0> a = "hello"
#2.0.0 => "hello"
irb2.0.0> a.succ
#2.0.0 => "hellp"

For String, which does have mutable instances, there's also #succ! to change the object itself.

irb2.0.0> a
#2.0.0 => "hello"
irb2.0.0> a = "hello"
#2.0.0 => "hello"
irb2.0.0> a.succ
#2.0.0 => "hellp"
irb2.0.0> a
#2.0.0 => "hello"
irb2.0.0> a.succ!
#2.0.0 => "hellp"
irb2.0.0> a
#2.0.0 => "hellp"

for --a you could use a=a.pred (for "predecessor"), but that's only defined on Integer (and had no built-in use like #succ does).

irb2.0.0> a = 1 
#2.0.0 => 1
irb2.0.0> a.pred
#2.0.0 => 0
irb2.0.0> a.pred
NoMethodError: undefined method `pred' for "hello":String
	from (irb):5
	from /Users/rab/.rbenv/versions/2.0.0-p0/bin/irb:12:in `<main>'


From my Wayback Machine about 25 years ago the company I worked for had an internally developed C compiler (yes, back in the stone age before C was even a standard language and gcc was that weird, free compiler) that actually did define ++ and -- for doubles (floating point numbers) as a+=1.0 and a-=1.0 for just this reason.

-Rob

In This Thread