我已经打开手柄了。我正在尝试更改远程实例中的功能。以下是我的代码
h "loadHDB:{value "\\l /mnt/data/ord_us"}"
但它不起作用。我试图在字符串中添加\ \但是没有用。
答案 0 :(得分:2)
另一种方法是使用set
在远程进程中重新定义loadHDB
。使用system
意味着您可以避免转义反斜杠:
q)h ("set";`loadHDB; {value system "l /mnt/data/ord_us"})
答案 1 :(得分:1)
您需要转义内部引号,如下所示:
q)h "loadHDB:{value \"\\l /mnt/data/ord_us\"}"
我不知道加载是否有效,但至少字符串应该是正确的。
答案 2 :(得分:0)
我更喜欢使用-3! (.Q.s1)到'双字符串'它。记住-3!取决于控制台大小,因此这种方法可能并不总是合适的。对于这些远程函数,我们的想法是将要在双引号内执行的代码括起来 - 其中的任何其他字符串必须为-3!' ed和join。一个有用的测试'是-1打印消息。结果应该与您在远程控制台上执行的内容类似。
E.g。
q)printmsg:{-1 x;show value x;}
q)printmsg "2+2"
2+2
4
q)printmsg "system ",-3!"echo ",string .z.h
system "echo illysemacbook.local"
"illysemacbook.local"
q)-1 " "sv("John said";-3!"Hello Sir!";"Frank said";-3!"something!")
John said "Hello Sir!" Frank said "something!"
这有用吗?