zoukankan      html  css  js  c++  java
  • Perl语言编程>>学习笔记2

    1. Perl中变量的常用表示

       ${var} 相当于 $var

       $Dog::days  在Dog包里面的变量$days

       $#days  @days 的最后一个索引

       $days->[2]  $days 引用的数组的的第3个元素

       $days[0][2]  多维数组

       $days{200}{'Feb'}  多维哈希

       $days{2000,"Feb"}  多维哈希仿真 emulation

       @days[3,4,5]  数组@days的对应3个元素的片段,也可写作 @days[3..5] 

       @days{'Jan','Feb'}  包含 $days{'Jan'} 和 $days{'Feb'}的值的散列片段, 如果是写作 %days{'Jan','Feb'}  则同时包含键和值. 但是不能用 $days{'Jan','Feb'},因为是列表上下文.

    2. Perl中的名字空间(namespace)

      分为符号表(symbol table) 和词法作用域(lexical scope)两种

      符号表: 全局散列, 存储存放全局变量的符号表的记录

      词法作用域: 未命名的中间结果暂存器, 不会存在于任何符号表,  只是附着在程序的一块代码后面. 

    3. Perl 中的引起构造

     
    常用 通用 含义 可否内插
    ' ' q/ / 直接量字符串 No
    " " qq/ / 直接量字符串 Yes
    `` qx/ / 执行命令 Yes
    () qw/ / 单词列表 Yes
    / / m/ / 模式匹配 Yes
    s/ / / s/ / / 模式替换 Yes
    y/ / / tr/ / / 字符转换 No
    "  " qr/ / 正则表达式 Yes

    这些简写是为了方便写出更容易阅读的代码

    $single = q!I said, "you said, 'she said it.'" !;
    $double = qq(Can't we get some "good");
  • 相关阅读:
    Codeforces 758D:Ability To Convert(思维+模拟)
    Codeforces 758B:Blown Garland(模拟)
    BZOJ-1053 反素数
    BZOJ-1024 生日快乐
    BZOJ-1036 树的统计
    BZOJ-1029 建筑抢修
    BZOJ-1059 矩阵游戏
    BZOJ-1026 windy数
    BZOJ-1019 汉诺塔
    BZOJ-1031 字符加密
  • 原文地址:https://www.cnblogs.com/roger9567/p/4622169.html
Copyright © 2011-2022 走看看