打印大型 TCL 项目的源层次结构

2024-04-10

因此,我正在处理一个大型 TCL 项目,并且认为构建一个树状视图来显示文件在项目中的来源方式会很酷。我修改了源命令以执行以下操作:

rename ::source ::real_source

proc ::source args {
    set file_handle [open "file_source.tcl" a]
    puts $file_handle $args
    puts $file_handle $argv0
    close $file_handle
    uplevel 1 ::real_source $args
}

它可以工作并保存所有正在获取的文件,但我想知道是否有人对如何确定哪些文件正在调用源命令有任何想法?

我遇到的另一个有趣的问题是我的新源程序似乎只在某些文件中工作。文件 A 源文件 B 和文件 B 中的所有源似乎工作正常,但其下的任何内容似乎都会返回到使用旧的源过程。关于为什么会发生这种情况有什么想法吗?


[info script]将为您提供调用文件的名称source

Example:

a.tcl

rename ::source ::real_source
proc ::source args {
    puts "[info script] sources $args"
    uplevel 1 ::real_source $args
}
source b.tcl

b.tcl

puts "in file b"
source c.tcl

c.tcl

puts "in file c"

outputs

a.tcl sources b.tcl
in file b
b.tcl sources c.tcl
in file c
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打印大型 TCL 项目的源层次结构 的相关文章

  • 如何更改 Python 安装的 tk 版本?

    我刚刚使用删除了旧的 Python 框架这个程序 并且我已经为我的架构安装了 Python 3 4 3 这似乎是i386根据以下命令uname p 所以我下载并安装了以下版本Mac OS X 32 bit i386 PPC installe
  • 如何在Tcl中安装软件包?

    我正在尝试安装critlib在我的机器上 http equi4 com critlib http equi4 com critlib 这样我就可以在 Tcl 中动态创建 zip 文件 问题是我不知道如何安装 Tcl 软件包 您是否有放置文件
  • Strawberry Perl v5.30.0 无法安装 Tcl (Windows 10)

    我从下载并安装了草莓 perl 5 30 0 1 64bit msi草莓perl com http strawberryperl com 在我的 Windows 10 上并尝试使用 cpan 安装 Tcl 模块 但由于缺少 tclsh 而失
  • TCL - 按任意数量的空格将字符串拆分为列表

    假设我有一个像这样的字符串 set str AAA B C DFG 142 56 现在我想得到一个列表 如下所示 AAA B C DFG 142 56 为此 我想使用 split 函数 但在这种情况下我会得到一些额外的空列表 我怎样才能得到
  • TCL/Expect - exec - 如何使用参数执行程序

    我正在尝试使用 TCL 命令exec in tclsh这是我的结果 set show me dir ls ls exec show me dir VboxSharedFolder set show me dir ls la ls la ex
  • 使用 tkinter 时如何将 tcl 中的 stdout 获取到 python 字符串变量中?

    我有以下 python 代码 import Tkinter root Tkinter Tk root tk eval puts printed by tcl 它会在屏幕上打印 printed by tcl 如何将 tcl 解释器打印到屏幕上
  • `new_root.mainloop()` 不会使主窗口无响应

    假设我有这个 tkinter 脚本 import tkinter as tk def callback new root tk Tk new root mainloop print Done root tk Tk button tk But
  • 将列表传递给 Tcl 过程

    将列表传递给 Tcl 过程的规范方法是什么 如果我能得到它 以便列表自动扩展为可变数量的参数 我真的很喜欢它 所以像这样 set a b c myprocedure option1 option2 a and myprocedure opt
  • 为脚本语言设置 Maven?

    Maven 用于构建和管理任何基于 Java 的项目 但是如果项目使用脚本语言会发生什么呢 maven 现在对 TCL 能做的就是复制文件并将它们放在目标目录中的正确位置 我的问题如下 代码在 TCL 中 gt 需要解释器而不是编译器 它看
  • 黑莓开发上的脚本语言?

    据我所知 开发 Blackberry 应用程序的首选方法是 Java 这是吗only way 我梦想有一个快速的应用程序环境 您可以在其中创建 GUI 使用 Blackberry UI 组件 类似于 Blackberry 上的 Tcl Tk
  • Tcl + 检查文件存在

    我正在尝试检查 Tcl 中是否存在文件 但我似乎无法得到真实的结果 尽管我知道它的存在 while true if file exists file name 1 exp send copy file txt destination r p
  • 按值对 Tcl 字典排序

    我想知道 Tcl 中是否有一种按值对 dict 进行排序的优雅方法 假设我有以下字典 set d1 dict create k1 10 k2 89 k3 1 k4 15 k5 20 Results in dict of form k1 gt
  • tcl 暂停并等待按键继续

    我正在 tcl 中寻找一种方法来暂停脚本 例如在使用 puts 进行一些输出之后 并等待用户按下按键 然后再继续输出剩余的文本 你只需使用gets从标准输入读取 proc pause message Hit Enter to continu
  • 如何在tcl中搜索数字即进程ID并杀死进程ID

    我尝试搜索存储在变量 say 缓冲区中的进程 id i e 6762 nohup tcpdump ni eth0 s0 2 gt 1 null 1 6762 You have new mail in var mail root 如果匹配的话
  • 打印大型 TCL 项目的源层次结构

    因此 我正在处理一个大型 TCL 项目 并且认为构建一个树状视图来显示文件在项目中的来源方式会很酷 我修改了源命令以执行以下操作 rename source real source proc source args set file han
  • 带可选参数的 TCL 过程调用

    存在一个 TCL 脚本 该脚本具有多个名称相似的过程定义func在不同的命名空间中 程序如下 proc func a puts a 所有这类程序都只有一个参数a 所有此类过程都是从整个脚本中的一行调用的 func a 我需要创建另一个具有相
  • 将 csv 数据写入命名空间内的矩阵时,TCL 抛出无效命令名称

    这是一个奇怪的问题 我似乎无法弄清楚 我正在使用 TCL 8 5 我正在尝试使用以下命令将数据从 CSV 文件读取到矩阵中csv read2matrix命令 然而 每次我这样做时 它都会说我试图写入的矩阵是无效命令 我正在做的事情的片段 p
  • 如何从 tcl 列表中删除空元素

    你好 我有以下清单 设置 qprList 12345 12345
  • 正则表达式文字-文本范围

    有什么方法可以向正则表达式指示要显式搜索的文本块吗 我问这个问题是因为我必须匹配一段非常非常长的文本 其中包含各种元字符 并且 并且必须完全匹配 然后是一些灵活的内容 足以值得使用正则表达式 然后是更多文本必须完全匹配 冲洗 重复 不用说
  • (Tcl/Expect) 退出后清屏

    我想在退出我的 半 交互式期望脚本后清除屏幕 在本地计算机上 我可以在脚本中做到这一点吗 这是我尝试过的 但失败了 usr bin expect f set env TERM vt100 spawn ssh Y username domai

