regex 是一个正则表达式
message.scan(regex)得到 符合regex这个正则表达式的一个数组
message.scan(regex).each{|m|puts"#{m[0]}"} 中 m是数组中的每一个元素,是一个字符串,m[0]就是m的第一个字符
所以message.scan(regex).each{|m|puts"#{m[0]}"} 就是打印message符合regex的结果的每一个元素的第一个字符
一、意思不同
1.scan意思:
vt. 扫描;浏览;审视;细看
vi. 合韵律;划分音步
n. 扫描;浏览;细看
2.skim意思:
vt. 撇去;略读;掠过;滑过
vi. 掠过;表面凝结
n. 浮沫;略读;脱脂物
二、用法不同
1.scan用法:基本含义是“看,扫视”,指一部分一部分地审视,可指认真观察研究,也可指粗略地浏览,须依据上下文确定其含义。引申还可指“合韵律”。可用作及物动词,也可用作不及物动词。用作及物动词时,后接名词或代词作宾语。
例句:
Could you teach me how to scan an image?
你可以教我如何扫描一个影像吗?
2.skim用法:既可用作不及物动词,也可用作及物动词。用作及物动词时,接名词或代词作宾语用作不及物动词时,常与over, through等连用。
例句:
The hovercraft is able to skim over the water.
气垫船能掠过水面飞速行驶。
三、侧重点不同
1.scan侧重点:用于一般现在时或一般将来时。
2.skim侧重点:用于一般现在时。