获取局部变量的名称

2023-11-26

在开发和调试时,我有时希望能够编写一个单行代码来转储一堆变量的名称、类型和值。问题是我不知道如何访问变量的名称(如果可以的话)。

这是第一次尝试:

foo = 1
bar = "42"
baz = Hash.new

[foo, bar, baz].each do |v|
    puts "#{v.???} = (#{v.class}) #{v}"
    end

我希望这个程序的输出是这样的:

foo = (Fixnum) 1 
bar = (String) 42 
baz = (Hash) ...

我不知道什么???应该在上面。这可以做到吗?


foo = 1
bar = "42"
baz = Hash.new

%w(foo bar baz).each do |vn|
    v = eval(vn)
    puts "#{vn} = (#{v.class}) #{v}"
end

但是,如果您想要一个只有 1 个参数的方法,这当然对您没有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取局部变量的名称 的相关文章

  • 使用 Ruby CSV 在第 1 行中进行非法引用

    我收到此错误 Illegal quoting in line 1 CSV MalformedCSVError 我的文件中的第 1 行如下 Status Internal ID Language Created At Updated At I
  • 安全导航相当于 Rails 尝试哈希值

    在 Rails 中 你可以这样做hash try key 这有帮助如果hash是潜在的nil 是否有使用新的 Ruby 2 3 安全导航运算符的等效版本 with 不等同于 Rails 的try 但你可以使用 对于哈希值 就用用吧 没什么特
  • Rails 从视图中调用操作

    希望这里有一个简单的问题 但我似乎无法找到答案 刚刚开始使用 RoR 但之前来自 ASP MVC 我在渲染部分视图时遇到问题 其局部变量不一定与主视图的变量相关联 例如 对于一个博客 我试图渲染一个链接到存档的侧边栏 def sidebar
  • 如何检查一个数字是否包含在一个范围内(在一个语句中)?

    我正在使用 Ruby on Rails 3 0 9 我想检查某个数字是否包含在某个范围内 也就是说 如果我有一个变量number 5我想检查一下1 lt number lt 10并检索一个布尔值 如果number值包含在该范围内 我可以这样
  • Ruby Shoes 打包程序,包括应用程序中的 Shoes

    我似乎无法让 Ruby Shoes 打包程序正确创建包含 Shoes 的 exe 我正在使用 Raisins 版本 0 r1134 并从 github 替换 pack rb 打包程序制作的 exe 都是 70 80K 文件 它们显然不包括
  • 设计不能很好地处理 RoR3 应用程序上的多个子域

    我看到了很多关于这个主题的问题 但其中很多都有相互矛盾的信息 并且由于某种原因它对我不起作用 I have 顶级域名 即 lvh me 开发 每个用户都有子域 即 userdomain lvh me 登录表单位于顶级域 lvh me I w
  • MacOS 每秒唤醒次数错误

    构建 Rails 应用程序 ruby 2 4 0p0 Rails 5 1 4 并使用我的 Macbook Air MacOS High Sierra 10 13 2 进行本地测试 我不断遇到此问题 过去 241 秒内有 45001 次唤醒
  • 强制 DataMapper 断开与 postgresql 的连接

    我有一个测试 正在 postgresql 中创建和销毁多个数据库 为了能够删除数据库 我需要告诉 DataMapper 断开连接 我似乎找不到任何有关如何执行此操作的文档 DataMapper Adapters PostgresAdapte
  • Rails Partial (Rails 3, HAML) 任意慢

    我使用的是 Rails 3 0 1 HAML 0 3 22 和 Mongrel 1 1 5 MongoMapper 不是 AR 我正在渲染一个列表 每个列表项都是它自己的部分 每次页面渲染其中一个列表项部分时 渲染时间都会延长近 100 倍
  • 可以在哈希每个循环中访问索引吗?

    我可能遗漏了一些明显的东西 但是有没有办法访问哈希每个循环内迭代的索引 计数 hash three gt one four gt two one gt three hash each key value any way to know wh
  • Ruby 代码到 JAR

    我希望能够将 ruby 程序编译为 java JAR 程序 我研究过 JRuby 看到了几个能够 eval ruby 代码的 Java 应用程序示例 但是是否有更优雅的解决方案允许简单地用 ruby 编写所有内容 然后将其直接编译为 JAR
  • 在 Rails 4 中渲染部分/rake 任务/后台作业/模型中的视图

    我读过很多关于在 rake 任务 后台作业 模型中渲染 Rails 部分和视图的内容 我在 Stackoverflow 和网络上找到的绝大多数内容都描述了在 Rails 3 中工作的方法 但它们似乎已经过时了 而且我没有让它们工作 即使花了
  • 如何让 Sinatra 通过 HTTPS/SSL 工作?

    正如标题所示 谷歌没有提供任何与此相关的有用信息 如何为 Sinatra 应用程序设置和配置 HTTPS SSL 如何创建 HTTPS 路由 我以前从未在我的应用程序中使用过 HTTPS 也没有调整 Rack 其他内容的经验 所以我很欣赏详
  • 使用 Ruby 获取 AWS 区域名称

    我正在为 AWS 开发 Rails 应用程序 并希望为区域名称创建下拉菜单 例如 us east 1 等 如果有人已经创建了 gem 来获取它们 我想使用它 有人知道这样的 gem 或有用的 API 吗 适用于 Ruby 的 AWS 开发工
  • 方法调用中是否有记忆约定?

    我想避免在方法调用中重新评估值 直到现在 我一直在这样做 def some method some method begin lot s of code end end 但它最终变得非常丑陋 在一些代码中 我看到类似以下内容 def som
  • 使用 YAML.load 解析 json 安全吗?

    我使用的是红宝石2 1 0 我有一个 json 文件 例如 测试 json item apple 1 banana 2 使用 YAML load 加载此文件是否安全 YAML load File read test json 我正在尝试加载
  • 如何编写一个在安装 RubyGem 时调用的钩子?

    我想编写一个 Ruby 片段 当我的 Gem 首次安装时运行 sudo gem install mygem 能做到吗 看起来并没有真正支持 我发现了一个 post install message 属性 您应该能够在 gem 规范中设置该属性
  • 为什么 rand() 总是返回相同的数字?

    我在用 兰特 200 在我的 Rails 应用程序中 当我在控制台中运行它时 它总是返回随机数 但如果我在应用程序行中使用它 index rand 200 索引总是相同的号码 为什么会这样以及如何克服这个问题 简单的伪随机数生成器实际上生成
  • ||= 是什么意思? [复制]

    这个问题在这里已经有答案了 我的应用程序控制器中有一个受保护的方法 def current user current user User find by id session user id end 我想知道什么 方法 我一直在努力寻找和找
  • 下载所有 gems 依赖项

    我想通过下载任何所需的文件并将它们带到另一台计算机来安装指南针没有互联网连接 我已经下载了指南针的源包 当我在未连接的计算机上运行 gem 时 它抱怨缺少依赖项 有什么解决办法吗 这正是我遇到的问题 经过一段时间的搜索后 我找到了一个可以使

