Problema con conversione


#1

Ragazzi ho un problema che è la prima volta che incontro e non riesco a
capire come poterlo risolverlo.Ho creto il seguente codice:

d=primariga[1]
uguale=d.index “=”
puts “#{d[uguale]}”
if d[uguale…(d.size)]=="=record"
puts “il confronto è esatto”
else
end

Dove vorrei che mi venga fatto un confronto tra un array che contiene
una frase e l’elemento “=record”.Tuttavia essendo che l’elemento
nell’array può variare vorrei che il mio confronto sia dinamico,quindi
ho fatto cercare l’elemento “=” nell’array di “d” e poi l’if fa il
confronto.Nonostante un consiglio di gabriele(che ringrazio) il problema
non si è risolto,generandomi il seguente errore:

in []': no implicit conversion from nil to integer (TypeError) from verifica.rb:182 from verifica.rb:8:ineach’
from verifica.rb:8

Cosa posso fare per eliminare questo errore???

Ciao a tutti!!!


#2

Stefano De nigris wrote:


Cosa posso fare per eliminare questo errore???

Ciao a tutti!!!

Se la riga che leggi (cioe’ d) non contiene “=”, uguale conterra’ nil e
non potra’ essere usato per costruire un range.

Ma se devi cercare una riga che finisce con “=record” non e’ meglio un
test diretto?

if d =~ /=record$/


#3

Hai ragione claudio,la prima istruzione c’è “=” ma nelle altre no,perciò
mi da errore.Credo che farò come hai detto tu:

if d =~ /=record$/
un’ultima cosa a che serve il $ finale???


#4

On 1/28/09 3:18 PM, Stefano De nigris wrote:

Hai ragione claudio,la prima istruzione c’è “=” ma nelle altre no,perciò
mi da errore.Credo che farò come hai detto tu:

if d =~ /=record$/

un’ultima cosa a che serve il $ finale???

http://letmegooglethatforyou.com/?q=espressioni+regolari&l=1


#5

Pietro lo ho studiate,ma sul libro che ho comprato non ci sono molti
cose speigate,rispetto ai link che mi avete date perciò non so usare al
meglio le espressioni :P!!!

ti consiglio vivamente di studiare le espressioni regolari.

Comunque grazie lo stesso.Ciao


#6

2009/1/28 Stefano De nigris removed_email_address@domain.invalid:

un’ultima cosa a che serve il $ finale???

in un’espressione regolare, $ indica la fine della stringa: se cerchi
/dipinto$/ non trovi “dipintore”, mentre se cerchi /dipinto/ lo trovi.

ti consiglio vivamente di studiare le espressioni regolari.

qualche link:

non ho trovato molto in italiano, ma forse non ho cercato bene. magari
c’è.
però puoi studiare la sintassi delle espressioni regolari generica e
poi guardare quali sono le (poche) particolarità del dialetto di ruby.

magari, però, per cominciare, segui il link che ti ha mandato andrea.


#7

2009/1/28 Stefano De nigris removed_email_address@domain.invalid:

Pietro lo ho studiate,ma sul libro che ho comprato non ci sono molti
cose speigate,rispetto ai link che mi avete date perciò non so usare al
meglio le espressioni :P!!!

per favore, mi dici qual è il titolo di questo libro sulle regular
expression che non parla del simbolo “$”?


#8

Il libro è Ruby per applicazioni web dell’apogeo.Premetto che lo
considero un ottimo libro,ma ha tralasciato un po le espressioni
regolari,avrei preferito qualche esempio e spiegazione in più essendo un
argomento imporatante.

Ciao a tutti!!!