RSS

カテゴリー別アーカイブ: JRuby

jRuby で Java パッケージを使う

jRuby では Java パッケージを簡単に使用できる。Java パッケージを使うには、次のような要件がある。

  • require “java” が最初に必要。
  • 必要なパッケージは java_import でインポートする。

次に使用例を示す。

require "java"

java_import java.util.ArrayList
java_import java.util.Collections
java_import java.util.Comparator

class ReverseComparator
  include Comparator

  def compare(arg0, arg1)
    return arg1 - arg0
  end
end



class SList < ArrayList
  def initialize()
    super()
  end

  def []=(a)
    self.add(a)
  end

  def SList.sort(list, comparator=nil)
    if comparator.nil? then
      Collections.sort(list)
    else
      Collections.sort(list, comparator)
    end
  end

  def print()
    self.size.times do |i|
      puts self[i].to_s
    end
  end
end

rc = ReverseComparator.new
list = SList.new
list[] = 10
list[] = 5
list[] = 35
list[] = 22
list[] = 8
list.print

puts "\n sort"
SList.sort(list)
list.print

puts "\n reversesort"
SList.sort(list, rc)
list.print

 
コメントする

投稿者: : 2024/03/05 投稿先 JRuby

 

タグ: ,