如何访问类型';Julia函数中的s构造函数

如何访问类型';Julia函数中的s构造函数,julia,Julia,这对于通过链接构造对象很有用。例如,假设我想通过管道将Dict传输到数据帧来创建数据帧。如: merge(dict1, dict2) |> DataFrame 但是这里的DataFrame返回的是DataFrame类型,而不是我需要的构造函数。如何访问构造函数?我可以看到带有方法(数据帧)的签名,但无法访问实际函数。这不适用于任何类型,因为签名(任何,数据类型)不存在(管道)方法 我还没有尝试使用DataFrame,但下面这个简单的示例很管用: type Foo x::Int end

这对于通过链接构造对象很有用。例如,假设我想通过管道将Dict传输到数据帧来创建数据帧。如:

merge(dict1, dict2) |> DataFrame
但是这里的DataFrame返回的是DataFrame类型,而不是我需要的构造函数。如何访问构造函数?我可以看到带有
方法(数据帧)
的签名,但无法访问实际函数。

这不适用于任何类型,因为签名
(任何,数据类型)
不存在
(管道)方法

我还没有尝试使用DataFrame,但下面这个简单的示例很管用:

type Foo
  x::Int
end

|>(a::Any, T::DataType) = T(a)

test = 1 |> Foo

为了详细说明以赛亚的回答,当你写
a |>b
时,你实际上是在呼唤,
(a,b)
。在您给出的示例中,这意味着您将调用
|>(a::Dict,b::Type{DataFrame})
@Isaiah谢谢Isaiah。我知道在我给出的示例中,它访问类型。我想知道是否有可能访问类型的构造函数来存储在变量中。然后就可以不用新方法使用管道了,尽管管道实际上只是作为一个可能用例的示例。类似于:`cnst=Foo.constructors[1];1 |>cnst。