我需要在perl中实现以下功能
printmsg(@val1, $msg1) if @val1;
printmsg(@val2, $msg2) if @val2;
printmsg(@val3, $msg3) if @val3;
printmsg(@val4, $msg4) if @val4;
printmsg(@val5, $msg5) if @val5;
printmsg(@val6, $msg6) if @val6;
Run Code Online (Sandbox Code Playgroud)
所以我写了下面的代码片段
for(my $i=1; $i < 6; $i++ ) {
printmsg(@val$i, $msg$i) if @val$i;
}
Run Code Online (Sandbox Code Playgroud)
它不起作用并且会出错.
如何在VBscript中将字符串转换为变量名?我发现JavaScript,C#,Pyton,Perl,Ruby,Java的类似Q/A ,但不适用于VBscript.
这就是为什么我不能直接使用变量而不是字符串:
我从Web服务获得了一个逗号分隔的权限名称列表.项目经理可以随时更新此列表,并期望我检查软件用户是否被授予这些权限.用户的权限在运行时通过复杂的方法以及配置文件数据,软件中的活动历史等设置.例如,如果用户购买了1000个产品,变量SuperCustomerPermission将在页面标题中为他设置SuperCustomerPermission="yes"(不作为cookie或会话也不存储在数据库中).
要检查权限列表,我想将权限名称列表传递给函数并循环显示名称:
我从Web服务获得的权限名称:
permissionNames = "adminPermission,deletePermission,configPermission,SuperCustomerPermission"
Run Code Online (Sandbox Code Playgroud)
我尝试将这些字符串作为变量传递给子例程:
Sub checkPermission(PermissionNames)
permissionNamesArray = split(permissionNames,",",-1,1)
For Each x In permissionNamesArray
'How to convert x to its variable equivalent and check if it equals "yes"
Next
End Sub
Call checkPermission(permissionNames)
Run Code Online (Sandbox Code Playgroud)