raku - 如何创建和导出动态运算符

标签 raku

我有一些类(并且还需要更多类),如下所示:

use Unit;

class Unit::Units::Ampere is Unit
{
  method TWEAK { with self {
    .si            = True;
                   #     m·  kg·   s·   A   ·K· mol·  cd
    .si-signature  = [   0,   0,   0,   1,   0,   0,   0 ];
    .singular-name = "ampere";
    .plural-name   = "ampere";
    .symbol        = "A";
  }}

  sub postfix:<A> ($value) returns Unit::Units::Ampere is looser(&prefix:<->) is export(:short) {
    return Unit::Units::Ampere.new( :$value );
  };

  sub postfix:<ampere> ($value) returns Unit::Units::Ampere is looser(&prefix:<->) is export(:long) {
    $value\A;
  };
}

我希望能够在运行时动态构建和导出自定义运算符。我知道如何使用 EXPORT,但如何即时创建后缀运算符?

最佳答案

我最终基本上做了this :

sub EXPORT
{
    return %(
        "postfix:<A>" => sub is looser(&prefix:<->) {
            #do something
          }
    );
}

这是令人不安的简单。

关于raku - 如何创建和导出动态运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47136106/

相关文章:

windows - HKEY_CLASSES_ROOT\Directory\Background\shell 的问题

match - perl6 rakudo 2016.11 match 尝试分配给只读变量,为什么不在 2016.07 中?

module - 如何找出 Linenoise 无法安装的原因?

Raku 中的类似 Haskell 的模式匹配

raku - 如何在 Perl 6 中动态定义变量名?

raku - 匿名容器

raku - Raku是否具有全局解释器锁(GIL)?

types - 考虑到 Perl 6 的类型系统,这个 Perl 有什么意义?

symlink - 如何获取 Perl 6 中符号链接(symbolic link)的目标?

raku - Perl 6 多个全局正则表达式或字符替换