Как использовать значение константы в качестве хеш-ключа - PullRequest
0 голосов
/ 14 сентября 2018

Есть ли простой способ использовать значение определенной константы в качестве ключа хеш / пары в Perl6?

Например:

constant KEY = "a string";
my %h = ( KEY => "a value" );

Это создаст ключ «KEY», а не «строка».

Я могу сделать:

my %h = ( "{KEY}" => "a value" );

Но это кажется немного неуклюжим. Мне было интересно, есть ли лучший способ?

1 Ответ

0 голосов
/ 14 сентября 2018

Наиболее удобными вариантами могут быть:

  • Объявление константы с символом (например, constant $KEY = "a string";), что позволяет избежать проблемы в первую очередь
  • Обтеканиелевая часть в круглых скобках (например, (KEY) => "a value"), поэтому она не будет рассматриваться как литерал
  • Вместо этого напишите ее как pair(KEY, "a value")

Также обратите внимание, что:

my %h = ( "{KEY}" => "a value" );

Это бесполезное использование скобок, и это:

my %h = KEY, "a value";

также будет работать, так как не-1020 * s в списке значений для присвоения хешу будетбыть в паре.Однако он теряет визуальное сопряжение, поэтому один из предложенных ранее вариантов, возможно, лучше.

...