bash - 时髦的。获取部分值被参数化的参数值
问题描述
嗨,我想做这样的事情......
DEV_HOST = "some hostname"
DEV_INST = "2"
DEV_TEST_HOST = "some other hostname"
DEV_TEST_INST = "3"
get_values(DEV_TEST_HOST)
def get_values(environment) {
println environment
println ${environment}_INST
}
期望的输出应该是:
some other hostname
3
甚至可能吗?谢谢!
解决方案
您不能将值传递给函数,然后在调用该函数时反省变量的名称(或者说,如果可能,那么这只是太多级别的过度杀伤)。
假设您有某种地图(例如环境),您可以传入您感兴趣的密钥。然后对密钥进行所有转换,然后向环境询问密钥。例如
def env = [
DEV_TEST_HOST: "some other hostname" ,
DEV_TEST_INST: "3",
]
get_values(env, "DEV_TEST_HOST")
def get_values(env, key) {
println env[key]
println env[key.replace('HOST', 'INST')]
}
推荐阅读
- c - 当我想绘制 B 样条曲线时,我遇到了循环问题
- html - Bootstrap下拉高度不随数据变化而更新 - Angular
- tcl - 试图理解这行 Tcl 代码
- javascript - 在尝试将该参数中的值作为二维数组返回时,在以范围作为参数的 Google 表格自定义函数上,不会打印该值
- c# - 更改单元格值C#后如何在线更改datagridview中的行颜色?
- c++ - 如何在等宽 SDL2 TTF 中呈现文本
- ios - 表格视图单元格不显示相应的网站
- csvhelper - CSVHelper 双许可证
- json - Jolt transformation combining multiple values in an array of objects when multiple objects are in input
- c++ - 仅绑定到一种类型的转发引用?