news 2026/5/9 11:27:03

24、探索 Expect:随机数、库、版本及时间处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
24、探索 Expect:随机数、库、版本及时间处理

探索 Expect:随机数、库、版本及时间处理

1. 随机数生成

在 Expect 中,有时需要生成随机数,例如在玩像 robohunt 这样的游戏脚本时。不过,Expect 没有内置的随机数生成命令。这背后有其哲学考量,一是已有众多随机数生成的解决方案,二是没有一种随机数生成器(RNG)能满足所有人的需求。不同的 RNG 会在不同目标间进行权衡,因此选择哪种随机数生成器取决于具体的使用场景,这也是 UNIX 系统上有众多 RNG 的原因之一。

如果已有独立的 RNG 程序,可以使用openspawn来运行它。若 RNG 是非交互式的且能生成随机数流,可使用open打开并通过gets读取新的随机数;若 RNG 是交互式的,则按需发送命令并使用expect获取结果。

若所需的 RNG 是用 C 子例程编写的,可以编写一个命令来调用它,然后将其链接到 Expect 中。

对于对随机数质量要求不高,只是希望程序每次运行方式不同的情况,可以使用以下 Tcl 过程:

proc random_init {seed} { global _ran set _ran $seed } proc random {} { global _ran set period 259200 set _ran [expr ($_ran*7141 + 54773) % $period] expr $_ra
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 11:37:50

闲置电视盒子大改造:从吃灰设备到全能服务器的完美蜕变

你知道吗?你家角落里那个积灰的电视盒子,其实是个被低估的宝藏!它完全可以变身为性能强劲的家庭服务器,运行Docker、搭建NAS、部署智能家居控制中心,功能比你想的更强大。想象一下,只需几个简单的步骤&…

作者头像 李华
网站建设 2026/5/2 23:29:46

Source Han Sans TTF 字体革命:一键解决多语言排版困境

Source Han Sans TTF 字体革命:一键解决多语言排版困境 【免费下载链接】source-han-sans-ttf A (hinted!) version of Source Han Sans 项目地址: https://gitcode.com/gh_mirrors/so/source-han-sans-ttf 还在为中日韩多语言排版而头疼吗?Sourc…

作者头像 李华
网站建设 2026/4/30 22:25:46

AutoClicker自动点击器:新手入门完全指南与实战技巧

AutoClicker自动点击器:新手入门完全指南与实战技巧 【免费下载链接】AutoClicker AutoClicker is a useful simple tool for automating mouse clicks. 项目地址: https://gitcode.com/gh_mirrors/au/AutoClicker AutoClicker是一款专为Windows用户设计的智…

作者头像 李华
网站建设 2026/4/22 14:44:27

MelonLoader新手入门:Unity游戏Mod加载全流程详解

MelonLoader新手入门:Unity游戏Mod加载全流程详解 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 想要为Unity游戏添…

作者头像 李华
网站建设 2026/5/6 6:31:22

11、创建空白Web应用并使用模板

创建空白Web应用并使用模板 在开发Web应用时,我们有时需要创建全新的数据库结构,而不是依赖现有的数据导入。下面将介绍如何使用设计工具创建一个空白的Web应用,并进行一系列基础设计操作。 1. 创建空白Web应用 当使用Access时,我们可以创建桌面数据库或Web应用。每个选…

作者头像 李华