首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dyalog SALT.Load异常“无法修复”原始函数列

Dyalog SALT.Load异常“无法修复”原始函数列
EN

Stack Overflow用户
提问于 2021-05-18 17:29:02
回答 1查看 59关注 0票数 3

我一直在试验SALT,但遇到了一致的Load问题,这些问题似乎只影响原始的函数训练。我希望在确保所有函数Load正确的问题上有任何建议。

为了说明,在一个清晰的工作区中,我将创建一些转换十六进制和八进制的示例函数。有些是dfns,另一些是原始列车:

代码语言:javascript
复制
FromOct←8⊥⊢
ToOct←(FromOct⍣¯1)
FromHex←{16⊥⍵}
ToHex←{((16⊥⊢)⍣¯1)⍵}
HexToOct←ToOct FromHex

初始盐态:

⎕SE.SALT.List '/path/to/salt'

Type Name Versions Size Last Update

然后Snap工作区:

⎕SE.SALT.Snap '/path/to/salt -clean -loadfn'

代码语言:javascript
复制
** WARNING: ⎕LX is empty
 #.FromHex  #.FromOct  #.HexToOct  #.ToHex  #.ToOct 

⎕SE.SALT.List '/path/to/salt -type'

代码语言:javascript
复制
 Type  Name      Versions  Size  Last Update         
 Fn    FromHex               25  2021/05/18 17:08:32 
 Fn    FromOct               25  2021/05/18 17:08:32 
 Fn    HexToOct              46  2021/05/18 17:08:32 
 Fn    ToHex                 36  2021/05/18 17:08:32 
 Fn    ToOct                 31  2021/05/18 17:08:32 
 Fn    load_ws              537  2021/05/18 17:08:32 

并检查load_ws函数导入的内容:

⎕CMD 'cat /path/to/salt/load_ws.dyalog | grep "^ Load''"'

代码语言:javascript
复制
 Load'"/path/to/salt/FromHex" -target=#'       â #.FromHex
 Load'"/path/to/salt/FromOct" -target=#'       â #.FromOct
 Load'"/path/to/salt/HexToOct" -target=#'      â #.HexToOct
 Load'"/path/to/salt/ToHex" -target=#'         â #.ToHex
 Load'"/path/to/salt/ToOct" -target=#'         â #.ToOct

在一个清晰的工作区中,运行load_ws

⎕SE.SALT.Load '/path/to/salt/load_ws'

load_ws

代码语言:javascript
复制
*** could not fix "/path/to/salt/FromOct.dyalog"
*** could not fix "/path/to/salt/HexToOct.dyalog"
*** could not fix "/path/to/salt/ToOct.dyalog"

dfns装载得很好,火车坏了。

一个现成的解决方法是用tradfns或dfns包装,但这是非常不可取的。

有没有想过用盐来正确地装载这类功能?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-18 21:53:54

根据当前SALT用户指南

Nameclasses 3.3 (原语或派生函数)和4.3 (基元或派生运算符)不能使用盐类操作--尝试这样做会导致数据丢失。

正如保罗·曼苏尔的评论中提到的,Dyalog .建议从SALT过渡到Link,特别是在使用Dyalog版本18.1时,该版本将在未来几个月发布。但是,请注意,即使是链接目前不处理默认功能。

不支持没有文本源的函数、运算符和命名空间(⎕NC为3.3或4.3,即派生函数/运算符、trains和命名原语)。

与盐类不同的是,在不久的将来,这种情况可能会发生变化,因为盐并没有计划接受任何主要功能的添加。

虽然用手工将默认函数包装在tradfns中是很尴尬的,但是“懒散”图书馆使这件事变得轻而易举。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67591221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档