为什么可以';我是否可以访问tcl中pi的正确值?

为什么可以';我是否可以访问tcl中pi的正确值?,tcl,Tcl,以下是我执行的代码: C:\intelFPGA\18.1\quartus\bin64>tclsh86 % puts $tcl_version 8.6 % package require math::constants 1.0.2 % puts [pi] 26576 % puts [PI] invalid command name "PI" % puts [math::constants::pi] invalid command name "math::cons

以下是我执行的代码:

C:\intelFPGA\18.1\quartus\bin64>tclsh86
% puts $tcl_version
8.6
% package require math::constants
1.0.2
% puts [pi]
26576
% puts [PI]
invalid command name "PI"
% puts [math::constants::pi]
invalid command name "math::constants::pi"
% puts [math::constants::constants::pi]
invalid command name "math::constants::constants::pi"

为什么我会得到错误的pi值?为什么即使使用::运算符进入数学包,也无法访问正确的值?我刚刚安装了tcl库,但仍然有问题。

这是一个变量,不是命令:

% puts $::math::constants::pi
3.141592653589793
或者直接将其导入当前命名空间:

% ::math::constants::constants pi
% puts $pi
3.141592653589793

pi
不是一个函数我原以为pi的值会被放入[]中,但你让我意识到[]是用来调用命令执行的,新内容将被放入其中。我得到的26576是什么?我不明白。@Quantum0xE7
[pi]
在顶级命令中解析为调用该命令,因此这是您的进程ID。解析未知命令的详细信息在中。了解tcl环境中的进程ID是否有用在核心tcl中不是非常有用,但是,如果您使用的是tclx扩展及其对unix系统编程的支持,那么了解PID对于某些任务可能会很有用。这意味着要做一些事情,比如单步执行代码、查看函数调用的跟踪、监视变量类型和值、添加断点、通过将鼠标悬停在e.t.c.上查看变量类型。请推荐一些您熟悉的东西。谢谢