Articles of ruby

Accesorio corto de ruby ​​ampersand colon

Posible duplicado: ¿Qué significa map (&: name) en Ruby? En Ruby, sé que si lo hago: some_objects.each(&:foo) Es lo mismo que some_objects.each { |obj| obj.foo } Es decir, &:foo crea el bloque { |obj| obj.foo } { |obj| obj.foo } , lo convierte en un Proc y lo pasa a cada uno. ¿Por qué funciona […]

¿Pasa Ruby por referencia o por valor?

@user.update_languages(params[:language][:language1], params[:language][:language2], params[:language][:language3]) lang_errors = @user.errors logger.debug “——————–LANG_ERRORS———-101————-” + lang_errors.full_messages.inspect if params[:user] @user.state = params[:user][:state] success = success & @user.save end logger.debug “——————–LANG_ERRORS————-102———-” + lang_errors.full_messages.inspect if lang_errors.full_messages.empty? @user objeto @user agrega errores a la variable lang_errors en el método update_lanugages . cuando realizo un save en el objeto @user , pierdo los errores que inicialmente […]

¿Por qué los setters de Ruby necesitan calificación “self” dentro de la clase?

Los establecedores de Rubyes, ya sean creados por (c)attr_accessor o manualmente, parecen ser los únicos métodos que necesitan self. calificación cuando se accede dentro de la misma clase. Esto parece poner a Ruby solo en el mundo de los idiomas: Todos los métodos necesitan self / this (como Perl, y creo que Javascript) Ningún método […]

Comportamiento extraño e inesperado (valores que desaparecen / cambian) cuando se utiliza el valor predeterminado de Hash, por ejemplo Hash.new ()

Considera este código: h = Hash.new(0) # New hash pairs will by default have 0 as values h[1] += 1 #=> {1=>1} h[2] += 2 #=> {2=>2} Eso está bien, pero: h = Hash.new([]) # Empty array as default value h[1] < {1=>[1]} ← Ok h[2] < {1=>[1,2], 2=>[1,2]} ← Why did `1` change? h[3] […]

¿Por qué es malo estilo ‘rescatar Exception => e` en Ruby?

Ruby QuickRef de Ryan Davis dice (sin explicación): No rescates la excepción. NUNCA. o te apuñalaré. Por qué no? ¿Qué es lo correcto?

¿Qué significa || = (o-igual) en Ruby?

¿Qué significa el siguiente código en Ruby? ||= ¿Tiene algún significado o razón para la syntax?

¿Cuál es la diferencia entre <%, <% =, en ERB en Rails?

¿Alguien puede describir el uso de los siguientes caracteres que se utilizan en el archivo ERB? ¿Cuál es el uso de cada uno?

¿Qué es attr_accessor en Ruby?

Estoy teniendo dificultades para entender attr_accessor en Ruby. ¿Alguien me puede explicar esto?

¿Qué significa map (&: name) en Ruby?

Encontré este código en RailsCast : def tag_names @tag_names || tags.map(&:name).join(‘ ‘) end ¿Qué significa el (&:name) en el map(&:name) ?