《TypeScript图形渲染实战:2D架构设计与实现》 —2.3.8 使用迭代器解析Token

举报
华章计算机 发表于 2019/12/12 11:37:49 2019/12/12
【摘要】 本节书摘来自华章计算机《TypeScript图形渲染实战:2D架构设计与实现》 一书中第2章,第2.3.8节,作者是步磊峰。

2.3.8  使用迭代器解析Token

  至此修改了源码,让IDoom3Tokenizer支持IEnumerator < IDoom3Token >迭代器接口,使用该接口也是非常方便的,来看一下下面的代码:

 

let input : string = " [ 3.14 , -3.14 ,  .14  , -.14 , 3.  , -3. ] " ;

 

tokenizer . setSource ( input ) ;

 

while ( tokenizer . moveNext ( ) ) {

    if ( tokenizer . current . type === ETokenType . NUMBER ) {

        console . log ( " NUMBER : " + tokenizer . current . getFloat () ) ;

    }

    else {

        console . log( " STRING : " + tokenizer . current . getString ( ) ) ;

    }

}

 

  之所以花这么多篇幅介绍迭代器,是因为在本书的后面章节中会大量地使用IEnumerator < T > 这个泛型接口。通过精心设计来确保接口的简单性和一致性,能使用迭代器的地方尽量使用迭代器模式,让调用方尽可能地使用熟悉的模式来进行调用或二次开发。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。