Как переопределить существующие методы Java в JRuby? Прямо сейчас можно переопределить методы Ruby. Я спрашиваю это, потому что когда вы пишете что-то вроде
include Java
puts java.io.File.separator
и изучите java, io и File, оказывается, что java и io имеют тип «ruby module», а File — это «класс». Поэтому мне было интересно, можно ли написать что-то подобное и ожидать, что это сработает.
module Java
module JavaIoType
class File
class << self
alias_method :old_sp, :separator
def separator(*args)
Kernel.puts caller
old_sp(*args)
end
end
end
end
end
Но это не так :(
Также есть похожий вопрос для clojure. Мне просто интересно, будет ли ответ для JRuby другим.
Я знаю, что это немного натянуто, но я все равно спрашиваю.