PDA

Visualizza la versione completa : problema con charAt


Francis87
30-08-2004, 23:36
ciau a tutti

come mai ricevo l'errore Can't locate object method charAt(0) via package "abcdefghijklmnopqrstuvwxyz"?

e' alla riga

$firstchar = $voc->charAt(0);
e, ho controllato, $voc e' uguale a abcdefghijklmnopqrstuvwxyz!
perche' non mi prende il primo carattere della stringa senza dare problemi?
:)
grazie a chi riesce a dare una mano ad un newbie ;)

:ciauz:

shishii
31-08-2004, 00:07
Non č che sia chiaro, ma da quello che scrivi si direbbe che charAt sia la funzione di un modulo, se č cosė l'errore potrebbe significare che non lo hai caricato con "use" o "require".

LordSaga640
31-08-2004, 04:15
Originariamente inviato da Francis87
ciau a tutti

come mai ricevo l'errore Can't locate object method charAt(0) via package "abcdefghijklmnopqrstuvwxyz"?

e' alla riga

$firstchar = $voc->charAt(0);
e, ho controllato, $voc e' uguale a abcdefghijklmnopqrstuvwxyz!
perche' non mi prende il primo carattere della stringa senza dare problemi?
:)
grazie a chi riesce a dare una mano ad un newbie ;)

:ciauz:
$voc non deve essere una stringa ma un oggetto benedetto con bless, cosė credo, o cmq dovrebbe essere un puntatore ad una funzione dichiarato in questa maniera:
$voc=\&funzione;
CMQ, se vuoi prendere il primo carattere della stringa, usa substr.

Questa č la sintassi (le variabili in grassetto sono obbligatorie):
substr($voc,$offset,$length,REPLACE);

Se vuoi prendere il primo carattere della stringa e cancellarlo, usi questo:
$firstchar = substr($voc,0,1,"");

Se non vuoi cancellare il primo carattere non specifichi il replace:
substr($voc,0,1);

ciao

Francis87
31-08-2004, 05:00
mi sa che mi baso troppo su javascript...
grazie LordSaga ;) volevo proprio il primo carattere della stringa :)

mi scuso nuovamente con shishii per le mie arcane spiegazioni!

:ciauz:

Francis87
31-08-2004, 05:19
un'altra cosetta please! :D

devo far benedire le mie variabili per usare cose come ->charAt(n) e indexOf() ?

senza benedirle ho risolto il problema del primo e dell'ultimo carattere con una semplice sottostringa.
ma non capisco come risolvere questo:

$cn[$length-$k] = $voc->indexOf($cn[$length-$k]+1);

in pratica un elemento dell'array @cn e' identificato da due variabili $length (numero oggetti dell'array) e $k (indice del ciclo).
partendo dall'ultima posizione dell'array faccio dei controlli agli elementi ed in questo caso vorrei che il $cn corrente

$cn[$length-$k] = $voc->indexOf($cn[$length-$k]+1);
fosse uguale al carattere di $voc

$cn[$length-$k] = $voc->indexOf($cn[$length-$k]+1);
successivo al carattere attuale

$cn[$length-$k] = $voc->indexOf($cn[$length-$k]+1);

come risolvo il problema?
devo mandar a benedire la variabile o mi incasino con le sottostringhe?
dopo aver scelto il tipo di soluzione, come devo agire?
:fagiano:

Loading