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

如何在标准Ruby中通过哈希键动态创建本地及全局变量

实现方案

核心逻辑说明

  • 全局变量直接使用Ruby内置的global_variable_set方法设置,无需额外处理
  • 本地变量通过当前上下文绑定对象binding的内置方法local_variable_set创建,是标准Ruby原生支持的API,没有语法安全风险

完整可运行代码

# 定义原始哈希
var_map = {"string_1_0" => "1.0","$string_1"=>2}

var_map.each do |var_name, var_value|
  if var_name.start_with?('$')
    # 处理全局变量
    global_variable_set(var_name, var_value)
  else
    # 处理本地变量,兼容Ruby 2.1及以上所有标准Ruby环境
    binding.local_variable_set(var_name, var_value)
  end
end

# 验证输出
puts $string_1
# 本地变量验证:puts string_1_0 会输出 "1.0"

运行结果

2

需求匹配说明

  • 完全使用标准Ruby内置API,无第三方依赖,不需要JRuby环境
  • 直接使用哈希原键作为变量名,无任何修改
  • 同时支持全局变量和本地变量的动态创建,可直接正常访问生成的变量

内容的提问来源于stack exchange,提问作者Basa Sai ram

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:06:03