Project1
标题: 请教inject、select、collect的用法 [打印本页]
作者: wyongcan2008 时间: 2012-2-2 18:41
标题: 请教inject、select、collect的用法
在Game_BattlerBase中看到了以下几个方法,但由于我的基础差看不懂,所以向各位求教。
希望各位能给我讲下以下这些的意思,谢谢- #--------------------------------------------------------------------------
- # ● 获取当前状态的实例数组
- #--------------------------------------------------------------------------
- def states
- @states.collect {|id| $data_states[id] }
- end
- #--------------------------------------------------------------------------
- # ● 获取所有特性实例的数组
- #--------------------------------------------------------------------------
- def all_features
- feature_objects.inject([]) {|r, obj| r + obj.features }
- end
- #--------------------------------------------------------------------------
- # ● 获取特性实例的数组(限定特性代码)
- #--------------------------------------------------------------------------
- def features(code)
- all_features.select {|ft| ft.code == code }
- end
复制代码