[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[原创教程] [Perl]函数返回复合数据结构

本帖最后由 523066680 于 2025-3-7 22:34 编辑

emm... 其实这都不值一提,今天偶然看到知乎有个perl的话题下,有个人拿这个函数返回值说事:
客观地说,Perl 是不是快死了? Whoami 的回答
-
Perl确实冷门的不行,但是这个复合数据结构的返回还是支持的。
  1. use JSON qw/to_json/;
  2. my $data = gen_data();
  3. printf "%s\n", to_json($data);  # 用 json 的形式打印 $data 的完整内容
  4. sub gen_data
  5. {
  6.     my $data_ref = [ [], [] ];  # 使用引用的形式保存数据
  7.     map { push @{$data->[0]}, $_ } 1 .. 20;  
  8.     map { push @{$data->[1]}, $_ } 'a' .. 'z';
  9.     return $data_ref;           # 返回这个结构体的引用
  10. }
复制代码
输出结果
[[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],
["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]]


这个 gen_data 也可以这么写
  1. sub gen_data
  2. {
  3.     my @data = ( [], [] );
  4.     $data[0] = [ map { $_ } 1 .. 20 ];
  5.     $data[1] = [ map { $_ } 'a' .. 'z' ];
  6.     return \@data;   # 返回这个数组(复合结构)的引用
  7. }
复制代码
1

评分人数

[url=][/url]

返回列表