Aggiungere uno spazio


#1

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???


#2

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


#3

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


#4

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!!!