Bonjour, j'ai travaillé avec le script Tcl depuis presque un an et maintenant je comprends presque complètement les bases. Mais aujourd'hui, je suis tombé sur des procédures imbriquées qui sont un peu étranges car je n'en ai pas saisi l'utilité.
Quoi qu'il en soit, j'ai lu sur les procédures imbriquées ici mais je n'ai pas vraiment compris pourquoi nous en avons besoin.
L'article dit que puisque les procédures sont globales dans un espace de noms, pour créer une procédure locale, vous créez des procédures imbriquées.
proc parent {} {
proc child {} {
puts "À l'intérieur de la procédure enfant";
}
...
}
Maintenant, une utilisation à laquelle je pense est la suivante
proc parent {} {
proc child {intVal} {
puts "intVal est $intVal";
}
puts "[::child 10]";
... #quelques traitements
puts "[::child 20]";
... #quelques traitements
puts "[::child 30]";
... #quelques traitements
puts "[::child 40]";
... #quelques traitements
puts "[::child 50]";
... #quelques traitements
}
Ainsi, la procédure enfant est locale à la procédure parent et ne peut être utilisée que à l'intérieur de la procédure parent. Et aussi, si je comprends bien, elle est utile lorsque vous voulez effectuer le même traitement à plusieurs endroits à l'intérieur de cette procédure parent.
Maintenant, ma confusion est la suivante : est-ce la seule utilisation des procédures imbriquées ou y a-t-il autre chose que je n'ai pas compris ??? J'ai l'impression que les procédures imbriquées semblent juste être une sorte de procédure privée.
Alors s'il vous plaît, éclairez-moi à ce sujet et aidez-moi à comprendre l'utilisation des procédures imbriquées.