[Résolu] Aide sur une commande
#24
La réponse d'alias est à peu près juste dans le sens où il utilise correctement le foreach.

Le script que j'ai corrigé est presque bon, j'ai volontairement laissé l'erreur qui bloque le système, à savoir:
TCL
foreach vhost [array names $::vhostjoinpart] {


Pourquoi array names dans une simple liste ? La solution est juste de parcourir la liste:
TCL
foreach vhost $::vhostjoinpart {



Voici un mini-script de vérification du fonctionnement:
TCL
set vhostjoinpart {
  *@faucheur.enjoy-tchat.fr
}
 
proc test1 {host} {
  foreach vhost $::vhostjoinpart {
     if { [string match -nocase $vhost $host] } {
        puts "Matched $host against $vhost"
     } else {
        puts "failed $host against $vhost"
     }
  }
}
 
proc test2 {host} {
  foreach vhost [array names $::vhostjoinpart] {
     if { [string match -nocase $vhost $host] } {
        puts "Matched $host against $vhost"
     } else {
        puts "failed $host against $vhost"
     }
  }
}
 
puts "Test 1:"
test1 "user@blabla.com"
test1 "roger@faucheur.enjoy-tchat.fr"
test1 "berthe@Faucheur.Enjoy-Tchat.fr"
 
puts "Test 2:"
test2 "user@blabla.com"
test2 "roger@faucheur.enjoy-tchat.fr"
test2 "berthe@Faucheur.Enjoy-Tchat.fr"



Et le résultat:
Code :
crazycat@raspian:~ $ tclsh foreach.tcl
Test 1:
failed user@blabla.com against *@faucheur.enjoy-tchat.fr
Matched roger@faucheur.enjoy-tchat.fr against *@faucheur.enjoy-tchat.fr
Matched berthe@Faucheur.Enjoy-Tchat.fr against *@faucheur.enjoy-tchat.fr
Test 2:
crazycat@raspian:~ $
On voit bien que array names ne ramène rien.
Répondre


Messages dans ce sujet
Aide sur une commande - par Alucard`68 - 06/11/2016, 21:20
RE: Aide sur une commande - par aliasangelius - 07/11/2016, 10:20
RE: Aide sur une commande - par CrazyCat - 07/11/2016, 10:59
RE: Aide sur une commande - par Alucard`68 - 07/11/2016, 11:41
RE: Aide sur une commande - par aliasangelius - 07/11/2016, 13:06
RE: Aide sur une commande - par Alucard`68 - 07/11/2016, 13:24
RE: Aide sur une commande - par aliasangelius - 07/11/2016, 13:27
RE: Aide sur une commande - par Alucard`68 - 07/11/2016, 13:39
RE: Aide sur une commande - par aliasangelius - 07/11/2016, 14:23
RE: Aide sur une commande - par Alucard`68 - 07/11/2016, 14:40
RE: Aide sur une commande - par aliasangelius - 07/11/2016, 14:58
RE: Aide sur une commande - par Alucard`68 - 07/11/2016, 15:07
RE: Aide sur une commande - par aliasangelius - 07/11/2016, 15:17
RE: Aide sur une commande - par Alucard`68 - 07/11/2016, 15:21
RE: Aide sur une commande - par CrazyCat - 07/11/2016, 15:41
RE: Aide sur une commande - par Alucard`68 - 07/11/2016, 17:52
RE: Aide sur une commande - par aliasangelius - 07/11/2016, 18:14
RE: Aide sur une commande - par Alucard`68 - 07/11/2016, 19:29
RE: Aide sur une commande - par CrazyCat - 07/11/2016, 20:03
RE: Aide sur une commande - par aliasangelius - 07/11/2016, 20:08
RE: Aide sur une commande - par Alucard`68 - 07/11/2016, 20:13
RE: Aide sur une commande - par CrazyCat - 08/11/2016, 00:50
RE: Aide sur une commande - par aliasangelius - 08/11/2016, 11:38
RE: Aide sur une commande - par CrazyCat - 08/11/2016, 14:22
RE: Aide sur une commande - par aliasangelius - 08/11/2016, 14:54
RE: Aide sur une commande - par Alucard`68 - 09/11/2016, 15:39
RE: Aide sur une commande - par aliasangelius - 09/11/2016, 21:40

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté