标签: raku

perl6/rakudo:dereferencing-question

#!perl6
use v6;

my $list = 'a' .. 'f';

sub my_function( $list ) {
    for ^$list.elems -> $e {
        $list[$e].say;
    }
}

my_function( $list );
Run Code Online (Sandbox Code Playgroud)

首先我用perl5风格尝试过这个,但它不起作用:

for @$list -> $e {
    $e.say;
}
# Non-declarative sigil is missing its name at line ..., near "@$list -> "
Run Code Online (Sandbox Code Playgroud)

我怎么能在perl6中这样做?

for-loop pass-by-reference rakudo raku

2
推荐指数
1
解决办法
219
查看次数

如何使用Perl 6从嘈杂文件的中间提取一些数据?

我想用惯用的Perl 6来做这件事.

我在一个嘈杂的输出文件中找到了一个很棒的连续数据块.

我想简单地打印出标题行,从Cluster Unique它后面的所有行开始,直到但不包括第一次出现空行.这是文件的样子:

</path/to/projects/projectname/ParameterSweep/1000.1.7.dir> was used as the working directory.
....

Cluster Unique Sequences    Reads   RPM
1   31  3539    3539
2   25  2797    2797
3   17  1679    1679
4   21  1636    1636
5   14  1568    1568
6   13  1548    1548
7   7   1439    1439

Input file: "../../filename.count.fa"
...
Run Code Online (Sandbox Code Playgroud)

这是我要解析的内容:

Cluster Unique Sequences    Reads   RPM
1   31  3539    3539
2   25  2797    2797
3   17  1679    1679
4   21  1636    1636
5   14  1568    1568
6   13 …
Run Code Online (Sandbox Code Playgroud)

parsing text perl6 flip-flop raku

2
推荐指数
1
解决办法
169
查看次数

如何在Perl 6中为我的自定义类添加下标?

我是Perl 6的新手.我的Atom编辑器中有以下代码,但我仍然不明白它是如何工作的.我复制了以下代码,正如doc.perl6.org所说,但它似乎无法正常工作.所以我把代码更改为:

use v6;

class HTTPHeader { ... }

class HTTPHeader does Associative  {

    has %!fields  handles <self.AT-KEY self.EXISTS-KEY self.DELETE-KEY self.push
                          list kv keys values>;
    method Str { say self.hash.fmt; }


    multi method EXISTS-KEY ($key)       { %!fields{normalize-key $key}:exists }
    multi method DELETE-KEY ($key)       { %!fields{normalize-key $key}:delete }
    multi method push (*@_)              { %!fields.push: @_                   }

    sub normalize-key ($key) { $key.subst(/\w+/, *.tc, :g) } 

