查看: 2071|回复: 2

[已经解决] 到底哪个量在加减?

[复制链接]
梦石
0
星屑
4761
在线时间
285 小时
注册时间
2013-10-13
回帖
580
发表于 2021-8-29 15:15:14 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
在 Game_Actor类的方法add_state中,有如下的程序段
      # 按比例大的排序 (值相等的情况下按照强度排序)
      @states.sort! do |a, b|
        state_a = $data_states[a]
        state_b = $data_states[b]
        if state_a.rating > state_b.rating
          -1
        elsif state_a.rating < state_b.rating
          +1
        elsif state_a.restriction > state_b.restriction
          -1
        elsif state_a.restriction < state_b.restriction
          +1
        else
          a <=> b
        end
      end
我想问的是:+1和-1到底是哪个量在加减?
梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2021-8-29 16:40:10 | 显示全部楼层
没有哪个量在加减,这里的1或者-1是代码块的返回值。

sort!结束一个代码块,表示该如何给@states里的对象进行比较,然后按照这个比较的方法从小到大排序。
这个代码块接受两个参数a和b,返回1表示a<b,返回0表示a==b,返回-1表示a>b。

点评

谢谢  发表于 2021-8-31 15:46

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部