Project1
标题:
到底哪个量在加减?
[打印本页]
作者:
kvkv97
时间:
2021-8-29 15:15
标题:
到底哪个量在加减?
在 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到底是哪个量在加减?
作者:
guoxiaomi
时间:
2021-8-29 16:40
没有哪个量在加减,这里的1或者-1是代码块的返回值。
sort!结束一个代码块,表示该如何给@states里的对象进行比较,然后按照这个比较的方法从小到大排序。
这个代码块接受两个参数a和b,返回1表示a<b,返回0表示a==b,返回-1表示a>b。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1