常用操作符

本节介绍DolphinDB常用的语法。

  1. 等号 =:赋值或者是SQL里面的等号。

$ x=1;
$ select * from t1 where id=100;
  1. 中括号[]:定义一个向量,或者索引。

$ x=[1,2,3,4];

$ x[0 2];
[1,3]
  1. 小括号():函数定义或调用,常量数组,或者表达式内容的隔离。

def f(x):x+10;
$ f(2);
12

$ x=(1, 2, 3, 4);

$ x=1:(6+1);
  1. 大括号{}:标记一组程序命令,或者部分应用。

$ 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
  1. 逗号",":向量元素,函数参数或者是多维索引的分隔符。

$ x=[1,2,3,4];
def f(x,y):x+y;

f(1,2);
3
  1. 冒号":":数据对(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]
  1. 反引号"`":放在一个字母或者单词前面,表示该字母或者单词是字符串。等价于双引号,但是更便于使用。

$ x=`AAPL`IBM`KO;
$ x;
["AAPL","IBM","KO"]

$ select * from table1 where id=`1001;
  1. 句号 ".":调用面向对象的函数,或是查询字典。

$ 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
  1. ";"后加回车:在命令行窗口里解析并执行代码。

  2. 注释:用 // 或者 /* */

// 这是一个注释。

/* this is for calculating stock returns
for a trading strategy development. */
  1. 函数定义:def

def f(a){return a+1};

f(2);
3
  1. 列的别名:as

$ t=table(1 2 3 as a, 4 5 6 as b);
t;

a

b

1

4

2

5

3

6

  1. 条件语句: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