相关疑难解决方法(0)

在Ruby中使用变量的值作为另一个变量名

我刚刚开始学习Ruby,我编写了一个生成一些数字的程序,并将它们分配给变量@ one,@ two,@ three等.然后用户可以通过输入它的名称来指定要更改的变量(例如一).然后我需要做'@ [valueofinout] = asd'之类的事情.我怎么会这样做,并且有更好的方式,因为我想的方式似乎被劝阻了?我发现了

x = "myvar"
myvar = "hi"
eval(x) -> "hi"
Run Code Online (Sandbox Code Playgroud)

但我不完全理解为什么需要第二行.在我的情况下,我会使用类似的东西

@one = "21"
input = "one"
input = "@" + input
changeto = "22"
eval(input) -> changeto
Run Code Online (Sandbox Code Playgroud)

ruby variables dynamic-variables

20
推荐指数
1
解决办法
2万
查看次数

如何在运行时动态创建实例方法?

[红宝石1.8]

假设我有:

dummy "string" do
    puts "thing" 
end
Run Code Online (Sandbox Code Playgroud)

现在,这是对一个方法的调用,该方法具有一个字符串和一个块作为输入参数.尼斯.

现在假设我可以有很多类似的调用(不同的方法名称,相同的参数).例:

otherdummy "string" do
    puts "thing"
end
Run Code Online (Sandbox Code Playgroud)

现在因为他们做了同样的事情,而且他们可以成百上千,我不想为想要的类中的每一个创建一个实例方法.我想找到一种基于一般规则在运行时动态定义方法的智能方法.

那可能吗?通常使用哪种技术?

谢谢

ruby metaprogramming ruby-1.8

6
推荐指数
2
解决办法
7835
查看次数

在VBScript中将字符串转换为变量名称

如何在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)

vbscript type-conversion asp-classic

2
推荐指数
1
解决办法
751
查看次数