Project1

标题: “||=”是个什么东西 [打印本页]

作者: 有丘直方    时间: 2017-7-26 12:27
标题: “||=”是个什么东西
手册里面找不到啊……
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Game_Actors
  4. #------------------------------------------------------------------------------
  5. #  包装角色数组的外壳。本类的实例请参考 $game_actors 。
  6. #==============================================================================

  7. class Game_Actors
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对象
  10.   #--------------------------------------------------------------------------
  11.   def initialize
  12.     @data = []
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 获取角色
  16.   #--------------------------------------------------------------------------
  17.   def [](actor_id)
  18.     return nil unless $data_actors[actor_id]
  19.     @data[actor_id] ||= Game_Actor.new(actor_id)
  20.   end
  21. end
复制代码
于此代码(Game_Actors)第20行发现了这个神奇的东西
最近在排bug,进行到这个获取角色的方法的时候就进行不下去了,搞不清楚这个“||=”是干吗的……
作者: guoxiaomi    时间: 2017-7-26 13:56
跟 a += b -> a = a + b 一样
a ||= b 就是 a = a || b 的意思
a || b 等价于:
(a)? a : b





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