- 2
- 0
- 约8.28千字
- 约 45页
- 2019-08-22 发布于福建
- 举报
2.6.3 sort 操作 sort 操作将输入的一串列表(可能是数组)根据内部的字符顺序进行排序。如对于 ASCII 字符串,将根据 ASCII 序进行排序。 @rocks = qw/ bedrock slate rubble granite /; @sorted= sort(@rocks); #得到 bedrock, granite, rubble, slate @back = reverse sort @rocks; # 为 slate 到 bedrock @rocks = sort @rocks; #将排序的值写回@rocks @numbers = sort 97 ..102; #得到 100,101,102,97,98,99 如果将数字按照字符串进行排序可能得到没有意义的结果。当然,默认的排序规则下,任何由1 开头的字符串先于由 9 开头的字符串。 如果想将某个数组排序,那必须将排序之后的结果存回数组中。 2.7 标量和列表上下文 一个给定的表达式在不同的上下文中其含义是不同的。 上下文是指表达式存在的地方。当 Perl 解析表达式时,它通常期望一个标量值或者列表值,称为表达式的上下文环境。 42 + something #something 必须是标量 sort something #something 必须是列表 Perl 中的表达式将根据其 context 返回适当的值。例如,一个数组的 “name”,在列表 context 中,它返回列表元素;在标量 context 中, 它返回数组元素个数: 当然这个列表可能只包含一个元素。也可能为空,或者包含任意数量的元素。 数组@people 的真实名字是 people。@只是一个限定词(qualifier)。 @people = qw( fred barney betty ); @sorted = sort @people; #列表 context:barney , betty, fred $number = 42 + @people; #标量 context:42+3,得到 45 甚至普通的赋值(赋给标量或者列表)也产生不同的 contexts: @list = @people; #3 个 People 的列表 $n = @people ; #数字 3 2.7.1 在标量 Context 中使用 List-Producing 表达式 一些表达式根本没有标量 context 的值。例如,sort 在标量 context 中返回什么?不需要排序一个列表来得到其个数,因此,除非有人按另一种方式实现了 sort,否则其在标量 context 中返回 undef。 在列表 context 中, reverse 返回反转的列表。在标量 context 中,返回反转的字符串(或者将反转的结果串成一个字符串): @backwards = reverse qw / yabba dabba doo /; #返回 doo, dabba, yabba $backwards = reverse qw/ yabba dabba doo /; #返回 oodabbadabbay $fred = something; # 标量 context @pebbles = something; #列表 context ($wilma,$betty) = something; #列表 context ($dino) = something; #列表 context 最后一个是列表 context 而非标量 context。括号是必须的,它使第四个区别于第一个。 标量 context $fred = something; $fred[3] = something; 123 + something; something + 654 if(something){ … } $fred[something] = something; 列表 context @fred = something; ($fred, $barney) = something; ($fred) = something; push @fred, something; foreach $fred(something) sort something reverse something print something 2.7.2 在列表 Context 中使用 Scalar-Producing 表达式 如果一个表达式不是列表值,则标量值自动转换为一个元素的列表: @fred = 6*7; @barney = “hello” . ‘ ’ . “world”; 由于 undef 是一个标量值,将 undef 赋给数组不会清
您可能关注的文档
- 材料力学期末考试试卷(包含答案).doc
- 人教版品德和社会六年级上《学会拒绝》教学设计.doc
- 2017-2018年鲁教新版九年级化学第二章《到实验室去》尖子生题(word有答案).docx
- 四数第三单元--保护大天鹅.doc
- 鲁迅《社戏》课件.ppt
- 《亲情滋润我成长》-课程教学设计.doc
- 建筑房屋承包合同书.doc
- 第20讲-平行四边形.doc
- 人教版高中生物一轮复习必修一试题和答案解析.docx
- 小学四年级下册数学第六单元小数的加法与减法课件.ppt
- 腾讯安全沙龙:红队视角下的海外SRC猎场:战略、战术与突破.pdf
- 【icap】ETS的范围扩展:设计和政策挑战.docx
- bcg -美国最高法院关于关税的裁决对你的企业意味着什么 What Does the US Supreme Court Ruling on Tariffs Mean for Your Business.pdf
- 2026届甘肃兰州市高三下学期第一次模拟考试历史试卷(扫描版,含答案).docx
- bcg -零售银行如何让人工智能代理发挥作用 How Retail Banks Can Put AI Agents to Work.pdf
- 住宅项目规范解读(GB 55038-2025) -培训 - 房地产-2025.docx
- 盘扣式脚手架工程量自动计算表 -培训 -房地产-2025.pdf
- 广东省汕头市2024-2025学年高三下学期第一次模拟考试英语学试题(含答案).docx
- 品牌研究+_+2025+CAPSE中国航司品牌榜单.pdf
- 【银河专题】如何看待豆粕内外价差关系.pdf
原创力文档

文档评论(0)