[#390749] Why are there so many similar/identical methods in core classes — Kassym Dorsel <k.dorsel@...>

Let's look at the Array class and start with method aliases.

14 messages 2011/12/02

[#390755] Inverse Operation of Module#include — Su Zhang <su.comp.lang.ruby@...>

Hi list,

21 messages 2011/12/02
[#390759] Re: Inverse Operation of Module#include — Ryan Davis <ryand-ruby@...> 2011/12/02

[#390764] Re: Inverse Operation of Module#include — Isaac Sanders <isaacbfsanders@...> 2011/12/02

I would suggest an Adapter pattern use here. IF there is something that has

[#390876] black magical hash element vivification — Chad Perrin <code@...>

Ruby (1.9.3p0 to be precise, installed with RVM) is not behaving as I

12 messages 2011/12/05

[#390918] WEB SURVEY about Ruby Community — Intransition <transfire@...>

Did any one else get this survey request?

14 messages 2011/12/07

[#390976] Confusing results from string multiplication — Rob Marshall <robmarshall@...>

Hi,

19 messages 2011/12/08

[#391019] How can I do h["foo"] += "bar" if h["foo"] does not exist? — "Andrew S." <andrewinfosec@...>

Hi there,

13 messages 2011/12/09

[#391027] reading from file without end-of-lines — Janko Muzykant <umrzykus@...>

hi,

20 messages 2011/12/09
[#391028] Re: reading from file without end-of-lines — Gavin Sinclair <gsinclair@...> 2011/12/09

> i'm trying to read a few text values from single file:

[#391031] Re: reading from file without end-of-lines — Robert Klemme <shortcutter@...> 2011/12/09

On Fri, Dec 9, 2011 at 9:58 AM, Gavin Sinclair <gsinclair@gmail.com> wrote:

[#391042] Re: reading from file without end-of-lines — Gavin Sinclair <gsinclair@...> 2011/12/09

On Fri, Dec 9, 2011 at 8:18 PM, Robert Klemme

[#391135] I need advice on what to do next. — Nathan Kossaeth <system_freak_2004@...>

I am new to programming. I read the ebook "Learn to Program" by Chris

23 messages 2011/12/12

[#391216] perf optimization using profile results — Chuck Remes <cremes.devlist@...>

I need some help with optimizing a set of libraries that I use. They are ffi-rzmq, zmqmachine and rzmq_brokers (all up on github).

13 messages 2011/12/13
[#391218] Re: perf optimization using profile results — Chuck Remes <cremes.devlist@...> 2011/12/13

On Dec 13, 2011, at 9:57 AM, Chuck Remes wrote:

[#391234] Re: perf optimization using profile results — Charles Oliver Nutter <headius@...> 2011/12/14

A couple quick observations.

[#391238] Re: perf optimization using profile results — Chuck Remes <cremes.devlist@...> 2011/12/14

On Dec 13, 2011, at 7:03 PM, Charles Oliver Nutter wrote:

[#391324] ruby 1.9 threading performance goes non-linear — Joel VanderWerf <joelvanderwerf@...>

12 messages 2011/12/16
[#391325] Re: ruby 1.9 threading performance goes non-linear — Eric Wong <normalperson@...> 2011/12/16

Joel VanderWerf <joelvanderwerf@gmail.com> wrote:

[#391420] Accessing class instance variables from an instance? — "Shareef J." <shareef@...>

Hi there,

26 messages 2011/12/20
[#391454] Re: Accessing class instance variables from an instance? — Khat Harr <myphatproxy@...> 2011/12/21

Actually, now that I'm thinking about it the existing behavior sort of

[#391456] Re: Accessing class instance variables from an instance? — Josh Cheek <josh.cheek@...> 2011/12/21

On Tue, Dec 20, 2011 at 9:42 PM, Khat Harr <myphatproxy@hotmail.com> wrote:

[#391545] Kernel#exit raises an exception? — Khat Harr <myphatproxy@...>

While I was working on embedding an interpreter I wrote a function to

13 messages 2011/12/24

[#391618] rvmsh: An easy installer for RVM — Bryan Dunsmore <dunsmoreb@...>

I have recently begun work on a project called [rvmsh]

12 messages 2011/12/29

[#391783] Mailspam — Gunther Diemant <g.diemant@...>

Is there a way to stop this mailspam of Luca (Mail)?

12 messages 2011/12/29

[#391790] What’s the standard way of implementing #hash for value objects in Ruby? — Nikolai Weibull <now@...>

Hi!

23 messages 2011/12/29
[#391792] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Gunther Diemant <g.diemant@...> 2011/12/29

I think you can't access instance variables from a class method, so

[#391793] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Nikolai Weibull <now@...> 2011/12/29

On Thu, Dec 29, 2011 at 15:52, Gunther Diemant <g.diemant@gmx.net> wrote:

[#391811] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Robert Klemme <shortcutter@...> 2011/12/29

On Thu, Dec 29, 2011 at 4:06 PM, Nikolai Weibull <now@bitwi.se> wrote:

[#391812] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Nikolai Weibull <now@...> 2011/12/29

On Fri, Dec 30, 2011 at 00:26, Robert Klemme <shortcutter@googlemail.com> w=

[#391816] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Josh Cheek <josh.cheek@...> 2011/12/30

On Thu, Dec 29, 2011 at 5:47 PM, Nikolai Weibull <now@bitwi.se> wrote:

[#391833] Re: What’s the standard way of implementing #hash for value objects in Ruby? — Robert Klemme <shortcutter@...> 2011/12/30

On Fri, Dec 30, 2011 at 12:47 AM, Nikolai Weibull <now@bitwi.se> wrote:

Re: Confusing results from string multiplication

From: Robert Klemme <shortcutter@...>
Date: 2011-12-08 16:32:38 UTC
List: ruby-talk #390977
On Thu, Dec 8, 2011 at 5:16 PM, Rob Marshall <robmarshall@iglide.net> wrote:
> Hi,
>
> I actually registered here to ask a different question, but after
> checking the core docs for 1.8.7 I realized that the behavior has
> apparently changed, but as part of the registration process I was asked
> to enter the result of:
>
> puts ((11.to_s * 2).to_i/2)
>
> I don't know Ruby very well, but this one seemed pretty
> straight-forward, in that it was supposed to convert the number (object)
> 11 to a string, double it ('1111') then convert it back to an integer
> and divide by two. Since these are integers the answer would be: 555.
>
> But here's where it gets strange. Since I'm new to Ruby I thought I'd
> play with it a bit, and since I thought that whitespace wasn't supposed
> to matter, I did:
>
>>> 11.to_s * 2
> => "1111"
>>> 11.to_s *2
> => "1011"
>>> 11.to_s*2
> => "1111"
>
> I thought, maybe this is a problem with irb, so I wrote a little
> program:
>
> #!/usr/bin/env ruby
>
> puts (11.to_s * 2)
> puts (11.to_s *2)
> puts (11.to_s*2)
>
> And when I run it, I see:
>
> 1111
> 1011
> 1111
>
> Can anyone explain why the '11.to_s *2' gave me 1011? Is this a 1.8.7
> problem? The Ruby version on my Mac OS X Lion system is: ruby 1.8.7
> (2010-01-10 patchlevel 249) [universal-darwin11.0].

Congratulations, you really hit a strange corner case in the syntax!

irb(main):003:0> 11.to_s *2
=> "1011"
irb(main):004:0> 11.to_s(*2)
=> "1011"
irb(main):005:0> 11.to_s(2)
=> "1011"

The variant with a single space before the star and no space after is
actually the splash operator as in:

irb(main):011:0> def f(*a) p a end
=> nil
irb(main):012:0> args = [1,2,3]
=> [1, 2, 3]
irb(main):013:0> f(args)
[[1, 2, 3]]
=> [[1, 2, 3]]
irb(main):014:0> f(*args)
[1, 2, 3]
=> [1, 2, 3]
irb(main):015:0> f(args, 77, 88)
[[1, 2, 3], 77, 88]
=> [[1, 2, 3], 77, 88]
irb(main):016:0> f(*args, 77, 88)
[1, 2, 3, 77, 88]
=> [1, 2, 3, 77, 88]

In your case:

irb(main):017:0> def f(a) p a end
=> nil
irb(main):018:0> f(2)
2
=> 2
irb(main):019:0> f(*2)
2
=> 2

And 11.to_s(2) ist just the conversion to binary:

irb(main):021:0> 11.to_s 2
=> "1011"
irb(main):022:0> 11.to_s 10
=> "11"
irb(main):023:0> 11.to_s 16
=> "b"

Kind regards

robert

-- 
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

In This Thread