A linguagem de computador contém funções, variáveis e estruturas de controle . Biblioteca de funções do Perl contém a " cada " função. Um de seus comandos estrutura de controle é chamado de foreach. O fato de que é uma função eo outro é um comando de estrutura de controle significa que há uma diferença fundamental na forma como os dois são invocados, apesar de uma pequena semelhança em seu uso. Estrutura Parâmetro
O " cada " função executa uma tarefa de cada vez que é chamado, e ele retorna dois valores. A função funciona a uma tabela hash que contém um rótulo ( chamado "chave " ) e um valor . Em uma tabela com uma lista como nome: Julie , Idade: 45, Job : Singer, o " cada um " devolve "Nome" e " Julie " a primeira vez que é chamado. Assim, os dados sobre os quais a " cada " função opera tem que ter uma estrutura que inclui pares de chave /valor.
O comando " foreach " é uma construção de loop . Ela opera em uma matriz , que é uma lista de elementos em linha reta , sem chaves. Um exemplo de tal disposição seria Bob , Pete , Jane , Amanhecer, em um array chamado "nomes ".
Âmbito
Funções executado uma vez a cada vez que são chamado. Eles costumam sair do estado de seus parâmetros como eram quando foram chamados . " Cada " é diferente a este respeito, porque avança o ponteiro que indica o elemento atual na tabela de hash que recebe como parâmetro. Isso significa que cada vez que a função é chamada, ela irá retornar o próximo par na lista. Uma vez que tenha chegado ao fim da lista, ao lado relata valores em branco . O tempo após o que , ele informa o primeiro elemento da tabela . A construção " foreach " retorna o ponteiro de matriz para a sua posição original no primeiro elemento da matriz . chamadas subseqüentes para " foreach, " se estiver usando a mesma matriz , vai começar do zero novamente .
Processo
O " foreach " construção opera por meio dos elementos em uma matriz até que tenha processado o último elemento . O comando é seguido por suportes que contêm todas as instruções a serem executadas em cada elemento na matriz . Como o " cada função", avança o ponteiro do array para o próximo elemento . No entanto, " cada um " tem que ser chamado para cada elemento na tabela, enquanto o " foreach " laços automaticamente através de cada elemento , até atingir o final da matriz .
Progressão
O
" cada " função não cria uma estrutura de programa. Ele se baseia em outros comandos para garantir que ele é invocado vezes suficientes para processar todos os registros em uma determinada tabela hash. Ele precisa ser incluído nas instruções executadas dentro de um loop. O comando " foreach " é uma das construções que fornecem a " cada " função com o mecanismo de loop que falta .