Skip to content

87 使用已打包的库 ​

此例从 Norm Commons Lang 适配库导入函数。内联的 Module module() 声明对 commons.lang 的直接依赖;API 来自已打包的库,而非复制到应用中的源码。

norm
import commons.lang.stringUtilsCapitalize
import commons.lang.stringUtilsNormalizeSpace

main() {
  String compact = stringUtilsNormalizeSpace("  learn   norm  ")!!
  String title = stringUtilsCapitalize(compact)!!
  printLine(title)
}

Module module() {
  module(dependencies: [dependency(repository: "github", name: "commons.lang", version: 2)])
}

使用开发版工具链,从 Norm 仓库根目录先准备当前库源码,再运行消费者:

sh
git clone https://github.com/normlanguage/commons-lang.git .tmp/commons-lang
norm package .tmp/commons-lang/commons/lang/module.norm --output "$HOME/.norm/cache/packages"
norm run norm/tests/docs/libraries/commons-lang/hello.norm

预期输出:

text
Learn norm

此例以本地打包的当前库验收;较早公开的库包可能采用不同的绑定格式。更完整的组合场景见导入参考。

动手试试:修改原始标题中的空格,观察 stringUtilsNormalizeSpace 的效果。

精确规则:模块依赖。

Norm 0.25