You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cheetah3中动态构造占位符变量名,实现bash间接变量取值效果

Cheetah3 实现 bash 风格间接变量取值的方法

在bash中通过${!variablename}实现的间接变量取值逻辑,在Cheetah3中可以直接用内置的$getVar()方法实现,无需额外扩展。
getVar接收变量名字符串作为入参,会自动查找当前模板上下文中对应名称的变量并返回值,完全匹配需求场景。

对应需求示例的Cheetah3实现代码

## 定义基础变量
#set $ONE = "1"
#set $TWO = "2"
#set $CHOICE = "ONE"

## 输出ONE变量的值,等价于bash的 ${!CHOICE}
$getVar($CHOICE)

## 切换CHOICE取值
#set $CHOICE = "TWO"
$getVar($CHOICE)

上述模板渲染后输出结果和bash示例完全一致:

1
2

可选进阶用法

如果需要兼容变量不存在的场景,可以给getVar传第二个参数作为默认值,避免模板渲染报错:

## 当$CHOICE对应的变量不存在时,返回默认值N/A
$getVar($CHOICE, "N/A")

内容的提问来源于stack exchange,提问作者Joel Bion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:54:01