Raku 语言 变量类型 标量 $ 数组 @ 哈希 % 基础

Raku阿木 发布于 2025-06-09 17 次阅读


Raku(以前称为Perl 6)是一种现代的、动态的编程语言,它继承了Perl的强大功能和灵活性,同时引入了许多新的特性和改进。在Raku中,变量是存储数据的基本单位,而变量的类型是动态的,这意味着它们可以在运行时改变其类型。本文将围绕Raku中的标量($)、数组(@)和哈希(%)三种基本变量类型进行探讨。

标量($)

标量是Raku中最基本的变量类型,用于存储单个值。在Raku中,标量变量的声明通常以美元符号($)开头。

声明和初始化标量

raku
my $scalar = 42; 整数
my $scalar = "Hello"; 字符串
my $scalar = 3.14; 浮点数

类型转换

Raku中的类型转换是自动的,当赋值时,如果右侧的数据类型与左侧的变量类型不匹配,Raku会自动进行转换。

raku
my $scalar = "42"; 字符串
say $scalar; 输出:42
say $scalar + 1; 输出:43,字符串转换为整数

标量操作

标量可以进行各种操作,如比较、算术运算等。

raku
my $a = 10;
my $b = 20;
say $a == $b; 输出:False
say $a + $b; 输出:30

数组(@)

数组是Raku中的有序集合,用于存储一系列值。数组变量的声明通常以在美元符号($)后面加上一个在圆括号中的数字序列。

声明和初始化数组

raku
my @array = (1, 2, 3); 整数数组
my @array = ("a", "b", "c"); 字符串数组

访问数组元素

数组元素通过索引访问,索引从0开始。

raku
my @array = (1, 2, 3);
say @array[0]; 输出:1

数组操作

数组支持多种操作,如添加元素、删除元素、排序等。

raku
my @array = (1, 2, 3);
@array.push(4); 添加元素
say @array; 输出:(1 2 3 4)
@array[1] = 5; 修改元素
say @array; 输出:(1 5 3 4)

哈希(%)

哈希是Raku中的无序集合,用于存储键值对。哈希变量的声明通常以在美元符号($)后面加上一个百分号(%)。

声明和初始化哈希

raku
my %hash = (a => 1, b => 2, c => 3); 哈希

访问哈希元素

哈希元素通过键访问。

raku
my %hash = (a => 1, b => 2, c => 3);
say %hash; 输出:1

哈希操作

哈希支持添加、删除、修改键值对等操作。

raku
my %hash = (a => 1, b => 2, c => 3);
%hash{d} = 4; 添加键值对
say %hash; 输出:(a => 1 b => 2 c => 3 d => 4)
%hash{a} = 5; 修改键值对
say %hash; 输出:(a => 5 b => 2 c => 3 d => 4)

总结

Raku中的标量、数组和哈希是三种基本的变量类型,它们提供了强大的数据存储和操作能力。我们可以了解到Raku中这些基本数据结构的使用方法,以及它们在编程中的应用。Raku的动态类型系统使得变量类型可以在运行时改变,这为编程带来了极大的灵活性。

在Raku编程中,正确地使用这些基本数据结构对于编写高效、可读的代码至关重要。通过深入理解这些数据结构的特点和操作方法,我们可以更好地利用Raku的强大功能,开发出更加优秀的应用程序。