[#386100] Numeric#coerce docs are disaster — 7stud -- <bbxx789_05ss@...>

num.coerce(numeric) =E2=86=92 array

14 messages 2011/08/02

[#386114] Documentation Improvement Proposal — Chris White <cwprogram@...>

=3D Issues =3D

24 messages 2011/08/02
[#386115] Re: Documentation Improvement Proposal — Steve Klabnik <steve@...> 2011/08/02

I reeeeeealy dislike user comments on documentation. It's one of the

[#386117] Re: Documentation Improvement Proposal — Phillip Gawlowski <cmdjackryan@...> 2011/08/02

On Tue, Aug 2, 2011 at 7:39 PM, Steve Klabnik <steve@steveklabnik.com> wrot=

[#386118] Re: Documentation Improvement Proposal — Steve Klabnik <steve@...> 2011/08/02

> What's wrong with stealing WikiPedia's procedures? The model works

[#386119] Re: Documentation Improvement Proposal — Chris White <cwprogram@...> 2011/08/02

On Aug 2, 2011, at 11:00 AM, Steve Klabnik wrote:

[#386123] Re: Documentation Improvement Proposal — Steve Klabnik <steve@...> 2011/08/02

Apologies, I've just responded to everyone in-line.

[#386231] Brainstorming ideas how to improve Ruby's documentation — Marc Heiler <shevegen@...>

The title is misleading...

42 messages 2011/08/05
[#386233] Re: Brainstorming ideas how to improve Ruby's documentation — "Fred L." <f.linard@...> 2011/08/05

Hello,

[#386235] Re: Brainstorming ideas how to improve Ruby's documentation — Alexander Litvinovsky <alexander.litvinovsky@...> 2011/08/05

What are you talking about? Ruby has a nice docs, railsapi.com for example.

[#386297] Help out with the next version of ruby-lang.org — Magnus Holm <judofyr@...>

https://github.com/rubylang/ruby-lang.org

11 messages 2011/08/07

[#386341] Exceptional Ruby and Metaprogramming Ruby has anyone picked these up? — Kevin <darkintent@...>

I'm thinking of picking up these two books and was wondering if anyone

11 messages 2011/08/09

[#386378] ruby installation — "Momodou J." <modou75alieu@...>

how to implement this in windows :

16 messages 2011/08/09

[#386401] *WHY* does this not work? — serialhex <serialhex@...>

ok, so code:

23 messages 2011/08/09
[#386403] Re: *WHY* does this not work? — "Darryl L. Pierce" <mcpierce@...> 2011/08/09

On Wed, Aug 10, 2011 at 03:52:59AM +0900, serialhex wrote:

[#386404] Re: *WHY* does this not work? — serialhex <serialhex@...> 2011/08/09

On Tue, Aug 9, 2011 at 3:05 PM, Darryl L. Pierce <mcpierce@gmail.com> wrote:

[#386480] Odd regexp behavior — Glen Holcomb <damnbigman@...>

I'm running 1.9.2-p180

16 messages 2011/08/10

[#386506] Distributing Ruby program as a standalone executable (exe) for windows — Michelle Pace <michelle@...>

Hello there,

10 messages 2011/08/11

[#386539] Online tutor for Ruby — T J Pereira <tj5155@...>

I am finding it difficult to apply the RUBY program. Its because i have

18 messages 2011/08/12
[#386541] Re: Online tutor for Ruby — Phillip Gawlowski <cmdjackryan@...> 2011/08/12

On Fri, Aug 12, 2011 at 6:00 AM, T J Pereira <tj5155@tm.net.my> wrote:

[#386637] class inheritance and class constants — Iñaki Baz Castillo <ibc@...>

------------------------

16 messages 2011/08/14

[#386784] Green Shoes v1.0 released — ashbb <ashbbb@...>

Hello, everyone.

15 messages 2011/08/18
[#392062] Re: Green Shoes v1.0 released — Barry Yu <yubarry@...> 2012/01/09

why do I get this error?

[#386796] Searching in a directory — Yu Yu <htwoo@...>

Hello,

21 messages 2011/08/18

[#386893] Gritty Details of super() — luke gruber <luke.gru@...>

Hey guys,

18 messages 2011/08/21

[#386900] Possble bug in Ruby parser (Fixnum#times within "case" statement) — Iñaki Baz Castillo <ibc@...>

Hi, I cannot find an explanation for the following issue so I think it's a =

15 messages 2011/08/21
[#386901] Re: Possble bug in Ruby parser (Fixnum#times within "case" statement) — Ryan Davis <ryand-ruby@...> 2011/08/21

[#386903] Re: Possble bug in Ruby parser (Fixnum#times within "case" statement) — Iñaki Baz Castillo <ibc@...> 2011/08/21

2011/8/22 Ryan Davis <ryand-ruby@zenspider.com>:

[#386920] New to Ruby some problems — jack jones <shehio_22@...>

I am new to Ruby, My mother tongue is C++ .. I have too many problems I

21 messages 2011/08/22

[#386949] Want to get involved with this doc stuff? I'm making it even easier — Steve Klabnik <steve@...>

Hey guys-

9 messages 2011/08/22

[#387058] How the access the values of this result — QAS WM <qaiserwali@...>

I am getting the following as a result of a script I run.

11 messages 2011/08/26

[#387070] overloading methods question please? — jack jones <shehio_22@...>

def do_something(a as Array)

11 messages 2011/08/26

[#387138] String#split resets regex captures variables (Ruby 1.8.7) — Olivier Lance <bestiol@...>

Hi,

10 messages 2011/08/29

[#387196] SAMSUNG to produce "Ruby on Rails in Silicon" System on a Chip — Ilias Lazaridis <ilias@...>

(public draft)

9 messages 2011/08/31

[#387197] Prepend a character to a string in ruby — ruby rails <rubyonrails4me@...>

Hi,

10 messages 2011/08/31

[#387212] GUI programming — Samuel Mensah <sasogeek@...>

Is ruby GUI programming something that will come along as I study ruby

19 messages 2011/08/31
[#387230] Re: GUI programming — Alexey Petrushin <axyd80@...> 2011/08/31

I believe right now it's better to stay with console, there's no Ruby

Re: Problem in typical code

From: Julian Leviston <julian@...>
Date: 2011-08-10 00:25:39 UTC
List: ruby-talk #386440
I think the best way to explain it is this:

In ruby, text you type is converted into representations of tokens represent=
ing objects and methods.

The simplest way to think about it at first is to construct a model in your m=
ind where there are a lot of objects floating around.=20

When you type this into ruby, you're instructing it to execute the method na=
med "to_s" that is stored in the Fixnum class object, and to execute it on t=
he Fixnum instance object 45:

45.to_s

What that does is create a new string object representing that Fixnum and re=
turn it to you. (ie it "falls out the end")

This is called method calling, or messaging. You're sending the object 45 th=
e message "to_s" and it returns the result of "45".

Now, because everything is an object in the way we think about ruby, and eva=
de ruby is quite flexible, you can do some clever things.

You can obviously create your own class objects and then create your own ins=
tance objects of these classes, but the really clever thing we're seeing her=
e is that you can re-define the methods inside a class object once it has al=
ready been defined. You can add, or modify methods "on the fly" so to speak.=
=20

This is what's happening with your code. You're ripping open the Fixnum clas=
s object - the one that ruby uses to represents fixed numbers... That is, in=
tegers that are fairly small... And you're adding some methods. All the exis=
ting functionality will remain unless you choose a method name that is alrea=
dy in use and that will obviously replace an existing method if you do that.=
=20

It's important to think in your kind about context. When you're "inside" a c=
lass definition such as this:

class Fixnum
def seconds
self
end
end

Inside the class...end context, self means "the object we're currently refer=
ring to". It's whichever object is the target of the method.

So here, in the case of our Fixnum 45, because seconds is an instance object=

method, it means the number 45 itself. So sending 45 the message seconds wil=
l return 45 itself.

If I were writing that code, I would probably have written it like this:

class Fixnum
 def seconds
   self
 end
 def minutes
   self * 60.seconds
 end
 def hours
   self * 60.minutes
 end
 def days
   self * 24.hours
 end
end

Experimentation is a very powerful tool in learning. Use IRB a lot and do a l=
ot of micro experiments, or "tests" ;)

Julian

Blog: http://random8.zenunit.com/
Twitter: http://twitter.com/random8r
Learn: http://sensei.zenunit.com/
New video up now at http://sensei.zenunit.com/=20
real fastcgi rails deploy process! Check it out now!


On 10/08/2011, at 4:38 AM, "amir e." <aef1370@gmail.com> wrote:

> EXCUSE ME !!!!!!!!!!
> THIS IS THE CODE :
>=20
> class Fixnum
>  def seconds
>    self
>  end
>  def minutes
>    self * 60
>  end
>  def hours
>    self * 60 * 60
>  end
>  def days
>    self * 60 * 60 * 24
>  end
> end
>=20
>=20
>=20
>=20
> AGAIN , EXCUSE ME!!!
>=20
> --=20
> Posted via http://www.ruby-forum.com/.
>=20

In This Thread