[#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

Way to identify ambiguity between local-var name and class method name

From: "Nikolay M." <lists@...>
Date: 2012-03-29 07:22:20 UTC
List: ruby-talk #394153
Greetings, everyone!

There is wide-used practice in ruby to use attr_accessor (actually, in
Active Record).
But ambiguity between local variable and method names produces
hard-to-catch(silent) errors, for example:

class Person
  attr_accessor :address

  def remember
    address = "Earth" # must use "self.address"
  end

  def show
    puts address
  end
end

joe = Person.new
joe.remember
joe.show     # nil, must be: "Earth"

Somebody says, that good practice to use self anywhere in class methods,
mean you use it for both obtaining and assignment class variable.
It's makes code less readable because self overused, and does not help
against miswrite errors (forgotten self on write).

Somebody says, that we must use self only when setting class variable
(as supposed to do). It's "not so bad" way, but errors still uncatched.

Somebody says, that attr_accessor methods should not be uses inside
class (fine, but what should I do with AR?).

I think that main problem is silent local variable creation. I've trying
to find ruby tech to intercept variable creation, but I have fault (I
can track only global variables).
Also, I can't find ruby warning, when local variable was created, but
not used. It seems good solution - easy to implement, warnings makes
this bugs more "catchable", total ruby behavior does not changed,
programmers have additional validation tool.

e.g I suggest make a ruby warning when local variable was created, but
not used inside a block. Anyone have same ideas?

PS: Also, there is another ambiguity between method and local variable -
if local variable created with method name. It can be resolved in same
way.

-- 
Posted via http://www.ruby-forum.com/.

In This Thread

Prev Next