Project1

标题: [Game_Actor问题]关于sort! [打印本页]

作者: 九靈    时间: 2013-8-27 02:04
标题: [Game_Actor问题]关于sort!
本帖最后由 九靈 于 2013-8-27 02:07 编辑

Game_Actor
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 觉悟特技
  3.   #     skill_id : 特技 ID
  4.   #--------------------------------------------------------------------------
  5.   def learn_skill(skill_id)
  6.     if skill_id > 0 and not skill_learn?(skill_id)
  7.       @skills.push(skill_id)
  8.       @skills.sort!
  9.     end
  10.   end

F1 :
sort
sort!
sort {|a, b| ... }
sort! {|a, b| ... }
对数组内容进行排序。若带块调用时,将把 2 个参数传给块,然后使用块的计算结果进行比较。若没有块时,使用 <=> 运算符进行比较。sort! 的对数组单元的排序过程具有破环性。
sort 将生成一个经过排序的新数组并返回它,sort! 通常会返回 self。


问题 :
1. "sort! 的对数组单元的排序过程具有破环性。" 这句是指 "sort! 通常会返回 self。" 吗?
2. "@skills.sort!" 等同于 "@skills = @skills.sort " 吗?


作者: 亿万星辰    时间: 2013-8-27 06:25
恩,可以这么理解,带!的指令一般都是破坏性的
作者: 无脑之人    时间: 2013-8-27 08:32
带!的方法一般指对自己有修改,并返回self




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