Virtools脚本语言(VSL)教程 - 表达式与运算符

 

表达式

表达式是变量、运算符的任意组合,且表达式返回一个单一值。值可以是数字、字符串或逻辑值。

有两种类型的表达式:有些是将值赋给变量,有些则是简单的有一个值。比如表达式 x = 5 用了赋值运算符来将值5赋给x。x = 5 的赋值过程也返回值5。而表达式( 4 + 1)则简单地返回5,它没有执行赋值。

运算符

VSL中有一些类型的运算符:

  • 赋值运算符
  • 比较运算符
  • 算术运算符
  • 逻辑运算符
赋值运算符

赋值运算符将值赋给它左边的运算对象(operand),基于它右边运算对象的值。
等号 (=) 是赋值运算符的基,x = y 意味着将y的值赋给x。

支持的
运算符意义
x += yx = x + y
x -= yx = x - y
x *= yx = x * y
x /= yx = x / y
不支持的
运算符
x %= y
x <<= y
x >>= y
x >>>= y
x &= y
x ^= y
x |= y

实例:

void main()
{
int x = 2;
int y = 4;

x += y; // x is equal to 6 x -= 3; // x is equal to 3 x *= y-1; // x is equal to 9 x /= x-y; // x is equal to 1 }

NOTE 赋值运算符表达式在赋值完成后返回它们左边运算对象的值。因此,以下脚本从语法角度是有效的:

void main()
{
int x;
int y;
int z = 10;

x = y = z; // ok, x and y equal to 10 x += y += z; // ok, x equal to 30 and y to 20 x *= y /= z; // ok. x equal to 60 and y to 2 // ... }
比较运算符

比较运算符对它的运算对象进行比较,并返回一个逻辑值,基于比较结果是否为真。这里是VSL支持的比较运算符。

运算符
意义
说明
==相等如果运算对象相等,返回true。
!=不等如果运算对象不相等,返回true。
>大于如果左边运算对象大于右边的,返回true。
>=大于等于如果左边运算对象大于或等于右边的,返回true。
<小于如果左边运算对象小于右边的,返回true。
<=小于等于如果左边运算对象小于或等于右边的,返回true。

实例:

void main()
{
int i = 10;
float f = 2.3;
bool b1 = i > f; // b1 equal to true bool b2 = b1 == i; // b2 equal to false i = b1 != b2; // i equal to 1; }
算术运算符

算术运算符将数值作为它们的运算对象并返回一单个数值。

运算符
意义描述
+加法二元运算符。让它的两个运算对象相加。运算对象可以为整型或浮点型。
-减法二元运算符。将第一个运算对象减去第二个运算对象。可以为整型或浮点型。
*乘法二元运算符。让它的两个运算对象相乘。
<script src="http://hi.images.csdn.net/js/blog/tiny_mce/plugins/syntaxhl/langs/zh.js" type="text/javascript"></script> 5%" valign="top">/除法二元运算符。让第二个运算对象去除第一个运算对象。
%取余二元运算符。返回两个运算对象相除后的整数部分。
++增加一元运算符。将它的运算对象加1。如果是前置运算符(++x),则在加1后返回它的运算对象;如果是后置运算符(x++),则在加1之前返回运算对象的值。
--减少一元运算符。将它的运算对象减1。返回值情况类似增加运算符。
(Unary) -一元求负一元运算符。返回它运算符的负值。

实例:

void main()
{
int i1 = 42;
int i2 = 123;
float f1 = .2;
float f2 = 3567.3623;

int r1 = i2-i1; // r1 equal 81 float r2 = i2*f1; // r2 equal to 24.6 int r3 = i2/2; // r3 equal to 61 int r4 = f1*f2; // r4 equal to 713 float r5 = f1*f2; / r5 equal to 713.472473 }
void main()
{
int a = 10;
a++; // a equal to 11 int b = ++a; // a and b equal to 12 int c = a--; // a equal to 11 and c equal to 12 }
逻辑运算符

逻辑运算符 与(&&) 和 或 (||),用于将多个关系表达式或等式形式的条件组合起来。

OperatorMeaningDescription
&&逻辑 与Returns true if both operands are true, otherwise, returns false.
||逻辑 或Returns true if either operand is true, if both are false, returns false.
!逻辑 否Returns true if operand is false, else returns false.

实例:

void main()
{
Entity3D ent = Entity3D.Cast(bc.GetOwner());
if (ent && ent.CanBeHide()) // if ent is null (false), expression ent.CanBeHide() is not evaluated { // ... } }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值