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;
    
  • 相关阅读:
    EF获取DbContext中已注册的所有实体类型
    使用一阶微分对图像锐化
    数字图像处理之直方图均衡
    【HDFS】相关概念及常用命令
    【Java】ConcurrentHashMap源码解析
    【Java】对foreach循环的思考
    php生成二维码
    spilt
    strtolower
    in_array
  • 原文地址:https://www.cnblogs.com/perl6/p/6940717.html
Copyright © 2011-2022 走看看