[ruby-it] variabili e manipolazione stringhe, dove sbaglio?

Sandro Paganotti sandro.paganotti a gmail.com
Mer 12 Ago 2009 10:21:07 CEST


Ciao Luca :D

Tutti i metodi che finiscono col '!' (ad esempio slice!) modificano
l'oggetto che li invoca; es:

str = "ciao"
str.gsub!("o","oooo")
puts str
# ciaoooo

inoltre ti suggerisco di usare Date.strptime per fare un lavoro più
pulito...

Date.strptime("10122009","%d%m%Y").strftime("%m%g")

Sandro

2009/8/12 Luca Corsini <lcorsini a gmail.com>

> Il subject non è dei migliori, ma non sapevo come scriverlo, mi è
> capitata una cosa strana:
> In rails ricevo da una form una stringa (contenente una data in formato
> GGMMAAAA) che viene inserita in un db mysql (e fin quì tutto ok) io ho
> bisogno di usare la stessa data(piu che altro la stringa corrispondente)
> sia nel formato inserito, sia in formato MMGG.
> Allora cosa ho fatto, nel mio controller ho scritto le seguenti cose:
>
> data_localcopy = @m.header.data
> dataMMGG = data_localcopy.slice!(0..3).scan(/.{2}/).reverse.to_s
>
> Ora il problema assurdo è che la data MMGG va benissimo, se però piu
> avanti nel programma provo a visualizzare @m.header.data adesso ritorna
> solo AAAA.
> E anche in console ho lo stesso comportamento...
>
> Loading development environment (Rails 2.3.2)
> >> m=Manifest.find(id=3)
> => #<Manifest id: 3, nome: "OSHIMANA", created_at: "2009-08-12
> 07:40:22", updated_at: "2009-08-12 07:40:22">
> >> m.header.data
> => "12082009"
> >> d=m.header.data
> => "12082009"
> >> d2=m.header.data
> => "12082009"
> >>  dataMMGG = d.slice!(0..3).scan(/.{2}/).reverse.to_s
> => "0812"
> >> d
> => "2009"
> >> d2
> => "2009"
>
>
> Sbaglio io qualcosa? c'è qualcosa che non capisco nell'assegnare le
> variabili? in fin dei conti io non vado neanche a manipolare
> direttamente @m.header.data ma assegno il suo valore ad un'altra
> variabile
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Ml mailing list
> Ml a lists.ruby-it.org
> http://lists.ruby-it.org/mailman/listinfo/ml
>


More information about the Ml mailing list