Forum: Italian Ruby user group Aggiungere uno spazio

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Stefano D. (Guest)
on 2009-05-07 15:45
Ciao ragazzi,ho bisogno di un vostro aiuto...vorrei poter aggiungere uno
spazio all'inzio della riga.Ad esempio io ho questo testo:

type
persona=record
eta: byte;
nome: string[50];
cognome: string[50]:
professione: string[55];
end;
type
function reajlloc(var newcapacity:longint):pointer;virtual;
property capacity:longint read fcapacity write setcapacity;
end;

e vorrei che quando vede la parola type da quell'istante in poi,fino
all'end,mi inserisca uno spazio ad inizio riga,cosi:
type
 persona=record
...
..
end;
type
 function..
...
end;

premetto che questo codice deve essere messo in un programma che
analizza una riga alla volta.
Avevo pensato di fare:

if "type" == riga[0]       #dove riga[0] è il primo elemento della riga
 type=1                    #cioè "persona" per intenderci
end

if type==1
riga[0..riga.size]=[" "] + riga[0..riga.size]
end
ma ho provato a fare cosi e mi dice che c'è un errore:
undefined method `+' for nil:NilClass (NoMethodError)

come puo essere possibile che non c'è nulla,se c'è memorizzata la
riga???
Giampiero Z. (Guest)
on 2009-05-08 11:06
secondo me è il solito errore
riga[riga.size] NON esiste
l'ultimo elemento dell'array è riga[riga.size -1]
sostituirei
riga[0..riga.size]
con
riga[0...riga.size]
non ho provato ma vedrai che così togli un errore
Giampiero Z. (Guest)
on 2009-05-08 11:09
di nuovo io
forse riga è una stringa invece di un vettore... ma il problema non
cambia;
un'altra alternativa è usare il metodo insert, con parametro 0
vedi http://www.ruby-doc.org/core/classes/String.html#M000788
Stefano D. (Guest)
on 2009-05-08 18:12
Giampiero ho gia provato con insert ma non me lo fa fare.Inoltre riga è
un array,dove ogni elemento dell'array è una stringa.Cmq devo provare
con "...riga.size" e vedere che succede.Ti faro sapere.

Ciao a tutti!!!!
This topic is locked and can not be replied to.