$是一个具有最低优先级的中缀运算符:
f $ a = f a
这是否意味着,在下面的表达式中,
部分应首先评估$ 2 ^ 2
然后再加2美元?首先评估2 + 2
前奏> (2 ^)$ 2 + 2
返回:
16
答案 0 :(得分:4)
没有。尝试将优先级视为关于首先评估的内容"以及更多关于插入括号的位置。
$
具有最低优先级的事实意味着将括号插入到其右侧的所有内容中(如果需要,分别在其左侧,但这里不需要它们) )。所以
(2 ^)$ 2 + 2
相当于
(2 ^)$(2 + 2)
当然是
(2 ^)4(即16)
答案 1 :(得分:2)
优先规则可能令人困惑,但我喜欢将其视为“较低优先级”意味着“稍后再做”。由于using UnityEngine;
using System.Collections;
public class CameraSettings : MonoBehaviour {
private float targetRatio = 9f/16f;
// Use this for initialization
void Start () {
Camera cam = GetComponent<Camera>();
cam.aspect = targetRatio;
}
}
具有最低优先级(例如,低于$
),因此在 (+)
之后执行。因此,(+)
将(2^) $ 2 + 2
评估为部分应用的函数,然后将(2^)
评估为2+2
,然后将4
应用于4
以获取{{1} }}