# Acceder a variables de clase

**URL:** <https://www.ruby-forum.com/t/acceder-a-variables-de-clase/110363>\
**Category:** Rails\
**Created:** [July 25, 2007, 7:21pm UTC](https://www.ruby-forum.com/t/acceder-a-variables-de-clase/110363 "2007-07-25T19:21:11Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kabish](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/a88e57/32.png) [@kabish](https://www.ruby-forum.com/u/kabish)\
**Post date:** [July 25, 2007, 7:21pm UTC](https://www.ruby-forum.com/t/acceder-a-variables-de-clase/110363/1 "2007-07-25T19:21:11Z")

</div>

Hola a todos,

llevo un tiempo peleandome con un error. Tiene pinta de basico asi que  
se lo pongo aqui porque seguro que mucha gente puede resolverlo:

Tengo una clase Target:

class Target

attr\_writer :hit\_sequence\_accession,  
:hit\_sequence\_desc,  
:hit\_sequence\_ID

attr\_reader :hit\_sequence\_accession,  
:hit\_sequence\_desc,  
:hit\_sequence\_ID

def initialize(hit\_sequence\_accession,  
hit\_sequence\_desc,  
hit\_sequence\_ID)  
@hit\_sequence\_accession = hit\_sequence\_accession  
@hit\_sequence\_desc = hit\_sequence\_desc  
@hit\_sequence\_ID = hit\_sequence\_ID  
end

end

A la que le paso los valores 0, 1 y 0 mediante una consulta. Luego hago:

p @targets  
p @targets[0].hit\_sequence\_ID  
p @targets[0].hit\_sequence\_desc  
p @targets[0].hit\_sequence\_accession

y esto es lo que me devuelve la consola:

[#\<Target:0x48764c4 @attributes={“hit\_sequence\_desc”=\>“0”,  
“hit\_sequence\_ID”=\>"1  
", “hit\_sequence\_accession”=\>“0”}\>]  
nil  
nil  
nil

O sea, a traves de la llamada a @targets puedo ver los valores y los  
nombres de los atributos, mientras que llamando a los atributos uno a  
uno me devuelve nil.

Alguien sabe que estoy haciendo mal aqui??

---

<div class="post-metadata">

**Author:** ![kabish](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/a88e57/32.png) [@kabish](https://www.ruby-forum.com/u/kabish)\
**Post date:** [July 25, 2007, 7:26pm UTC](https://www.ruby-forum.com/t/acceder-a-variables-de-clase/110363/2 "2007-07-25T19:26:26Z")

</div>

Sorry I though I was on the Spanish forum.

There it goes the english translation:

I have a Target class:

> class Target
> 
> attr\_writer :hit\_sequence\_accession,  
> :hit\_sequence\_desc,  
> :hit\_sequence\_ID
> 
> attr\_reader :hit\_sequence\_accession,  
> :hit\_sequence\_desc,  
> :hit\_sequence\_ID
> 
> def initialize(hit\_sequence\_accession,  
> hit\_sequence\_desc,  
> hit\_sequence\_ID)  
> @hit\_sequence\_accession = hit\_sequence\_accession  
> @hit\_sequence\_desc = hit\_sequence\_desc  
> @hit\_sequence\_ID = hit\_sequence\_ID  
> end
> 
> end

To which I pass the values 0, 1 and 0 with and SQL sentence. Then I do:

> p @targets  
> p @targets[0].hit\_sequence\_ID  
> p @targets[0].hit\_sequence\_desc  
> p @targets[0].hit\_sequence\_accession

and this is what I get:

> [#\<Target:0x48764c4 @attributes={“hit\_sequence\_desc”=\>“0”,  
> “hit\_sequence\_ID”=\>"1  
> ", “hit\_sequence\_accession”=\>“0”}\>]  
> nil  
> nil  
> nil

Calling the @targets collection directly gives me the correct values,  
while calling the attributes returns nil values.

Anyone knows what I’m doing wrong here??

Thank you
