gpt4 book ai didi

Tcl [list a b c] 与 {a b c} 有区别吗?在什么情况下?

转载 作者:行者123 更新时间:2023-12-01 07:47:15 26 4
gpt4 key购买 nike

我在玩 Tcl 并发现了几个场景,其中 [list a b c]可与 {a b c} 互换.什么是首选方法,在哪里[list a b c]无法匹配 {a b c} 的行为?

最佳答案

% set lista [list a b c]
a b c
% set listb {a b c}
a b c
% set b {1 2 3}
1 2 3
% set lista [list a $b c]
a {1 2 3} c
% set listb {a $b c}
a $b c

当您使用文字构建列表时,这两种形式是等效的。当您使用变量时, [list ...]表单将在将变量放入字符串和 {...} 之前展开变量。形式不会。

本质上, {...}将其中的任何内容视为单个连续字符串;特殊字符 $永远不会被解释。 [list ...]语句接受它的参数并将它们连接在一起,用空格分隔。因此,如果您正在处理的项目是字符串文字并且不包含任何需要解释的内容,那么这两种形式是相同的。

关于Tcl [list a b c] 与 {a b c} 有区别吗?在什么情况下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3460502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com