Duda muy sencilla #{}

Tengo un metodo que usa una condicion dependiendo de si recibo un
parametro.

conditions = [“name LIKE ?”, “%#{@params[:search]}%”] unless @params
[:search].nil?

La duda es muy sencilla. Cual es la funcion de “#{xxxxx}” ? Veo que
si no pongo la almohadilla y las llaves?

Gracias

La duda es muy sencilla. Cual es la funcion de “#{xxxxx}” ? Veo que
si no pongo la almohadilla y las llaves?

El operador #{xxx} dentro de un string delimitado por “…” evalúa el
resultado de la expresión xxx (en tu caso @params[:search]) y lo incluye
como parte del string. Por ejemplo:

nombre = “Raul”
saludo = “Hola, soy #{nombre}” # ahora cadena vale “Hola, soy Raul”

Aníbal Rojas tiene un artículo en el que menciona este y otros ejemplos
de uso de strings:

http://www.lacaraoscura.com/2006/08/11/strings-de-java-a-ruby/

Saludos,
Raúl

El Viernes, 10 de Noviembre de 2006 21:14, Raul M. escribió:

Aníbal Rojas tiene un artículo en el que menciona este y otros ejemplos
de uso de strings:

http://www.lacaraoscura.com/2006/08/11/strings-de-java-a-ruby/

Añado, aunque supongo que ya lo saben, que en el caso de atributos se
puede
hacer esto: “El nombre es #@nombre

Funciona también con los típicos $1, $2, etc. de las expresiones
regulares:
“ejemplo 1” =~ /ejemplo (\d)/
puts "Número de ejemplo: #$1

Saludos,

Saludos.

El Viernes, 10 de Noviembre de 2006 22:14, Raul M.
escribió:> > La duda es muy sencilla. Cual es la funcion de “#{xxxxx}” ? Veo que

si no pongo la almohadilla y las llaves?

El operador #{xxx} dentro de un string delimitado por “…” evalúa el
resultado de la expresión xxx (en tu caso @params[:search]) y lo incluye
como parte del string. Por ejemplo:

nombre = “Raul”
saludo = “Hola, soy #{nombre}” # ahora cadena vale “Hola, soy Raul”

Mencionar también que en caso de usar comillas simples no se evalúa el
contenido de #{XXX} y se muestra tal cual:

irb(main):001:0> numero = 675543101
=> 675543101
irb(main):002:0> puts “mi numero es el #{numero}”
mi numero es el 675543101
=> nil
irb(main):003:0> puts ‘mi numero es el #{numero}’
mi numero es el #{numero}
=> nil

Saludos.