Raku 编程语言

»ö«

嗨,我叫 Camelia。我是 Raku 编程语言的代言人。Raku 由一群敬业且充满热情的开源志愿者开发,并且仍在不断发展。你也可以参与其中。唯一的条件是你需要学会如何善待所有人(包括蝴蝶)。访问 #raku (irc.libera.chat),有人会很乐意帮助你 入门

加入吧!

Rakudo™ 是 Raku 代码的编译器。安装它,你就可以运行 Raku 程序了!

下载 Rakudo

许多新功能极大地提升了我们表达能力强且功能丰富的编程传统。

  • 面向对象编程,包括泛型、角色和多重分派
  • 函数式编程原语,惰性和急切列表求值,联结,自动线程和超运算符(向量运算符)
  • 并行性、并发性和异步性,包括多核支持
  • 可定义的语法,用于模式匹配和通用字符串处理
  • 可选和渐进式类型
grammar Parser {
    rule  TOP  { I <love> <lang> }
    token love { '' | love }
    token lang { < Raku Perl Rust Go Python Ruby > }
}

say Parser.parse: 'I ♥ Raku';
# OUTPUT: 「I ♥ Raku」 love => 「♥」 lang => 「Raku」

say Parser.parse: 'I love Perl';
# OUTPUT: 「I love Perl」 love => 「love」 lang => 「Perl」
start { sleep 1.5; print "hi" }
await Supply.from-list(<A B C D E F>).throttle: 2, {
    sleep 0.5;
    .print
}

# OUTPUT: ABCDhiEF
# No floating point noise:
say 0.1 + 0.2 == 0.3;        # OUTPUT: True
say (1/13 + 3/7 + 3/8).raku; # OUTPUT:  <641/728>
# Infinite list of primes:
my @primes = ^.grep: *.is-prime;
say "1001ˢᵗ prime is @primes[1000]";

# Lazily read words from a file
.say for '50TB.file.txt'.IO.words;

想了解更多?访问 Raku 示例页面

最近的博客文章 [查看更多] RSS

已成功用于生产环境

Edument Atikon Oetiker+Partner QBRC Henley Cloud Consulting Virtual Blue
商标归其各自所有者所有。