调用string()时的输出差异

时间:2013-03-25 16:33:22

标签: kdb q-lang

我想将一些具有不同类型的变量连接成一个字符串。这很有效:

q)"select ", string[10:00:00] ," abc"
"select 10:00:00 abc"

当我用括号调用字符串时,输出是不同的:

q)"select ", string(10:00:00) ," abc"
"s"
"e"
"l"
"e"
"c"
"t"
" "
"10:00:00"
," "
,"a"
,"b"
,"c"

我认为在第一个例子中,函数字符串是用time类型的atom参数调用的,而在第二个调用中,在调用字符串之前创建了一个时间 list

第二个例子中输出结果是什么?

1 个答案:

答案 0 :(得分:2)

使用字符串[10:00:00],您将在输入10:00:00调用字符串函数。使用字符串(10:00:00),“abc”,您正在加入(10:00:00)到“abc”,然后将结果串起来。你必须记住,执行是从右到左执行的。

q)(10:00:00) ," abc"
10:00:00
" "
"a"
"b"
"c"
q)string (10:00:00) ," abc"
"10:00:00"
," "
,"a"
,"b"
,"c"