Atenção: esse artigo tem um vídeo complementar. Clique e assista!
Delphi Prism – Parte 1
Delphi Prism – Parte 3
Delphi Prism – Parte 4
Delphi Prism – Parte 5
O artigo demonstra algumas das principais melhorias e palavras reservadas da linguagem do Delphi Prism. Neste artigo, abordaremos preferencialmente recursos que possuem significativas melhorias / incrementos, ou mesmo que não existem, se comparados aos recursos da linguagem Delphi Win32 tradicional.
Para que serve
As melhorias na linguagem servem para tornar a codificação mais enxuta e simples, ao mesmo tempo em que adicionam recursos poderosos presentes em linguagens orientadas a objetos mais modernas, como Java e C#.
Em que situação o tema é útil
O tema pode ser utilizado para aumentar os conhecimentos e melhorar a produtividade utilizando as novidades e melhores funcionalidades da linguagem. Com isso tem-se um código mais refinado, elegante e eficiente. É muito útil para reduzir a codificação, visto que no Prism inúmeras construções da linguagem exigiram várias linhas de códigos adicionais se fossem escritas em Delphi Win32, para se obter o mesmo resultado.
Delphi Prism
Durante o desenvolvimento do artigo, será visto de forma prática a utilização de palavras reservadas, como uso da palavra Var como uma nova forma de representar a definição de variáveis, o surgimento da palavra Yield como a maneira de possibilitar sair de uma iteração, armazenando o seu estado no momento da saída. Também é mostrada a liberação ou eliminação de recursos após o seu uso em determinados blocos de código através da estrutura Using. O uso de Require como alternativa para pré-condições de validação em métodos, onde o fluxo de execução do código para o método somente será executado se as regras definidas na utilização de Require forem satisfeitas. A substituição da unit pelo namespace onde estão presentes os tipos básicos que podem ser utilizados em aplicativos. A novidade do operador New, possibilitando criar novas instâncias de objetos em contraste com a forma tradicional utilizada em outras versões anteriores do Delphi, entre muitas outras novidades.
Var
O Delphi Prism apresenta uma nova forma de indicar a definição de variáveis, além da forma tradicional utilizada em outras versões do Delphi, ou seja, em uma seção separada no início da definição de algum método. No Prism, isso não é mais necessário, podendo as variáveis serem criadas e inicializadas no formato inline (na linha de código onde ocorrerá a sua utilização ou existir a necessidade de definição da variável). A Listagem 1 indica um exemplo desta utilização. Veja que o ArrayList é declarado da forma tradicional, já a variável “a” é declarada no interior do bloco de código.
Listagem 1. Código para demonstrar o uso de var
method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);
var
x: ArrayList;
begin
x := new ArrayList();
var a : String;
a := "teste";
x.Add(a);
end;
Outra utilização de var é demonstrada no código da Listagem 2 onde o tipo da variável é definido através de seu contexto de uso, sem a necessidade de indicar o tipo que será utilizado. A definição de variavel_inteira deduz o tipo de retorno da função retorna_inteiro, dessa forma utilizando seu tipo, neste caso um Int32. Além disso, a variável mensagem também utiliza o mesmo formato de dedução do tipo a ser utilizado, demonstrando que para vários tipos de dados é possível usar este modo de definição de variáveis. Este recurso é conhecido como Inferência de Tipos, ou Type Inference.
Listagem 2. Código utilizando var com um tipo de dados inferido pelo contexto
function MainForm.retorna_inteiro: integer;
begin
result := 111;
end;
method MainForm.teste_de_metodo;
begin
var variavel_inteira := retorna_inteiro();
variavel_inteira := variavel_inteira + 1;
var mensagem := 'Olá mundo!';
end;
...