    method AT-KEY (::?CLASS:D: $key) is rw {
        my $element := %!fields{normalize-key $key};

        Proxy.new(
            FETCH => …
Run Code Online (Sandbox Code Playgroud)

perl6 raku

2
推荐指数
1
解决办法
210
查看次数

<.before ...>是什么意思?

在Perl 6中,<.before ... >正则表达式的含义是什么?它似乎意味着<?before ... >:

my $str = "Hello";
$str ~~ /<alpha> <?before 'o'>/;
say $/;
$str ~~ /<alpha> <.before 'o'>/;
say $/;
Run Code Online (Sandbox Code Playgroud)

输出:

?l?
 alpha => ?l?
?l?
 alpha => ?l?
Run Code Online (Sandbox Code Playgroud)

我想澄清一下,因为我看到了一些使用的代码,<.before ...>我不确定它是什么意思.它可能是非法的语法,或者它可能意味着负面的前瞻<!before ...>或积极的前瞻<?before ...>或其他.我知道我可以<alpha>通过在它前面放一个点来制定像非捕获这样的规则<.alpha>,但是对于我来说,因为它们总是无法捕获而对前瞻没有意义.在任何情况下,它应该写<.?before ... ><.!before ... >区分正面和负面的前瞻?

perl6 raku

2
推荐指数
1
解决办法
150
查看次数

如何在Windows中为Perl6创建弹出窗口?

我正在使用Windows 7和10 rakudo-star-2019.03-x86_64 (JIT)。我想知道如何在Perl6中创建一个弹出窗口来向用户提供信息?类似于Linux的send-notify或Windows Pro msg(无网络连接)

非常感谢,-T

raku

2
推荐指数
1
解决办法
53
查看次数

Raku Native 调用 gtk-clipboard-request-text?

你会如何用 Raku/Perl6 的 Native Call 调用这个库?

https://developer.gnome.org/gtk3/stable/gtk3-Clipboards.html#gtk-clipboard-request-text

void
gtk_clipboard_request_text (GtkClipboard *clipboard,
                            GtkClipboardTextReceivedFunc callback,
                            gpointer user_data);
Run Code Online (Sandbox Code Playgroud)

非常感谢,-T

编辑:这个问题是如何调用函数。不要对失败的呼叫进行故障排除。此时没有编写代码。

raku

2
推荐指数
1
解决办法
126
查看次数

正则表达式单词边界: &lt;|wb&gt; v. &lt;?wb&gt;

编辑:@ikegami 是第一个回应并指出我的错字的人。

\n

raku正则表达式文档说:

\n
\n

要匹配任何单词边界,请使用 <|w> 或 <?wb>。这类似于其他语言中的 \\b。

\n
\n

这是我在 rakudo 中看到的:

\n
[309] > "apa pz" ~~ / <|wb> p. /\n\xef\xbd\xa2pa\xef\xbd\xa3\n\n[310] > "apa pz" ~~ / <?wb> p. /\n\xef\xbd\xa2pz\xef\xbd\xa3\n
Run Code Online (Sandbox Code Playgroud)\n

<?wb>行为符合我的预期。在<|wb>做什么?

\n

在 Perl 中:

\n
"apa pz" =~ / \\b p. /xms;  \nsay $&;   # pz\n
Run Code Online (Sandbox Code Playgroud)\n

raku

2
推荐指数
1
解决办法
106
查看次数

将BibTeX作者字段拆分为多个部分

我试图使用以下语法解析BibTeX作者字段:

use v6;
use Grammar::Tracer;

# Extract BibTeX author parts from string. The parts are separated
# by a comma and optional space around the comma
grammar Author {
    token TOP {
        <all-text> 
    }
    token all-text {
        [<author-part> [[\s* ',' \s*] || [\s* $]]]+ 
    }
    token author-part { 
        [<-[\s,]> || [\s* <!before ','>]]+
    }
}

my $str = "Rockhold, Mark L";
my $result = Author.parse( $str );
say $result;
Run Code Online (Sandbox Code Playgroud)

输出:

TOP
|  all-text
|  |  author-part
|  |  * …
Run Code Online (Sandbox Code Playgroud)

perl6 raku

1
推荐指数
1
解决办法
89
查看次数

哪个 libc 时间给了我一天中的时间?

软呢帽 33 乐

我想用 NativeCall 与 lic.so.6 交谈,以我正在编写的示例为例。我已经找到

但我不知道哪一个会给我一天中的时间 (21:02:03)

挠我的头,

c glibc raku

-4
推荐指数
1
解决办法
113
查看次数

在 termux/android 上安装乐堂

大家好,我需要帮助如何在 termux aarch64 中安装 rakudo

我尝试了不同的方法并得到了不同的错误,首先尝试:

在此处输入图片说明

第二次尝试:

在此处输入图片说明

rakudo rakudo-star termux raku

-6
推荐指数
1
解决办法
199
查看次数

标签 统计

raku ×10

perl6 ×4

rakudo ×2

c ×1

flip-flop ×1

for-loop ×1

glibc ×1

parsing ×1

pass-by-reference ×1

rakudo-star ×1

termux ×1

text ×1