我正在使用 Dates 模块,并且正在尝试将 Seconds 对象转换为整数。
当我尝试以下操作时,出现错误:
x = Second(5)
Int(x)
# ERROR: MethodError: no method matching Int64(::Second)
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?我如何将其提取为整数值?
我的问题也适用于将分钟转换为整数、将天数转换为整数、将月数转换为整数等。
不使用 Int 构造函数,而是访问 Second 对象的 .value 属性:
x = Second(5)
x.value # 5
Run Code Online (Sandbox Code Playgroud)
该作品从日期中的其他对象模块,例如Minute,Day,Month等。
也查看@tholy 的答案,以很好地解释为什么它的结构是这样的。
作为旁注,dump()在这样的情况下是一个有用的功能 - 当您使用一个不熟悉的对象并且您想了解如何访问其属性等等时:
dump(x)
# Output:
# Second
# value: Int64 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
862 次 |
| 最近记录: |