使用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))
Run Code Online (Sandbox Code Playgroud)
感觉有点麻烦.
我在这里错过了什么吗?
您应该很少需要显式转换为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"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1408 次 |
| 最近记录: |