使用Julia,我想将任何类型可靠地转换为type 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))
感觉有点麻烦。
我在这里想念什么吗?
您几乎不需要显式转换为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"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句