[#393742] Getting the class of an object. — Ralph Shnelvar <ralphs@...32.com>

Consider;

14 messages 2012/03/06

[#393815] arcadia IDE requires tcl/tk and ruby-tk — Thufir Hawat <hawat.thufir@...>

which or where tcl and tk does arcadia require? Is this a gem which I

13 messages 2012/03/13

[#393952] What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...>

Hi!

18 messages 2012/03/21
[#393953] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

Active Support has recently added qualified_const_* methods to Module

[#393954] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

Ah, that won't work in 1.8.

[#393959] Re: What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...> 2012/03/21

On Wed, Mar 21, 2012 at 16:43, Xavier Noria <fxn@hashref.com> wrote:

[#393960] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

On Wed, Mar 21, 2012 at 8:17 PM, Nikolai Weibull <now@bitwi.se> wrote:

[#393961] Re: What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...> 2012/03/21

On Wed, Mar 21, 2012 at 20:48, Xavier Noria <fxn@hashref.com> wrote:

[#393962] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

On Wed, Mar 21, 2012 at 9:51 PM, Nikolai Weibull <now@bitwi.se> wrote:

[#393967] Re: What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...> 2012/03/22

On Wed, Mar 21, 2012 at 22:11, Xavier Noria <fxn@hashref.com> wrote:

[#393969] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/22

On Thu, Mar 22, 2012 at 6:15 AM, Nikolai Weibull <now@bitwi.se> wrote:

[#394154] uninitialized constant SOCKSSocket — Resident Moron <lists@...>

I am running ruby 1.9.3 on a linux box. I would like to use

10 messages 2012/03/29

[#394160] Why z = Complex(1,2) rather than z = Complex.new(1,2)? — Ori Ben-Dor <lists@...>

What's this syntax, z = Complex(1,2), as opposed to z =

14 messages 2012/03/29

[#394175] shoes no such file to load -- rubygems — Mr theperson <lists@...>

I have installed shoes to develop GUI applications but when I try and

13 messages 2012/03/29

[#394201] Can't open url with a subdomain with an underscore — Jeroen van Ingen <lists@...>

I try to open the following URL: http://auto_diversen.marktplaza.nl/

10 messages 2012/03/30

[#394222] Ruby openssl ECC help plz — no name <lists@...>

I am confused on how to properly export public ECC key. I can see it

13 messages 2012/03/31

Re: Ruby speed compared to C in a simple calculations.

From: Bartosz Dziewoński <matma.rex@...>
Date: 2012-03-24 18:26:47 UTC
List: ruby-talk #394042
W dniu 24 marca 2012 18:55 u=C5=BCytkownik Josh Cheek <josh.cheek@gmail.com=
> napisa=C5=82:
> Numbers are actual objects that must be allocated, for example.

Fun fact: it's thankfully not *that* bad. Numbers up to 2**30-1 are
not actually allocated; instead, they're magically stored in the C
pointer which would normally point at the location of associated
object. Symbols are handled similarly (that's why you should always
use them instead of strings when the actual string values does not
matter).

See for yourself. For regular objects, #object_id returns numerical
values of location in memory where it is stored (that is, values of C
pointer to this object). But...

irb(main):001:0> 1.object_id
=3D> 3
irb(main):003:0> 100.object_id
=3D> 201
irb(main):005:0> 120.object_id
=3D> 241
irb(main):007:0> 200.object_id
=3D> 401

Here you see a pattern: small numbers' object_id are equal to the
number, doubled, plus one.

irb(main):015:0> 2**30-1
=3D> 1073741823
irb(main):016:0> (2**30-1).object_id
=3D> 2147483647
irb(main):017:0> (2**30-1).class
=3D> Fixnum

The pattern still holds.

irb(main):018:0> 2**30
=3D> 1073741824
irb(main):019:0> (2**30).object_id
=3D> 6594348
irb(main):020:0> (2**30).class
=3D> Bignum

No more! Our number was promoted to a Bignum, which is actually
allocated separately - the object_id value is no longer magical, it's
just a straight pointer to a location in memory. (It will be different
on your machine.)

-- Matma Rex

In This Thread