代码拉取完成,页面将自动刷新
优化 load 函数,使其能够识别相对路径。
对以前写的一篇博客中的例程进行一些兼容性优化和功能加强:load 函数优化,识别相对路径 - YEUNGCHIE - 博客园
git clone --depth 1 https://github.com/yeungchie/skill-loader.git
git clone --depth 1 https://gitee.com/yeungchie/skill-loader.git
在 ~/.cdsinit
中添加:
load("<path to skill-loader>/load.il")
可正确识别以文件本身路径为参考的相对路径。
ycLoad("./script.il")
; END
与 ycLoad
相同,不同之处在于 ycLoadi
忽略加载过程中遇到的错误,只打印错误信息,然后继续加载。
ycLoadi("./script.il")
; END
用法与
load
和loadi
一致。
假设如下场景:
/home/yeungchie/skill/script.il
。/home/yuengchie/project/
下启动 virtuoso 工具。load("../skill/script.il")
语句来加载这个脚本文件。script.il
中的内容,用 =>
来代表加载脚本后在 CIW 窗口中打印的内容。获取当前文件的路径。
fileName = ycGetFileName()
println(fileName)
; END
=> "/home/yeungchie/skill/script.il"
获取文件名。
baseName = ycGetBaseName(fileName)
println(baseName)
; END
=> "script.il"
获取文件父目录名。
dirName = ycGetDirName(fileName)
println(dirName)
; END
=> "/home/yeungchie/skill/"
读取相对路径,返回绝对路径。
filePath = ycRealPath("../skill/script.il")
println(filePath)
; END
=> "/home/yeungchie/skill/script.il"
上述的函数调用注意不能位于当前文本的最后一行 ; END
,否则可能会出现路径获取错误的问题。
原因不详,猜测是 Skill 的 bug。
这个现象是我的脚本文件路径位于 NFS 挂载的远程存储的时候发现的,复现率极高。
ycLoad("xxx")
; 特意空一行
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。