BraveZhao的个人博客分享 http://blog.sciencenet.cn/u/BraveZhao

博文

Tcl language ---foreach 与for command

已有 3185 次阅读 2020-5-9 21:01 |个人分类:MD|系统分类:科研笔记

foreach命令实现一个循环,其中循环变量采用一个或多个列表中的值。在最简单的情况下,有一个循环变量varname和一个列表list,这是要分配给varname的值的列表。body参数是Tcl脚本。对于列表中的每个元素(从头到尾的顺序),foreach都将元素的内容分配给varname,就像使用lindex命令提取元素一样,然后调用Tcl解释器执行主体。

在一般情况下,可以有多个列表(例如list1和list2),并且每个列表都可以与循环变量列表(例如varlist1和varlist2)相关联。在循环的每次迭代过程中,将从对应列表中为每个变量列表的变量分配连续的值。每个列表中的值从第一个到最后一个按顺序使用,并且每个值仅使用一次。循环迭代的总数足够大,可以用完所有值列表中的所有值。如果列表在每次迭代中都没有足够的元素用于其每个循环变量,则将空值用于缺少的元素。

break和continue语句可以在body内部调用,其效果与其在for命令中的使用相同。Foreach返回一个空字符串。

for command:

for start test next body

For是一个循环命令,其结构类似于C语言中的 For语句。start、next和body参数必须是Tcl命令字符串,test是一个表达式字符串。for命令首先调用Tcl解释器来执行start。然后将test作为表达式重复计算;如果结果是非零的,它将在body上调用Tcl解释器,然后在next上调用Tcl解释器,然后重复该循环。当测试结果为0时,该命令终止。如果在body内调用continue命令,则跳过当前body执行中的所有剩余命令;接下来,通过调用Tcl解释器在next中继续处理,然后评估test,等等。如果在body或next中调用了break命令,那么for命令将立即返回。break和continue的操作类似于c中相应的语句。For返回一个空字符串。




https://blog.sciencenet.cn/blog-3388193-1232423.html

上一篇:Mean squared displacement----均方位移
下一篇:[转载]VMD里原子选择语句的语法和例子
收藏 IP: 58.213.51.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 18:50

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部