Project1

标题: 如何执行函数 [打印本页]

作者: timiesea    时间: 2014-10-21 12:29
标题: 如何执行函数
可能标题说得不够准确,那么我就说明一下。

假如我用一个数组存储一组函数名(例如:function["add_item","cri_action"]),那么在脚本中,如何执行数组里面的其中一个函数呢?这些函数都是没有参数的,利用全局变量进行控制。



我隐约记得其他语言有一种函数有这个功能,不知道ruby有没有。
作者: taroxd    时间: 2014-10-21 12:35
receiver.send(method_name)

在脚本编辑器里全局搜索 send,你会看到范例
作者: VIPArcher    时间: 2014-10-21 12:35
本帖最后由 VIPArcher 于 2014-10-21 12:38 编辑

eval(function[0])
原来是这个意思啊。。。
作者: 国产吃货    时间: 2014-10-23 18:35
eval()

send()

method().call

好像都能满足楼主的要求,但在下才学疏浅,不知这三者有何差异。
望大神指点
作者: 喵呜喵5    时间: 2014-10-23 19:00
本帖最后由 喵呜喵5 于 2014-10-23 19:07 编辑
国产吃货 发表于 2014-10-23 18:35
eval()

send()


以下内容不保证完全正确:

eval是执行字符串
method().call是生成一个Method对象,然后调用对象的call方法
作者: 国产吃货    时间: 2014-10-23 19:18
喵呜喵5 发表于 2014-10-23 19:00
以下内容不保证完全正确:

eval是执行字符串

那他们三者的区别呢 和send




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1