var loc3:* = Math.min(Math.max(arg2 / arg1.things,0),1);
如果有人可以分解这行代码正在做什么,我会非常感激。
答案 0 :(得分:1)
您可以按以下步骤重写它:
VALUE1 = arg2 / arg1.things // STEP 1 divide arg2 by arg1.things
VALUE2 = Math.max(VALUE1, 0) // STEP 2 if the value of the division at step 1
is less then 0, set the value to 0
VALUE3 = Math.min(VALUE2, 1) // STEP 3 if the value is greater than 1
set the value to 1
VALUE4 = loc3 * VALUE3 // STEP 4 multiply the value by the current value
stored in loc3
var loc3 = VALUE4; // STEP 5 and set the final value back to loc3
因此,总而言之,代码行的作用是将arg2
的值除以arg1.things
中存储的值,并将结果限制在闭区间[0,1]
和然后它将存储在loc3
中的值乘以除法的上限计算结果。最终结果存储在loc3
变量中。