PowerScript表达式
运算符
算术运算符
双目运算符
运算符 |
名称 |
示例 |
说明 |
^ |
乘方 | 3^2 | |
+ |
加 | i_age+1 | |
- |
减 | i_age - 1 | |
* |
乘 | l_w*3 | |
/ |
除 | i_w/3 | |
= |
赋值 | i_w=34 |
单目运算符
- |
求反 | -i_x | 结果为i_x的相反数 |
++ |
增1 | i_age ++ | |
-- |
减1 | l_w -- |
关系运算符
= |
等于 | i_x=i_y | 可比较数值及字符型数据 |
> |
大于 | i_x>i_y | |
< |
小于 | i_<i_y | |
>= |
大于等于 | l_x>=l_y | |
<= |
小于等于 | s_x<=s_y | |
<> |
不等于 | s_x<>s_y |
组合运算符
^= |
乘方等于 | i_x^=i_y | i_x=i_x ^ i_y |
+= |
加等于 | i_x+=i_y | i_x=i_x + i_y |
-= |
减等于 | i_x-=i_y | i_x=i_x - i_y |
*= |
乘等于 | i_x*=i_y | i_x=i_x * i_y |
/= |
除等于 | i_x/=i_y | i_x=i_x / i_y |
串运算符
String s_a1="hello ",s_a2="world"
String s_a
s_a=s_a1+s_a2
连接运算符
NOT |
非 | NOT b_z | b_z为真则结果为假 |
AND |
与 | b_a AND b_c | b_a和b_c都为真时结果才为真 |
OR |
或 | b_a OR b_c | b_a和b_c只要有一个为真,结果即为真 |
括号
用来改变运算的先后次序
例:1+2*3 与 (1+2)*3
运算符之间的优先关
高 /\ 低 |
括号() |
函数定义和作用域
函数是程序中特定的功能模块,通常应用程序的开发工具会把经常使用的功能写成函数,提供给程序设计人员使用。PowerBuilder中最常用的是全局函数和窗口函数,还有菜单函数、用户对象函数及外部函数。
使用函数最重要的是了解函数的参数个数及类型,还有函数的返回值类型及意义。参数的作用是向函数传入数据,返回值的作用是传回函数的计算结果或运行状态。(参数也可用于从函数内部得到计算的结果。)
函数的作用域
函数和变量一样,都有一定的作用域。全局函数的作用域和全局变量的作用域一样,在整个应用程序的任何地方都能通用,是等级最高、作用最广的函数。窗口函数仅仅允许在该窗口的事件和函数脚本中进行通用。菜单函数要在菜单的脚本编辑状态下编辑。用户对象函数既有全局对象函数的特点,也有类似窗口函数的特点。外部函数则区分为全局外部函数和在对象内部定义的局部外部函数。除了全局函数和外部函数,对象函数(如窗口函数、菜单函数、用户对象函数等)都有一个权限的问题。
Public:公众权限,其作用域限制最低,使用非常自由。
Private:私有权限,仅能在当前对象范围内使用。
Protect:保护权限。介于Public和Private之间的一个作用域,所有以该对象为父对象继承出去的子对象都可以调用Protect权限的对象函数,即这个对象家族都可以共享的函数。
3、函数的定义方法
一般的函数定义都会发生参数的传递和参数的返回,最典型的函数定义方法如下:
Return ArgumentName FunctionName(argument1,argument2,......)
结构
结构体的作用是把内容相关的类型不同的数据集中管理。例如大多软件都有开发单位、版本、单位地址、联系方法、开发时间、版权所有时间等相关信息,这些信息如果各用单独的变量来保存显得杂乱,把它们统一放到结构体类型的一个变量中既便于管理,又提高了程序的可读性。
结构实际是一个新的数据类型,需要通过一个变量将其实例化。
PowerScript表达式的更多相关文章
- powerScript脚本
一.powerScript的语法 1.0变量的命名及使用 powerscript的标识符(变量名称)必须以字母或下划线开头,其它的字符可以是下划线(_).短横线(-).美元符号($).号码符号(#) ...
- 【.net 深呼吸】细说CodeDom(2):表达式、语句
在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...
- 你知道C#中的Lambda表达式的演化过程吗?
那得从很久很久以前说起了,记得那个时候... 懵懂的记得从前有个叫委托的东西是那么的高深难懂. 委托的使用 例一: 什么是委托? 个人理解:用来传递方法的类型.(用来传递数字的类型有int.float ...
- 再讲IQueryable<T>,揭开表达式树的神秘面纱
接上篇<先说IEnumerable,我们每天用的foreach你真的懂它吗?> 最近园子里定制自己的orm那是一个风生水起,感觉不整个自己的orm都不好意思继续混博客园了(开个玩笑).那么 ...
- Linq表达式、Lambda表达式你更喜欢哪个?
什么是Linq表达式?什么是Lambda表达式? 如图: 由此可见Linq表达式和Lambda表达式并没有什么可比性. 那与Lambda表达式相关的整条语句称作什么呢?在微软并没有给出官方的命名,在& ...
- 背后的故事之 - 快乐的Lambda表达式(一)
快乐的Lambda表达式(二) 自从Lambda随.NET Framework3.5出现在.NET开发者眼前以来,它已经给我们带来了太多的欣喜.它优雅,对开发者更友好,能提高开发效率,天啊!它还有可能 ...
- Kotlin的Lambda表达式以及它们怎样简化Android开发(KAD 07)
作者:Antonio Leiva 时间:Jan 5, 2017 原文链接:https://antonioleiva.com/lambdas-kotlin/ 由于Lambda表达式允许更简单的方式建模式 ...
- SQL Server-表表达式基础回顾(二十四)
前言 从这一节开始我们开始进入表表达式章节的学习,Microsoft SQL Server支持4种类型的表表达式:派生表.公用表表达式(CTE).视图.内嵌表值函数(TVF).简短的内容,深入的理解, ...
- 立即执行函数表达式(IIFE)
原文地址:benalman.com/news/2010/11/immediately-invoked-function-expression/ 译者:nzbin 也许你还没有注意到,我是一个对术语比较 ...
随机推荐
- 使用docker加载已有镜像安装Hyperledger Fabric v1.1.0
背景 每次在新的服务器上安装Hyperledger Fabric网络时,通过fabric官方提供的脚本安装时,需要从网络上down下近10G的fabric相关镜像,这个过程是漫长及痛苦的,有时因网络问 ...
- Realm 处理List<String> 问题 Type parameter 'java.lang.String' is not within its bound; should implement 'io.realm.RealmModel
public class InitAppBean extends RealmObject { private String sapling; private String logistics; pri ...
- 前端使用nginx 达到前后分离的开发目的
前言: 由于现在要开发一套基于python 的日志分析系统,设计到日志收集,分析,可视化输出,所以我使用前后端分离的做法.记录学习的过程: 00x1: 下载配置nginx:在E盘创建Service 目 ...
- GPIO输入输出各种模式(推挽、开漏、准双向端口)详解
转自:https://blog.csdn.net/techexchangeischeap/article/details/72569999 概述 能将处理器的GPIO(General Purpose ...
- JS 实现右下角弹窗
<!DOCTYPE HTML> <head> <title>JS实现右下角弹窗</title> <meta http-equiv="co ...
- redis 安装与使用
到git 官网上下载redis: DownLoad,选择.zip 压缩包 2. 下载后,对zip 包进行解压,解压后如下: 3. 配置并安装redis, 打开window dos 窗口,将目录切换到解 ...
- Ubuntu离线安装docker
1.先安装依赖libltdl7_2.4.6-0.1_amd64.deb 下载链接http://archive.ubuntu.com/ubuntu/pool/main/libt/libtool/libl ...
- gp工具的许可
还是要在代码里许可 static class Program { [STAThread] static void Main() { ESRI.ArcGIS.RuntimeManager.Bind(ES ...
- MYSQL临时表使用方法
当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后在这些表运行查询. ...
- 关于Ajax异步请求(实时刷新)
1.需求:想要做成动态实时刷新获取数据库的值 2.例子 3.代码逻辑: <script type="text/javascript"> var Seconds=1000 ...