zoukankan      html  css  js  c++  java
  • perl中的默认变量与Z/map介绍

    use v6;
    =begin pod
    
        @*ARGS 命令行参数, 不含脚本名
        $*PROGRAM-NAME:当前运行脚本的相对路径
        $*PROGRAM:当前运行脚本的文件名称
        $*CWD:当前工作路径
        $*IN:标准输入流(STDIN),你可以使用$*IN.get来读取其中的一行
        $*PID:当前进程PID
        $*EXECUTABLE-NAME:运行当前脚本的二进制文件名称
        $*EXECUTABLE:运行当前脚本的二进制文件的绝对路径
        $*TMPDIR:用于存放临时文件的绝对路径
        $_ 默认内置变量, 可用$^value_name代替
    
    =end pod
    
    
    for  @*ARGS -> $name {
      say $name;
    }
    
    for 1..10 {say $_;}
    for 'a'..'z' {say $^char;}
    
    #for中编历数组时可以多个值
    for 1..6 -> $one, $two {say $one, ' - ',$two;}
    #参数不够时可以用可选参数
    for 1..7 -> $one, $two? {say $one, ' - ',$two;}
    #如果要从多个数组中编历, 可以用 Z
    my @one = 1..6;
    my @two = 'a'..'f';
    for @one Z @two -> $one, $two {say $one, $two;}
    for @one Z @two -> ($one, $two) {say $one, $two;}
    #注意上面加括号与不加的区别
    #不加括号是, 一个参数里面取值为两个数组一边一个
    #加括号时, 参数个数要与数组个数对应
    @one.append('7');
    for @one Z @two -> $one, $two, $three? {say $one, $two, $three;}
    
    #map当函数用
    my @mapdata = 1..5;
    my @map_f = map {$_ * 2}, @mapdata;
    say @map_f;
    
    my @map_end = @mapdata.map( -> $name { $name+10});
    say @map_end;
    
  • 相关阅读:
    日报8.18
    Java web项目启动Tomcat报错
    eclipse导入项目报错问题解决方法
    软件架构实践阅读笔记3
    软件架构实践阅读笔记 2
    软件架构实践阅读笔记1
    架构漫谈阅读笔记3
    架构漫谈阅读笔记2
    架构漫谈阅读笔记1
    面向服务的架构SOA
  • 原文地址:https://www.cnblogs.com/perl6/p/6940717.html
Copyright © 2011-2022 走看看