Menu

Formatage du code

2020-08-31
2020-09-16
  • Petitpainauchocolat

    Bonjour,
    J'utilise le formatage de code ce qui est bien pratique, mais lorsqu'il y a un problème dans le code, le formateur s'arrête et renvoie une erreur. Serait-il possible de savoir à quelle ligne le problème se trouve ?

    Aussi, si j'utilise une fonction d'une bibliothèque intégrée, stringutil, j'ai une erreur lorsque je fais appel à la fonction "vérifier" avec l'erreur illegal API: string.split(
    Si je commente la ligne en quesiton j'ai tout de même l'erreur.

     

    Last edit: Petitpainauchocolat 2020-08-31
  • neuts-jl

    neuts-jl - 2020-08-31

    je regarde tout cela

     
  • neuts-jl

    neuts-jl - 2020-09-05

    Premiers éléments de réponse:
    1)Le formateur de code, execute le controle de code en premier.
    =>je pourrai me positionner sur l'erreur et l'afficher...

    2)Erreur sur appel string.split(
    => je suis partagé , normalement on devrait appeler la classe par

    local s="aaa bb cc"
    local tab=s:split(" ")
    

    mais

    local tab=s.split("aa bb cc dd"," " ) 
    

    est correct aussi
    par contre le type d'appel par ":" est indispensable pour les formulaires

    3) Erreur dans un commentaire
    4) => il s'agit d'un bug qui sera corrigé

     

    Last edit: neuts-jl 2020-09-05
  • Petitpainauchocolat

    Alors:
    local tab=s:split("aa bb cc dd"," " )
    Ca passe avec le vérificateur de code, mais
    local tab=s.split("aa bb cc dd"," " )
    fonctionne parfaitement mais est arrêté par le vérificateur
    Donc je m'intérroge sur le "indispensable"

     

    Last edit: Petitpainauchocolat 2020-09-05
  • Petitpainauchocolat

    En fait non, Avec un .j'arrive à faire mon split, mais pas avec:. J'avais changé pour : et ca a fonctionné jusqu'à que je relance NSBASE et maintenant j'ai une erreur. J'ai donc remis le . cela fonctionne à nouveau. Par contre le correcteur de code rouspète pour le .

     
  • neuts-jl

    neuts-jl - 2020-09-15

    vous vous trompez avec les 2 points:
    il faut faire

    local s="aa bb cc dd"
    tab=s:split(" ")
    
    résumé
    appel dynamique de la classe
    . appel statique de la classe

    je m'occupe quand même du vérificateur

     
  • neuts-jl

    neuts-jl - 2020-09-16

    Verificateur corrigé en V1.7.3

     
  • Petitpainauchocolat

    il y a de quoi devenir chèvre:
    Avec le code ci-dessous formaté selon votre message precédent, j'ai l'erreur suivante dans la console:

    ScriptError [Debats_Votes_et_elections] at line 45: attempt to concatenate a nil value (field '?')
    et #enr me renvoie 0 quelque soit la ligne que je choisi.

    local lsttxt = self.getProperty('ListBox1.Text')
    local enr = lsttxt:split(lsttxt, '\t')
    print(enr[1].."--"..enr[2].."--"..enr[3])
    

    Mais si je remplace le : pas un . Cette erreur ne s'affiche que quand une ligne de la ListBox1 ne comporte pas les trois parties nécéssaires. mais #enr ne me renvoie 2 ou 1, pas 0 ce qui est correcte du point de vue du code.( je sais pas si c'est très clair)

    local enr = lsttxt.split(lsttxt, '\t')
    

    Exemple d'une ligne (j'ai mis deux espaces à la place du tab):

    mon nouveau titre 15.06.1905 Election
    ou
    15.06.1905 Election

     

    Last edit: Petitpainauchocolat 2020-09-16
  • neuts-jl

    neuts-jl - 2020-09-16

    Vous faites toujours la même erreur
    MAUVAIS=>>>>>>

    local lsttxt = self.getProperty('ListBox1.Text')
    local enr = lsttxt:split(lsttxt, '\t')
    print(enr[1].."--"..enr[2].."--"..enr[3])
    

    CORRECT=>>>>>>

    local lsttxt = self.getProperty('ListBox1.Text')
    local enr = lsttxt:split('\t')
    print(enr[1].."--"..enr[2].."--"..enr[3])
    
     
  • Petitpainauchocolat

    merci ! tout est ok

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.