Articles of operadores de

Ruby concat! o <<! (como modificar el estado del objeto elegantemente)

¿Hay una manera más elegante de hacer esto? widget.notes.where(:author_id => a).first.message= widget.notes.where(:author_id => a).first.message << "Potato" Por ejemplo, lo siguiente no funciona: widget.notes.where(:author_id => a).first.message < a).first.message <<! "Potato" Respectivamente no modificando, o devolviendo un error (ya que no hay <<! operador) key: widget es una instancia de Widget. Los widgets pueden tener notas. Las […]

ruby: ¿qué significa el asterisco en “p * 1..10”

la línea p *1..10 hace exactamente lo mismo que (1..10).each { |x| puts x } lo que le da la siguiente salida: $ ruby -e “p *1..10” 1 2 3 4 5 6 7 8 9 10 es un gran atajo cuando se trabaja con textmate, por ejemplo, pero ¿qué hace el asterisco? ¿Cómo funciona? […]

¿Cuál es el equivalente pre-Ruby2.3 al operador de navegación segura (`& .`)?

Las respuestas a cada pregunta que puedo encontrar ( Q1 , Q2 ) con respecto al nuevo operador de navegación segura de Ruby ( &. ) Declaran erróneamente que obj&.foo es equivalente a obj && obj.foo . Es fácil demostrar que esta equivalencia es incorrecta: obj = false obj && obj.foo # => false obj&.foo […]

Comportamiento unario de los operadores.

Tuvo algunos resultados extraños al redefinir el operador unario + en Ruby en la clase Fixnum . No estoy exactamente seguro de por qué las cosas están sucediendo como están (específicamente la línea 009 ). irb:003> class Fixnum irb:004> def +@ #define unary + irb:005> 15 irb:006> end irb:007> end => nil irb:008> 2 => […]

¿Qué significa “&” en la siguiente syntax de ruby?

En el siguiente ejemplo de Ruby, ¿qué representa el & ? ¿Está a lo largo de la línea de += en un bucle? payments.sum(&:price) Gracias, Rico

¿Qué significa :: (doble colon) en Ruby?

¿Qué significa :: en Ruby? Por ejemplo Foo::Bar .

<< operador en Ruby

Soy bastante nuevo en ruby, Encontré el siguiente código en los Rails, pero no sé cómo funciona el operador “<<" y qué hace en el siguiente código. def <<( rate ) r = Rating.new r.rate = rate r.rateable = proxy_owner … … end class << ActiveRecord::Base … … end ¿Alguien me puede explicar? Edición: aquí […]

Simplificación de un cheque “cualquiera de” con o-operator en Ruby

¿Cómo simplificar el siguiente cheque? … if node[:base][:database][:adapter].empty? || node[:base][:database][:host].empty? || node[:base][:database][:database].empty? || node[:base][:database][:port].empty? a algo como required_keys = { :adapter, :host, :database…etc…} required keys – node[:base][:database] == [] Esta syntax está un poco apagada, pero básicamente resta las claves que tienes del conjunto de claves requeridas. Si tiene todas las claves requeridas en su […]

Operadores de comparación de Rubyes? == vs. ===

¿Cuál es la diferencia entre == y ===? ¿Cuál deberías usar cuando?

Práctica recomendada de Ruby: si no está vacío, haga lo mismo en un operador

1. No puedo encontrar una manera elegante de escribir este código: if array.empty? # process empty array else array.each do |el| # process el end end Me gustaría tener un bucle, sin escribir array dos veces. Leí esto , pero no hay una solución lo suficientemente buena. 2. En realidad estoy en una plantilla HAML. […]