当我在 F# 中使用 open 关键字时
module AnotherModule
open myFSharpModule
这可以被认为是 Ruby 中的 mixin 或 Scala 中的 trait 吗?前几天我在想我多么希望 F# 有这些功能,但后来我突然想到open
关键字可能是同一个东西。在某种程度上,它只是将引用的模块复制到您正在定义的模块中。
当我在 F# 中使用 open 关键字时
module AnotherModule
open myFSharpModule
这可以被认为是 Ruby 中的 mixin 或 Scala 中的 trait 吗?前几天我在想我多么希望 F# 有这些功能,但后来我突然想到open
关键字可能是同一个东西。在某种程度上,它只是将引用的模块复制到您正在定义的模块中。
在 F# 中,open
只是导入声明,以便从您要导入它们的范围内访问。
它不会使这些声明成为您模块的一部分,它只是为了让您可以在没有资格的情况下从您的模块中引用它们。
Scala 中的等价物是import
,在 Ruby 中是require
.