Esto es lo que tengo ahora, que parece demasiado prolijo para el trabajo que está haciendo.¿Cuál es la forma canónica de recortar una cadena en Ruby sin crear una nueva cadena?
@title = tokens[Title].strip! || tokens[Title] if !tokens[Title].nil?
Asumir tokens es una matriz obtenida al dividir una línea CSV. ahora las funciones como strip! ¡chomp! et. todos nula rentabilidad si la cadena no se modificó
"abc".strip! # => nil
" abc ".strip! # => "abc"
Cuál es la forma de Ruby decir recortarlo si contiene líder adicional o espacios finales sin crear copias?
se vuelve más delicada si quiero hacer tokens[Title].chomp!.strip!
Si va a leer cosas de tokens repetidamente, podría tener más sentido preprocesarlas. Es decir, "tokens.each {| t | t.strip!}". entonces puedes hacer "@title = tokens [Título] || ''" –