在 Ruby 中使用方法名称从字符串调用方法

2023-11-24

我怎样才能做到他们所说的here,但是在 Ruby 中呢?

您将如何在对象上执行该功能?以及你将如何执行全局函数(请参阅 jetxee 的answer在提到的帖子上)?

示例代码:

event_name = "load"

def load()
  puts "load() function was executed."
end

def row_changed()
  puts "row_changed() function was executed."
end 

#something here to see that event_name = "load" and run load()

UPDATE:如何获取全局方法?或者我的全局函数?

我尝试了这条附加线

puts methods

以及未列出的 load 和 row_change。


直接在对象上调用函数

a = [2, 2, 3]
a.send("length")
# or
a.public_send("length")

如预期返回 3

或对于模块功能

FileUtils.send('pwd')
# or
FileUtils.public_send(:pwd)

和本地定义的方法

def load()
    puts "load() function was executed."
end

send('load')
# or
public_send('load')

文档:

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

在 Ruby 中使用方法名称从字符串调用方法 的相关文章

  • 如何仅将数字形式的字符串哈希值转换为整数

    我有从几个不同的 XML 数据库转储导入的哈希行 如下所示 但具有不同的键 Id gt 1 Name gt Cat Description gt Feline Count gt 123 我尝试使用 to i但它将非数字字符串转换为0 Fel
  • Ruby Shoes 打包程序,包括应用程序中的 Shoes

    我似乎无法让 Ruby Shoes 打包程序正确创建包含 Shoes 的 exe 我正在使用 Raisins 版本 0 r1134 并从 github 替换 pack rb 打包程序制作的 exe 都是 70 80K 文件 它们显然不包括
  • Heroku 推送错误:rake 资源上的“NameError:未初始化常量 Uglifier::VERSION”:预编译

    我在尝试推送到生产环境时收到以下错误 这是推送的结果 git push production master Counting objects 124 done Delta compression using up to 4 threads
  • 用 ruby​​ 中的数组内容替换字符串?

    String Test string Test array link1 link2 如何替换这样的字符串 输出应该是String link1 string link2 字符串 gsub 可以返回一个枚举器 所以这很简单 string gsu
  • MacOS 每秒唤醒次数错误

    构建 Rails 应用程序 ruby 2 4 0p0 Rails 5 1 4 并使用我的 Macbook Air MacOS High Sierra 10 13 2 进行本地测试 我不断遇到此问题 过去 241 秒内有 45001 次唤醒
  • 如何运行使用 Rails 模型的 Ruby 任务?

    我有一个带有一些基本模型的 Rails 应用程序 该网站显示从其他来源检索到的数据 因此 我需要编写一个 Ruby 脚本来在数据库中创建新实例 我知道我可以使用测试挂钩来做到这一点 但我不确定这在这里是否有意义 我不确定这个任务应该是什么样
  • 需要帮助获取嵌套的 ruby​​ 哈希层次结构

    我有哈希深层嵌套哈希 我希望每个键的层次结构 父到子 作为数组 例如 hash properties gt one gt extra headers gt type gt object type1 gt object2 entity gt
  • Rails 4 ExecJS::Listings#index 中的程序错误

    将 JavaScript 添加到我的网络应用程序后 我现在收到以下错误 ExecJS ProgramError in Listings index stdin 16 5 error unexpected else else in Users
  • 在 Ruby/Sinatra 中解码 Facebook 的签名请求

    由于 Facebook 不赞成使用新的 FBML 我正在寻找一种新方法来创建 显示 选项卡 向粉丝显示一个版本 向非粉丝显示另一个版本的页面选项卡 Facebook 已将数据添加到signed request 中 当用户在应用程序中选择您的
  • Rails 返回 JSON 序列化属性 with_in Different_access

    我以前有 serialize params JSON 但这会返回 JSON 并将哈希键符号转换为字符串 我想使用符号引用哈希 这在使用哈希时最常见 我向它提供符号 Rails 返回字符串 为了避免这种情况 我创建了自己的 getter se
  • Groovy 中的显式输入:有时还是从不?

    后来 仍然无法弄清楚 Groovy 是否具有静态类型 似乎没有 或者使用显式类型生成的字节码是否不同 似乎是 无论如何 回答这个问题 One of the main differences between Groovy and other
  • close 似乎不适用于 WebSocket

    我有这个简单的 JavaScript 代码 window ws new WebSocket ws 127 0 0 1 8000 ws onopen function ws send hello Ruby 中的服务器如下所示 require
  • 可以在哈希每个循环中访问索引吗?

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

    I used ActiveRecord Base set table name在动态创建的 ActiveRecord 类上设置我的表名称 现在我需要知道稍后如何获得该值 api 文档没有提及如何执行此操作 另外 我无法从 ActiveRec
  • Ruby 代码到 JAR

    我希望能够将 ruby 程序编译为 java JAR 程序 我研究过 JRuby 看到了几个能够 eval ruby 代码的 Java 应用程序示例 但是是否有更优雅的解决方案允许简单地用 ruby 编写所有内容 然后将其直接编译为 JAR
  • 如何使用 watir 滚动网页

    我正在尝试滚动网页以查找并单击页面滚动时延迟加载的内容 我正在使用以下命令 require watir webdriver browser Watir new firefox browser send keys space 我在 Firef
  • BigDecimal 无法强制转换为 BigDecimal

    这应该很简单 但它却爆炸了 有任何想法吗 d BigDecimal new 2 0 YAML load a gt d to yaml TypeError BigDecimal can t be coerced into BigDecimal
  • 在任意时间范围内找到最佳日/月/年间隔的算法?

    如果您有时间表 请说 March 19 2009 July 15 2011 是否有一种算法可以将该时间范围分解为 March 19 2009 March 31 2009 complete days April 1 2009 December
  • 从类内部调用属性访问器方法[重复]

    这个问题在这里已经有答案了 我正在尝试调用我的类属性编写器之一 但由于某种原因它永远不会被调用 下面是一些代码 可以使这一点更清楚 class Test attr reader test def test val puts Called t
  • Ruby 可选参数和多个参数

    我试图将方法的第一个参数设置为可选 后跟任意数量的参数 例如 def dothis value 0 args 我遇到的问题是 这似乎实际上不可能 当我打电话时dothis hey how are you good 我希望它将值设置为默认值

