Criando e usando um array bidimensional
-
21-12-2019 - |
Pergunta
Preciso definir uma variável de array bidimensional.
Consegui usar uma variável de lista, mas agora o projeto em que estou trabalhando requer um array.
Como isso é feito?
Como posso fazer um "loop" pela matriz bidimensional?
Solução
Tente usar uma lista de listas.Você pode usar o sintaxe de variável estendida para acessar um item na lista interna.
*** 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]}
O comprimento da lista é 2 e contém os seguintes itens:0:u'cow ', u'pig', u'dog '] 1:[você'vermelho', você'verde', você'azul']
O porco é verde
Outras dicas
Usando listas
O termo do Robot para uma variável de array é "lista".Você pode usar @{...}
para designar uma variável como uma lista.Aqui está um exemplo que mostra como criar uma lista em uma tabela de variáveis e como fazer isso dentro de um teste usando o comando Criar lista palavra-chave:
*** 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
Para criar uma lista bidimensional, você pode criar uma lista de listas:
| | ${array}= | Create list | ${Names} | ${Colors}
O sintaxe de variável estendida permite acessar elementos individuais:
| | log | element 1,1: ${array[1][1]}
Para obter mais informações, consulte a seção intitulada Listar variáveis no Guia do usuário da estrutura do robô
Usando dicionários
Você pode usar um dicionário para simular uma matriz multidimensional.Por exemplo:
*** 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
Encontrei uma maneira de percorrer uma lista de listas:
*** 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}
O crédito vai para ombre42.Obrigado!