Rails establece sesión var de matriz

Estoy devolviendo algunos resultados de una fuente externa donde:

session[:response]['cpm_by_volxs'] == [ 0.0416, 0.0411, ..., 0.0335, 0.0333 ]

¿Cómo podría entonces almacenar solo el primer número? 0.0416 como una sesión diferente var:

session[:somethingElse] = 0.0416

de forma dinámica (la respuesta siempre será diferente)?

Yo he tratado:

 temp = session[:response]['cpm_by_volxs']
 session[:somethingElse] = temp[temp.index(1)]

ACTUALIZACIÓN

Basado en la sugerencia de Ben Taitelbaum:

<%= session[:Response]['cpm_by_volxs'][0] %> == [
<%= session[:Response]['cpm_by_volxs'][1] %> == 0
<%= session[:Response]['cpm_by_volxs'][2] %> == .
<%= session[:Response]['cpm_by_volxs'][3] %> == 0
<%= session[:Response]['cpm_by_volxs'][4] %> == 4
<%= session[:Response]['cpm_by_volxs'][5] %> == 1
<%= session[:Response]['cpm_by_volxs'][6] %> == 6

etc. ¿Cómo puedo devolver esto de una vez? (No puedo cambiar la respuesta de ninguna manera).

preguntado el 04 de julio de 12 a las 10:07

1 Respuestas

Puede indexar en una matriz en Ruby tal como lo haría con otros idiomas, por lo que el primer número es solo session[:response]['cpm_by_volxs'][0], que es lo mismo que temp[0] en tu ejemplo.

Respondido 04 Jul 12, 10:07

Parece que su variable de sesión está almacenando una cadena "[ 0.0416, ..." en lugar de una matriz, por lo que la indexación no le brinda lo que desea. Si realmente no puede cambiar esto, entonces considere analizar session[:response]['cpm_by_volxs'] en una matriz a través de una expresión regular. - Ben Taitelbaum

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.