常用操作符
本节介绍DolphinDB常用的语法。
1. 等号 =:赋值或者是SQL里面的等号。
$ x=1;
$ select * from t1 where id=100;
2. 中括号[]:定义一个向量,或者索引。
$ x=[1,2,3,4];
$ x[0 2];
[1,3]
3. 小括号():函数定义或调用,常量数组,或者表达式内容的隔离。
def f(x):x+10;
$ f(2);
12
$ x=(1, 2, 3, 4);
$ x=1:(6+1);
4. 大括号{}:标记一组程序命令,或者部分应用。
$ timer {x = rand(100.0, 10000000); y=(x pow 2)+2*x;};
Time elapsed: 1351.24 ms
$ a=100;
$ g=add{a*a};
$ g(8);
10008
5. 逗号”,”:向量元素,函数参数或者是多维索引的分隔符。
$ x=[1,2,3,4];
def f(x,y):x+y;
f(1,2);
3
6. 冒号”:”:数据对(pair)的分隔符,λ表达式,或者高阶函数(:A, :G等)。
$ x=1..6$2:3;
$ x;
col1 |
col2 |
col3 |
---|---|---|
1 |
3 |
5 |
2 |
4 |
6 |
$ x[0:1,0:2];
col1 |
col2 |
---|---|
1 |
3 |
def f(x):x*x+3*x+4.0;
f(2);
14
$ x=1..10;
$ +:A x;
[1,3,6,10,15,21,28,36,45,55]
7. 反引号”`”:放在一个字母或者单词前面,表示该字母或者单词是字符串。等价于双引号,但是更便于使用。
$ x=`AAPL`IBM`KO;
$ x;
["AAPL","IBM","KO"]
$ select * from table1 where id=`1001;
8. 句号 “.”:调用面向对象的函数,或是查询字典。
$ x=1 2.5 6;
$ x.sum();
9.5
$ x=3 6 1 5 9;
$ y=4.2 3.7 8.8 6.4 5.3;
$ z=dict(x, y);
$ z.3;
4.2
9. “;”后加回车:在命令行窗口里解析并执行代码。
10. 注释:用 // 或者 /* */
// 这是一个注释。
/* this is for calculating stock returns
for a trading strategy development. */
11. 函数定义:def
def f(a){return a+1};
f(2);
3
12. 列的别名:as
$ t=table(1 2 3 as a, 4 5 6 as b);
t;
a |
b |
---|---|
1 |
4 |
2 |
5 |
3 |
6 |
13. 条件语句:if … else …
$ def temp(const a) {
$ if (a>10)
$ return a\10
$ else if (a<=10 && a>1)
$ {return a}
$ else {
$ b=abs(a)*10
$ return b
$ }
$ };
$ temp 10;
10
$ temp 11;
1.1
$ temp 0.5
5