如何在Julia

时间:2017-01-30 04:25:33

标签: julia

使用Julia,我想将任何类型可靠地转换为String类型。似乎有两种方法可以在v0.5中进行转换,string函数或String构造函数。问题是您需要根据输入类型选择正确的一个。

例如,typeof(string(1))的计算结果为String,但String(1)会引发错误。另一方面,typeof(string(SubString{String}("a")))评估为Substring{String},这不是String的子类型。我们需要做String(SubString{String}("a"))

因此,将任何输入x转换为类型String的唯一可靠方法是通过构造:

String(string(x))
感觉有点麻烦。

我在这里遗漏了什么吗?

1 个答案:

答案 0 :(得分:5)

您应该很少需要明确转换为String。请注意,即使您的类型定义包含String个字段,或者您的数组具有具体的元素类型String,您仍然可以依赖隐式转换。

例如,以下是隐式转换的示例:

type TestType
    field::String
end

obj = TestType(split("x y")[1])  # construct TestType with a SubString
obj.field  # the String "x"

obj.field = SubString("Hello", 1, 3)  # assign a SubString
obj.field  # the String "Hel"