随机推荐

  • 仅颤动具有左上角和右上角边框的顶部边框

    我只需要向小部件 最好是容器 卡片 添加具有左上 右上边框半径的顶部边框阴影 我不需要左 右 下边框 请看下图 我尝试使用如下容器 Container child buildRemaining context decoration BoxD
  • Postman 中的“传输开始”是什么意思?

    我试图弄清楚为什么 API 需要很长时间才能处理我的请求 并在 Postman 中发现了这一点 传输开始是什么意思 https community postman com t how to interpret time details in
  • 如何在jquery-mobile/phonegap的$(document).ready()/onDeviceReady()上加载脚本[重复]

    这个问题在这里已经有答案了 我正在使用 PhoneGap 和 jQuery Mobile 开发一个应用程序 现在 当页面加载时 我想加载一个script js file 基本上onDeviceReady or document ready
  • android studio 2.2如何在没有android-apt插件的情况下应用dagger2

    我的项目 build gradle buildscript repositories jcenter dependencies classpath com android tools build gradle 2 2 0 alpha3 cl
  • 对(可能的)Android 内存泄漏一无所知

    我一直面临着一些烦人的事情OutOfMemoryErrors 即使在确保我的所有位图都正确缩放等之后 事实上 这个问题似乎与位图根本无关 但我可能是错的 出于测试和错误隔离的目的 我一直使用导航抽屉 不使用后退按钮 在两个活动 让我们称之为
  • 如何在 React 中将 select 元素与 prop 双向绑定

    在反应中创建选择元素的批准方法是什么 它与包含组件的选择的道具有两种方式绑定 默认选择应该是 prop 的当前属性 可以生成 因为该值是任意的 并且在选择时 prop 属性应该反映选择 此外 应该可以将值直接写入选择字段 我将选项添加到状态
  • 如何检测正在运行的 MSI 安装 [重复]

    这个问题在这里已经有答案了 我正在寻找一种方法来检测 Windows Installer 安装是否已在进行中 到目前为止我发现的是 检查注册表项 HKEY LOCAL MACHINE SOFTWARE Microsoft Windows C
  • 通配符证书对 mydomain.com 无效

    我创建了通配符证书来支持我的网站域和子域 新证书适用于我的子域 例如 www mydomain com sub mydomain com 但是当我尝试访问 mydomain com 时 我收到证书警告 该证书仅对 mydomain com
  • 葡萄酒规格文件

    我有一个名为的 Windows DLLmorag dll包含函数 foo 和 bar 我还有一个名为的 Linux SOmorag so包含 foo 和 bar 的 Linux 实现 每个平台上的参数相同 我有一个可以加载的 Windows
  • 来自子进程的大数据块的 pexpect 超时

    我正在使用 pexpect 调用另一个提示输入 raw input 的 python 脚本 py27 我试图围绕这个脚本构建一个 GUI 包装器而不修改它 我遇到的问题是 我调用的脚本在下一个命令提示符之前执行时返回了大量数据 例如 10K
  • 如何在集成测试中使用 Propagation.REQUIRES_NEW 回滚嵌套事务

    我对扩展以下基类的各种服务进行了几个集成测试 ContextConfiguration locations classpath applicationContext test xml TransactionConfiguration tra
  • 在 Firebase 中对数据进行排序

    我正在使用 Firebase listview 如下所示 它的工作方式就像一个魅力 但问题是它在我的 listview lv 末尾显示子项 Posts 中最后按下的键 我希望最后按下的键最重要的是显示 或者我是否可以按日期对其进行排序 qu
  • MS Access SQL,更改数据类型

    当尝试在 Access 的设计模式下将数据类型从文本更改为数字 使用接近 2 GB 的数据库 时 我不断收到 磁盘空间或内存不足 错误 因此我找到了一种解决方法 基本上创建一个新列 将数据类型设置为数字 复制旧列内容 删除旧列并将新列重命名
  • 给定源顶点,查找有向图中具有环路的所有路径

    我无法解决这个问题 我必须找到所有simple从源顶点开始的路径s含有一个simple有向图中的循环 即不允许重复 当然除了循环在路径上连接回的单个重复顶点 我知道如何使用 DFS 访问来查找图形是否有循环 但我找不到一种方法来使用它来查找
  • 如何正确地将React组件存储在单独的文件中并导入React?

    我已经完成了一些 React 教程的介绍 并尝试将迄今为止的一些知识运用起来 我已经成功地在 a 中创建了一些组件
  • 如何获取UISlider拇指图像的中心

    我正在创建一个自定义UISlider测试一些界面创意 主要是基于使拇指图像更大 我找到了如何做到这一点like so UIImage thumb UIImage imageNamed newThumbImage 64px png self
  • 如何在使用邻接矩阵表示的大型网络中找到桥梁(社区连接节点)

    我有大约 10K 到 100K 个节点的网络 这些节点都已连接 这些节点通常被分组为社区集群 这些社区集群之间通过许多边紧密相连 并且存在集线器等 在社区之间存在具有一些边的节点bridging 连接社区在一起 这些数据集位于邻接矩阵中 我
  • htaccess 全部重写为index.html

    我正在尝试写 htaccess文件 以便无论用户请求什么 他都会获得该页面index html 我写过这个 Options FollowSymlinks RewriteEngine on RewriteRule index html NC
  • APC 命中/未命中和配置

    APC 操作码缓存中的 命中和未命中 是什么 我已经安装了 APC 并且运行得很好 但是我有 一些 失误 我想知道这是否是 坏 的 另外 我正在运行 Openx 因此 很快就会填满 缓存完整计数 我需要在配置中更改哪些内容才能最大限度地减少
  • 打印大型 TCL 项目的源层次结构

    因此 我正在处理一个大型 TCL 项目 并且认为构建一个树状视图来显示文件在项目中的来源方式会很酷 我修改了源命令以执行以下操作 rename source real source proc source args set file han