我发现并不是声明数组元素,但是可以直接使用 面向对象编程里有一个重要的概念叫做鸭子类型(duck typing) 简单来讲就是,不要纠结一个对象具体是什么类的实例,而是看它是否具备某种方法
这句生成了一个Game_Actors对象,但是我们不要纠结它是什么 注意到Game_Actors里实现了[]与[]=方法,而且正好与数组的行为一致 因此我们根据鸭子类型,可以把$game_actors看成某种数组 对一个数组用[]就是取出里面的元素,在这里也是一样。 $game_actors[n]就是数据库中编号为n的角色(的唯一副本),这是一个Game_Actor对象 所以你可以看看Game_Actor里有没有定义name方法。 |
记得以前做过一个实验 $a = 某个窗口.new 么, 用全局变量赋予实例, 这样就可以在各种地方调用它的方法了. 这些一样道理, 把右边一大串的实例, 赋予左边一大串的全局变量, 方便在各个地方调用对应的方法 至于下面那个, 你p下它的class, 看看它是不是数组吧 f = [1,2,3] p f.class #=> ? p f[1].class #=> ? |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-5-16 06:28
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.