我制作了一个名为void Common::setSeed() {
static bool set = false;
if (!set)
{
srand(time(NULL));
set = true;
}
}
的函数。在此函数之外,我创建了一个名为translate(x)
的变量。我想使用korean
函数调用我的korean
。但是,没有成功编译,而是发生了错误。
vars()[]
我认为输出将为korean = 'ko-KR'
lgf = 'korean'
def translate(x):
lgfn = vars()[x]
return lgfn;
translate(lgf)
,但是在编译之后,它返回一个'ko-KR'
答案 0 :(得分:2)
如评论中所建议,此处无需vars()
。一个简单的字典就足够了
def translate(key):
#Return value for a given key
dct = {'korean': 'ko-KR'}
return dct[key]
print(translate('korean'))
输出将为
ko-KR
答案 1 :(得分:0)
您应该改用$OutputlistView.SelectedItems | Foreach-Object{
$_.SubItems[0].Text + " , " + $_.SubItems[1].Text + " , " + $_.SubItems[2].Text
} | clip
globals
输出korean = 'ko-KR'
lgf = 'korean'
def translate(x):
lgfn = globals()[x]
return lgfn;
print(translate(lgf))
有几种获取环境变量的方法:
var()可以作为locals()使用,它将为您提供函数范围内的变量。而全局变量拥有所有全局函数