2011-10-03 18 views
29

Estoy haciendo algunos ejercicios de rubí y dijo que tengo que volver atrás y volver a escribir el guión con += notaciones taquigráficas.¿Qué significa "+ =" (más igual)?

Este ejercicio se ocupa principalmente de aprender nuevos métodos. El problema es que no tengo idea de qué significa += cuando traté de buscarlo en línea.

+0

Posible duplicado de [¿Qué significa "+ =" (más lo que equivale) en Ruby?] (Http://stackoverflow.com/questions/10022524/what-does-plus-equals-mean-in-ruby) – Li357

Respuesta

2

¿No soy un experto en rubíes pero creo que se agrega a una cadena existente o incrementa una variable numérica?

55

+= es un operador de taquigrafía.

someVar += otherVar 

es lo mismo que

someVar = someVar + otherVar 
+0

Muchas gracias por su ayuda. Agradezco la respuesta rápida. –

+5

Y 'someVar = someVar + otherVar' es lo mismo que' someVar = someVar. + (OtherVar) '. ¡Siéntase libre de escribir su propia clase e implementar '+' en ella, y usted también puede tener la magia '+ ='! –

+0

Tenga en cuenta que (probablemente) necesite devolver 'self' en su función' + 'para hacer que' + = 'funcione como se espera. – rdvdijk

1

Usted debe buscar un buen libro sobre Ruby, por ejemplo, http://pragprog.com/book/ruby3/programming-ruby-1-9

Las primeras 150 páginas cubren la mayoría de las cosas básicas sobre Ruby.

str = "I want to learn Ruby" 

i = 0 
str.split.each do |word| 
    i += 1 
end 

puts "#{i} words in the sentence \"#{str}\"" 

    => 5 words in the sentence "I want to learn Ruby" 
14

Expresiones con operadores binarios de la forma:

x = x op y 

puede escribirse como:

x op= y 

Por ejemplo:

x += y # x = x + y 
x /= y # x = x/y 
x ||= y # x = x || y (but see disclaimer) 

Sin embargo, se advirtió que ||= y &&= pueden comportarse levemente ... diferentes (más evidentes cuando se usan junto con un indexador de hash). Sin embargo, muchas preguntas SO sobre esta rareza.

Happy coding.