Project1

标题: def [](actor_id) 怎么理解? [打印本页]

作者: zxxok24    时间: 2014-9-23 12:25
标题: def [](actor_id) 怎么理解?
module DataManager
     $data_actors= load_data("Data/BT_Actors.rvdata2")
end

class Game_Party
      def  setup_battle_test
          actor = $game_actors[battler.actor_id]
      end
end

class Game_Actors
        def [](actor_id)
        end
end


“$game_actors[attler.actor_id]”是否调用了“[](actor_id)"这个方法?
把"battler.actor_id"作为形参传递给了actor_id?
把取数组成员"[]"的操作 直接替换成为 [](actor_id)函数?

困惑中....有了解ruby的朋友请回答下我的疑问,谢谢!



作者: taroxd    时间: 2014-9-23 12:34
本帖最后由 taroxd 于 2014-9-23 12:35 编辑

你说的很对,我都不知道要补充什么了。

[] 这种运算符实际上就是方法的调用。
$game_actors[battler.actor_id] 这句脚本等价于 $game_actors.[](battler.actor_id)
作者: 泉塚四季    时间: 2014-9-23 12:35
不知道在Ruby里说这个是操作符重载合不合适......
作者: zxxok24    时间: 2014-9-23 12:41
taroxd 发表于 2014-9-23 12:34
你说的很对,我都不知道要补充什么了。

[] 这种运算符实际上就是方法的调用。

我刚刚接触ruby 对里面的很多语法感到很陌生 一些简单的语法都要想很久
这个问题一直困扰我 现在终于明白了 谢谢斑竹的解答




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