Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: if che non funziona

  1. #1
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970

    if che non funziona

    ciao

    sto avendo dei problemi con un'istruzione if.
    Il codice incriminato è questo:
    codice:
    if (@cn[$length-$k]!=substr($voc,-1,1)) {
    e con un print di quei valori ottengo che il primo (@cn[$length-$k]) è una 'a' e l'ultimo (substr($voc,-1,1)) è 'z'.
    dato ke non credo una A sia uguale ad una Z, come mai mi finisce SEMPRE nell'else??

    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  2. #2
    Utente di HTML.it L'avatar di Kintaro
    Registrato dal
    Dec 2000
    Messaggi
    188
    Beh intanto se @cn[$length-$k] è un elemento dell'array e non l'array stesso dovrebbe essere scritto: $cn[$length-$k] poi se sono stringhe l'operatore da usare non è "!=" ma "ne".

    Comicerei col provare a fare queste variazioni, in particolare il ne, poi se ancora non funge vediamo...
    Imparo! Imparo! Imparo!

  3. #3
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    grazie
    va già meglio..
    ma come fare x sovrascrivere il valore di un elemento dell'array?
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  4. #4
    $array[numero indice] = 'altro';
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  5. #5
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    così dovrebbe andare bene lo stesso?
    codice:
    $cn[$length-$k]=substr($xxx,$vn[$length-$k],1);
    perchè quello che ottengo è un raddoppio dei valori.. un esempio semplificato può essere:
    1 valore iniziale e al posto di 2 mette 12
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  6. #6
    fai la prova di stampare:

    print $cn[$length-$k],"\n";
    print substr($xxx,$vn[$length-$k],1),"\n";
    if(...)...

    in modo da capire i valori prima della modifica. In base al risultato vediamo.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  7. #7
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    viene come avevo detto:

    i valori sono A e B
    ma invece che passare

    AAA
    AAB
    AAC

    mi fa
    AAA
    AAAAAB
    AAAAABAAC

    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  8. #8
    allora per farmi capire meglio prova:

    print "cn: ",$cn[$length-$k]," k: $k len: $length\n";
    print "sub: ",substr($xxx,$vn[$length-$k],1)," xxx: $xxx vn: ",$vn[$length-$k],"\n";
    if(...)...
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  9. #9
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    stringa aaaa
    cn: a k: 1 len: 4

    sub: b xxx: abcde vn: 1
    stringa aaaaaaab
    cn: b k: 1 len: 4

    sub: c xxx: abcde vn: 2
    stringa aaaaaaabaaac
    cn: c k: 1 len: 4

    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  10. #10
    mahh...

    direi che si tratta di qualcosa che accade all'esterno della riga indicata. Posta il blocco di codice in cui è inserita la riga indicata.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.