Perl6 :: Atributos

Perl 6-Like Member Variável Sytaxe
Baixe Agora

Perl6 :: Atributos Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Luke Palmer
  • Site do editor:
  • http://search.cpan.org/~lpalmer/

Perl6 :: Atributos Tag


Perl6 :: Atributos Descrição

Sintaxe variável de membro do Perl 6 Comentários de desenvolvedores: Eu me encontrei irritado quando escrevi o seguinte código em um dos meus recentes projetos: Sub Poply {My ($ Self, $ n) = @_; para (1 .. $ n) {push @ {$ auto -> {organismos}}, organismo-> novo (rand ($ auto -> {largura}), rand ($ self -> {aleight})); }} Três $ selfs em uma linha! E realmente não está codificando nenhuma informação, é apenas a desordem que resulta da falta de apoio orientado a objetos explícitos do Perl. No entanto, usando a magia dos filtros de origem, podemos agora escrevê-lo: sub popular {my ($ self, $ n) = @_; para (1 .. $ n) {push @ .organisms, organismo-> novo (RAND ($. Largura), Rand ($. Altura)); }} Perl6 :: Atributos leva o sigilo secundário Perl 6. e traduzi-lo em um acesso de hash em $ auto. Não, não suporta outros nomes para o seu invocante (mas pode facilmente; sou apenas preguiçoso), e não, ele não suporta objetos escritos por pessoas loucas com base na matriz, escalarem ou (!) Referências.Você ainda inflecciona o sigil primário, ao contrário do Perl 6. Ver Perl6 :: Variáveis para uma maneira de usar os sigils não inflados do Perl 6 ... mas não espere que ele funcione com este módulo. Há um bom pequeno " "Que você obtém para negociar a capacidade de nomear suas variáveis o mesmo com diferentes sigils (a propósito, você não pode fazer isso). Diga $ auto -> {foo} é uma array ref: @foo; # a própria matriz $ .foo; # O que significa que, mesmo que você esteja usando uma matriz referencialmente, você geralmente pode evitar escrevendo os Atributos Atributos agora. > e $ auto-método (args)> .Synopsis pacote foo; Use Perl6 :: Atributos; sub new {my ($ classe) = @_; abençoe {a => 1, b => , c => {hello => "world"},} => Ref $ Classe || $ classe; } Exemplo {My ($ Auto) = @_; $. # 1 $ .B ; # 4 @ .b; # 23 4 $ #. B; # 3 $ .c {olá}; # Keys World% .c; # Olá Imprimir "Eu recebo a ideia"; } Requisitos: · Perl.


Perl6 :: Atributos Software Relacionado