字符串里的空格该不该跳
扫描器正在取 "hi there" 这个字符串,读到中间那个空格时应该【0】。
哪一种切法错了却最难发现
三个写错的扫描器,最难被发现的是【0】的那一个。
先删空白再切,会切出几个
有人图省事,先把源码里所有空白删光,再照正确规则切。输出这样切那段源码会得到几个 Token。 let rate = 12; let msg = "hi there"; total = rate >= 3; KEY
跳空白放错地方,词数变了吗
另一个人把「跳空白」写进了字符串扫描的循环里面(其余完全正确)。输出两个数:这样切出的词数,以及和正确切法内容不同的词有几个,用 / 拼起来。 let rate = 12; let msg = "hi there"; t
自己写:跳过空白
补全 skip_ws,从下标 i 开始跳过连续空白,返回第一个非空白字符的下标。三个起点各跳一次。
自己写:把跳空白放对位置
补全 scan:每轮取词之前跳一次空白。输出两个数——切出的词数,以及字符串那个词一共几个字符(含两个引号),用 / 拼起来。 let rate = 12; let msg = "hi there"; total = r
自己写:让字符串保住里面的空格
补全 read_string,逐字符取到收尾引号为止,中间的空白原样保留。输出三个数:第一个串的字符数、它里面的空格数、第二个串的字符数。
取数字时什么时候该收手
扫描器取到数字 12,它停下来的判据是【0】。
字符串的收手判据和数字有什么不同
取字符串和取数字,收手的判据不一样:字符串是【0】。
12abc 应该怎么切
源码里出现了 12abc,按玩具语言的规则它会被切成【0】。