随机推荐

  • Keras ValueError:尺寸必须相等问题

    即使应用了答案和评论中的建议后 尺寸不匹配问题似乎仍然存在 这也是要复制的确切代码和数据文件 https drive google com drive folders 1q67s0VhB O7J8OtIhU2jmj7Kc4LxL3sf us
  • 在 Ruby 中动态创建类

    我有一个类应该看起来像这样 class Family Type1 people Array new 3 people 0 Policeman new Peter 0 people 1 Accountant new Paul 0 people
  • Android 意图过滤器不起作用

    我的应用程序可以打开以下文件格式 kml 应用程序 vnd google earth kml xml kmz 应用程序 vnd google earth kmz gpx 应用程序 gpx xml 我正在尝试正确设置我的意图过滤器 以便在尝试
  • Path.Combine() 行为与驱动器号

    根据官方文档有关Path Combine方法 https msdn microsoft com en us library fyy7a5kt v vs 110 aspx Remarks 如果 path1 不是驱动器引用 即 C 或 D 并且
  • 如何从 numpy 多维数组中获取 k 个最大值的索引

    我问了几个问题StackOverflow但找不到相关答案 我想从 a 中获取 k 个最大值的索引numpy ndarray 这个链接讨论相同但针对一维数组 np argsort对于二维数组导致元素按行排序 IE Note array ele
  • MongoDB 中的文档大小

    考虑将来切换到 DynamoDB 但希望确保我的文档在 1KB 以下 因为它们按 KB 收费 有没有一种快速方法可以知道集合中文档的大小 作为一般指南 您可以检查集合中文档的平均大小collname使用avgObjSize收藏报告的价值st
  • 如何对使用其自身输出的滞后值的函数进行矢量化?

    我很抱歉问题的措辞不好 但这是我能做的最好的事情 我确切地知道自己想要什么 但不知道如何要求它 下面是一个例子演示的逻辑 取值 1 或 0 的两个条件会触发一个也取值 1 或 0 的信号 无论如何 条件 A 都会触发信号 如果 A 1 则信
  • Microsoft Visual Studio 2012 已停止工作

    我一直在 Windows Server 2008 R2 sp1 上使用 Visual Studio 2012 尽管除了性能有点慢之外 它似乎工作得很好 但每当我关闭应用程序时 我都会收到以下错误 Microsoft Visual Studi
  • 使用 jQuery 将密码字段更改为带有复选框的文本

    如何通过复选框选中取消选中将密码字段切换为文本和密码 这是你要找的吗
  • SQL Server 2005 生成的创建表脚本不起作用

    我正在为现有数据库创建数据库脚本 我尝试使用 SQL Server 为我生成脚本 但生成的脚本失败 我正在使用 脚本表为 gt 创建到 gt 新查询编辑器窗口 选项 然后 我更改表和约束名称并执行脚本 我很困惑 有人能看到这里的问题吗 我收
  • 使用 next_permutation 排列类向量

    是否可以使用 std next permutation 来排列我创建的类的向量的元素 next permutation 中的比较参数如何工作 是否可以使用 std next permutation 来排列我创建的类的向量的元素 Yes Tr
  • 跨浏览器 CSS3 关键帧动画 Firefox

    我使用 CSS3 和关键帧在播放按钮 这是一个锚标记 上实现了一个简单的 脉动 效果 虽然它在 Chrome 和 Safari 中完美运行 但在 Firefox 中似乎不起作用 有人知道为什么吗 li gt a webkit animati
  • Flex:如何为 TabNavigator 组件添加选项卡关闭按钮

    我想要一个TabNavigator具有某些选项卡的关闭按钮的组件 我怎么做 看来TabNavigator组件不允许 或者我找不到 这种形式的可扩展性 帮助 谢谢 您应该从以下位置查看 SuperTabNavigator 组件 FlexLib
  • Convert.ToString() 转换为二进制格式无法按预期工作

    int i 20 string output Convert ToString i 2 Base2 formatting i 20 output Convert ToString i 2 Value Expected Actual 20 0
  • MS Access 中的透视查询

    我在 Access 表中有以下数据 ID Name CAT 1 Bill Red 1 Bill Yellow 1 Bill Green 1 Bill Orange 2 Ted Purple 2 Ted White 3 Alice Indig
  • 最大数组长度配额

    我正在编写一个小型 WCF WPF 应用程序来调整图像大小 但当我尝试从客户端向我的服务发送大小为 28K 的图像时 WCF 给我带来了痛苦 当我发送较小的图像时 该服务工作正常 我立即认为这是一个配置问题 并且我在网上搜索了有关我的绑定配
  • 替换为 Spring 注解

    有没有办法用注释替换构造函数参数 我有这个构造函数 public GenericDAOImpl Class
  • C 中的 switch 语句:变量的情况?

    include
  • 如何在 GitHub Actions 表达式语法中引用上下文值?

    我想在其中设置一个环境变量env GitHub Action 的部分并利用GitHub Actions 的上下文和表达式语法 我试过这个 jobs build runs on ubuntu latest env MYVAR format 0
  • 在 Ruby 中使用方法名称从字符串调用方法

    我怎样才能做到他们所说的here 但是在 Ruby 中呢 您将如何在对象上执行该功能 以及你将如何执行全局函数 请参阅 jetxee 的answer在提到的帖子上 示例代码 event name load def load puts loa