全站数据
8 4 2 0 5 8 1

1.l________acat中间写什么

小初的初中学习 | 教育先行,筑梦人生!         
问题更新日期:2024-04-21 05:19:31

问题描述

1.l________acat中间写什么希望能解答下
精选答案
最佳答案

其实没什么难度,分开看就能看懂。

——运行结果——循环接受用户输入,每当用户输入一个质数,打印这个质数。——参数——lne是perl的参数,效果是:perl接收你的键盘输入,将你的输入赋值给$_,执行后面的perl语句,输出一个换行,然后等待接收下一个输入。——perl语句——x 字符串重复若$_是一个正整数,1x$_就是由$_个字符1组成的字符串;否则它就是一个空字符串(大致如此)。所以1x$_是包含若干个字符1的字符串。=~ 绑定(匹配正则表达式)用1x$_匹配后面的正则表达式,返回真或假。若$_是质数,返回假。||或 (短路的)利用perl的短路特性,若||前面是真,就什么都不做(短路);若是假,就执行||后面的语句,即打印$_。若$_是质数,打印$_——正则表达式——^ 匹配字符串开头$ 匹配字符串结尾用它们开始和结束的表达式会匹配整个字符串,而不是字符串的一部分。| 或整个表达式匹配:一个数字1、空字符串或合数个字符1。即非质数个字符1的字符串。——匹配字符1或空字符串—— 表示前面的字符可有可无,所以1 匹配一个数字1或者空字符串。——匹配合数个字符1—— 表示前面的符号是不贪婪的,影响性能,这暂时不重要。()表示将其中内容分组。+表示前面的内容出现至少一次所以1+匹配一个或更多1。所以11+匹配至少两个11匹配和分组1完全一样的内容+表示前面的内容出现至少一次所以1+匹配至少一个分组1所以()1+匹配至少两个分组1。(觉得复杂就拉到后面看举例)所以后半段表达式匹配的是一串数字1它们可以被分为数量相同的小组至少2组,每组至少包含2个1。例如2x23x25x1008611也就是说,合数个字符1。——补充——最后的多余,没必要写。——举例—表达式试图匹配11111分组(11),重复分组11,剩下1$不能匹配,失败;接下来试试分组(111),剩下11$不能匹配,失败;(1111)同上,失败;(11111)同上,失败。匹配失败。表达式试图匹配111111111分组(11),重复分组11,11,11,剩下1$不能匹配,失败;分组(111),重复分组111,111,刚好到达字符串结尾$,匹配成功。—————影响性能的 —————如果不写第二个 表达式试图匹配11111分组(11111),重复分组……失败;分组(1111),同上,失败;分组(111),同上,失败;分组(11),重复分组11,剩下1$不能匹配,失败;匹配失败。这样会反复多次试错导致性能下降,数字越大越明显。