【问题标题】:Using two Ruby classes with same name使用两个同名的 Ruby 类
【发布时间】:2020-07-06 00:35:51
【问题描述】:

我正在使用 JRuby 并处理日期。 我使用的框架迫使我同时使用 JodaTime 的 DateTime 和 Ruby 的标准 DateTime。

如何处理同名的?

如果还需要另一个,我该如何引用?

【问题讨论】:

  • 听起来好像两个类都在同一个命名空间中。您可以将 JodaTime 分配给一个常量,即 JT = org.joda.time 并通过 JT::DateTime 引用它。
  • @Stefan 这行得通。如果你把它写成答案,我会接受它

标签: ruby jodatime jruby


【解决方案1】:

您必须将具有相同名称的类保留在不同的命名空间中。

为避免与 Joda-Time 的 DateTime 冲突,您可以将 Java 包分配给一个常量:

require 'date'
require 'java'

JT = org.joda.time

JT::DateTime  # <- Joda-Time's DateTime
DateTime      # <- Ruby's DateTime

【讨论】:

    猜你喜欢
    • 2018-05-25
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多