随机推荐

  • 用鼠标在画布上画线:Java awt

    尝试是在 awt canvas 上使用鼠标绘制图形 现在是一条线 我是第一次尝试java图形 所以不知道该怎么做 这是我的第一次尝试 package def grafi import java awt Canvas import java
  • 从多个不同的 Rails 模型创建“提要”

    我正在开发一个具有几种不同模型 票证 帖子 报告等 的应用程序 每个模型中的数据都不同 我想从所有这些模型创建一个 提要 全面显示 10 个最新条目 所有数据的混合 解决这个问题的最佳方法是什么 当为用户分配票证或发布新报告时 我是否应该创
  • 在 Perl 中如何判断变量是否具有数值?

    Perl 中有没有一种简单的方法可以让我确定给定变量是否是数字 大致如下 if is number x 将是理想的 一种不会在以下情况下发出警告的技术 w正在使用的开关当然是首选 Use Scalar Util looks like num
  • 如何在命令行中运行/调试 javascript

    我想知道 实际上我知道肯定有这样一种在命令行中运行js的方法 因为当我观看google I 0演示时 他们使用像d8这样的命令 也许它是V8引擎的一部分 有什么方法可以在命令行中运行 调试我的 JavaScript 例如d8 myJsfil
  • 如何在 iPhone 的 MKMapView 中显示带点(圆圈)的蓝色图钉

    我的问题可能看起来有点复杂 但让我澄清一下 我正在使用 mkmapview 在这里我想用蓝点和圆圈显示当前用户位置 但这并不是我想要的 当我正在制作一个 iPhone 应用程序时 由于我是地图集成的新手 因此我很难做到同样的事情 如果有人可
  • 从数据框列表中合并数据框[重复]

    这个问题在这里已经有答案了 我有一个数据框列表 如下所示 ls 1 1 month year oracle 1 2004 356 0000 2 2004 390 0000 3 2004 394 4286 4 2004 391 8571 ls
  • 溢出换行和断字之间的区别?

    之间的确切区别是什么overflow wrap word wrap and word break 谁能告诉我打破很长链接的更好方法是什么 大多数人说你应该将分词与overflow wrap但这看起来不太合逻辑 我认为使用overflow w
  • 随机排列数组 swift 3

    我怎样才能将下面的函数转换为swift 3 目前正在获取一个Binary operator lt cannot be applied to operands of type Int and Self IndexDistance error
  • 修改核心数据模型后重新创建类定义的更好方法?

    在 XCode 中设计核心数据模型时 可以通过以下方式自动生成 NSManagedObject 子类定义 m 和 h 文件 选择Entities 选择 创建 NSManagedObject 子类 EDITOR menu 之后 您可能会在这些
  • 你能使用 WINDOWS 构建一个 React-native iOS 应用程序吗?

    您可以在 Windows 上使用 React Native 构建 iOS 吗 还是需要xcode 如果是这样 有什么解决方法吗 我不想在 Mac 或 Mac 虚拟机上工作 我认为你用react native创建的应用程序可以在iOS上运行
  • 如何将 Docker 容器配置为可以通过容器 IP:端口从主机外部访问?

    我的主机有多个 IP 地址分配给一个网络接口 我想配置 Docker 以便让每个容器 响应 分配给主机的这些 IP 地址中的单个 IP 这可以通过 libcontainer 完成还是我必须使用 LXC 驱动程序并使用以下命令运行我的容器 l
  • 在响应完成之前关闭 HttpURLConnection

    背景 我在用着HttpURLConnection在客户端上使用 HTTP 流 服务器推送 情况下的响应 尽管服务器可以通过关闭响应来关闭连接 但客户端也需要能够执行此操作 Problem 客户端处理InputStream在一个单独的线程中
  • Shell:在多个文件中查找匹配行

    我正在尝试使用 shell 脚本 以及 oneliner 来查找大约 50 个文件之间的任何公共行 Edit 注意我正在寻找出现在所有文件中的一行 行 到目前为止我已经尝试过 grepgrep v x f file1 sp 它只匹配所有其他
  • 编译器强制我实现特征方法,但方法上绑定的“Self”特征永远不会满足我的类型

    我有一个特质Foo 我想强迫实现者定义一个方法 if这些实现者实现了另一个特征 Clone在此示例中 我的想法 操场 trait Foo Note in my real application the trait has other met
  • 导入 Access .mdb 时 SQL Server 导入向导“工作组信息文件”错误

    是否可以导入 MS Access 如果我没有安装 MS Access 如何将 mdb 文件导入 SQLExpress 我问的原因是因为我在尝试使用 SQL Management Studio 中的导入向导执行此任务时收到以下错误 由于初始化
  • PHP 8.2 动态属性已弃用:如何以兼容的方式使用它们

    在 PHP 8 2 中 动态属性已弃用 并且从 PHP 9 开始将导致致命错误 Using 动态属性 on Classes运行 PHP 8 2 将导致PHP Deprecated Creation of dynamic property i
  • matplotlib 动画绘图不会使用 blit 更新轴上的标签

    我正在使用 wxPython 在图中绘制数据 其中 y 轴上的数据限制随着数据而变化 我想动态更改轴而不重新绘制整个画布 例如canvas draw 相反我想用blitting为此 就像我为情节本身所做的那样 我要做的是改变 y 轴 并且我
  • 方法里面可以有方法吗?

    我有一个方法里面有一个方法 内部方法取决于正在运行的变量循环 这是一个坏主意吗 更新 由于这个答案最近似乎引起了一些兴趣 我想指出的是关于 Ruby 问题跟踪器的讨论remove这里讨论的功能 即forbid在方法体中包含方法定义 不 Ru
  • Python Tkinter 网格几何粘性设置无效(?)

    我正在使用 Python Tkinter 设计简单的输入对话框grid几何 并得到一些意想不到的行为 当我开始使用这段代码时 winAddNew tk Toplevel winAddNew title Add New Customer lb
  • 获取局部变量的名称

    在开发和调试时 我有时希望能够编写一个单行代码来转储一堆变量的名称 类型和值 问题是我不知道如何访问变量的名称 如果可以的话 这是第一次尝试 foo 1 bar 42 baz Hash new foo bar baz each do v p