使用两个同名的 Ruby 类

Using two Ruby classes with same name

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

如何处理同名的?

当还需要另一个时,如何引用一个?

您必须在不同的命名空间中使用相同的名称 类。

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

require 'date'
require 'java'

JT = org.joda.time

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