Création et utilisation d'un tableau à 2 dimensions
-
21-12-2019 - |
Question
J'ai besoin de définir une variable tableau à 2 dimensions.
J'ai été en mesure d'utiliser une variable de liste mais maintenant, le projet que je suis en train de travailler sur la nécessite d'un tableau.
Comment est-ce fait?
Comment puis-je "boucle" à travers les 2 dimensions tableau?
La solution
Essayez d'utiliser une liste de listes.Vous pouvez utiliser le Syntaxe de variable étendue pour accéder à un élément dans leListe intérieure.
*** Settings ***
Library Collections
*** Variables ***
@{colors} red green blue
@{animals} cow pig dog
@{things} ${animals} ${colors}
*** Test Cases ***
2-Dimensional List
Log List ${things}
Log The ${things[0][1]} is ${things[1][1]}
La longueur de la liste est 2 et contient les éléments suivants: 0: [U'COW ', U'PIG', U'DOG '] 1: [U'Red ', U'green', U'Blue ']
Le cochon est vert
Autres conseils
À l'aide de listes
Robot du terme pour une variable tableau est de type "liste".Vous pouvez utiliser @{...}
pour désigner une variable comme une liste.Voici un exemple qui montre comment créer une liste dans une variable tableau, et comment le faire dans un test à l'aide de la Créer Une Liste mot-clé:
*** Variables ***
| # create a list in a variable table
| @{Colors} | red | orange | green | blue
*** Test Cases ***
| Example of using lists
| | # create an array inside a test
| | @{Names}= | Create list | homer | marge | bart
| | # Verify that the elements are arrays
| | Length should be | ${Colors} | 4
| | Length should be | ${Names} | 3
Pour créer un deux dimensions de la liste, vous pouvez créer une liste de listes:
| | ${array}= | Create list | ${Names} | ${Colors}
L' étendue variable syntaxe vous permet d'accéder à différents éléments:
| | log | element 1,1: ${array[1][1]}
Pour plus d'informations, consultez la section intitulée Liste des variables dans le Robot Cadre Guide De L'Utilisateur
À l'aide de dictionnaires
Vous pouvez utiliser un dictionnaire pour simuler un tableau multidimensionnel.Par exemple:
*** Settings ***
| Library | Collections
*** Test Cases ***
| Example of using a dictionary to simulate a two dimensional array
| | ${array}= | Create dictionary
| | ... | 0,0 | zero, zero
| | ... | 0,1 | zero, one
| | ... | 1,0 | one, zero
| | ... | 1,1 | one, one
| | Should be equal | ${array["1,0"]} | one, zero
J'ai trouvé un moyen de boucler dans une liste de listes:
*** Settings ***
Library Collections
*** Variables ***
@{colors} red green blue
@{animals} cow pig dog
@{things} ${animals} ${colors}
*** Test Cases ***
Nested for loop example
: FOR ${x} IN @{animals}
\ Keyword with for loop ${x}
*** Keywords ***
Keyword with for loop
[Arguments] ${x}
:FOR ${y} IN @{colors}
\ Log The ${x} is ${y}
Le crédit va à Ombre42 .Merci!