Foros del Web » Programando para Internet » Ruby »

sobre alcance de las variables

Estas en el tema de sobre alcance de las variables en el foro de Ruby en Foros del Web. hola a todos, estoy aprendiendo ruby ya que sabia un poco de python, pero tengo un problema, hize un programita completo pero me tira un ...
  #1 (permalink)  
Antiguo 18/12/2009, 01:42
 
Fecha de Ingreso: octubre-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
sobre alcance de las variables

hola a todos, estoy aprendiendo ruby ya que sabia un poco de python, pero tengo un problema, hize un programita completo pero me tira un error y la verdad es que no entiendo por que, para simplificar no pongo el programa sino un pequeño ejemplo

si declaro...
a='hola'

def saludo
puts a
end

saludo

me tira un error refiriendose a la variable local...necesito obligatoriamente declararlo como $a??...esto no tiene logica porque si no deseo que otra clase pueda acceder a ella con esto no me sirve
en la mayoria de los lenguajes el ambito de una variable es todo aquello que este entre los corchetes o el do..end...siempre y cuando en los metodos internos no se sobreescriba...no obstante no entiendo por que aqui lo que esta dentro del metodo no puede ver "hacia fuera"
es una peculiaridad de ruby...el hecho de ser netamente orientado a objetos (teniendo que convertir todo esto a objetos) o que estoy haciendo mal?...gracias
  #2 (permalink)  
Antiguo 18/12/2009, 10:51
 
Fecha de Ingreso: octubre-2008
Mensajes: 101
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: sobre alcance de las variables

Prueba poniendo @a='hola' asi se declaran las variables de instancia, o sino prueba poner render_text @a para imprimir, yo tambien estoy aprendiendo ruby pero yo estoy en rails prueba y avisas.
  #3 (permalink)  
Antiguo 18/12/2009, 23:24
 
Fecha de Ingreso: octubre-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
De acuerdo Respuesta: sobre alcance de las variables

Cita:
Iniciado por head777 Ver Mensaje
Prueba poniendo @a='hola' asi se declaran las variables de instancia, o sino prueba poner render_text @a para imprimir, yo tambien estoy aprendiendo ruby pero yo estoy en rails prueba y avisas.
Funciona declarandolo como variable de clase @@variable...lo que no entiendo es porque para usar una variable dentro de un for tengo que declararla asi y si voy a hacer un contador de por ejemplo un loop..la declaro normal...

i=0


loop{
i+=1

if i>10: break end


}


ese i no seria una variable de clase tambien?...la verdad es que tengo un enredo de terminos ahora que estoy aprendiendo ruby que con python y delphi no me pasaba..si alguien me pudiera explicar esto se lo agradeceria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:59.