Я использую jruby-9.2.6.0
для импорта библиотеки Java pdf.PDColor
- это класс, для которого создается массив с плавающей точкой, а также строковая константа.Пример кода Java, на который я ссылаюсь , выглядит следующим образом:
import org.apache.pdfbox.pdmodel.graphics.color.PDColor;
PDColor componentColor = new PDColor(new float[]{1, 0, 0}, PDDeviceRGB.INSTANCE);
В jruby
мой код выглядит следующим образом:
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB;
float_arr = [1.to_f, 0.to_f, 0.to_f]
componentColor = PDColor.new(float_arr, PDDeviceRGB::INSTANCE)
Проблема в том, что, похоже, параметр float_arr
не напечатан как массив с плавающей точкой, и поэтому мы получаем следующую ошибку:
NameError (no constructor for arguments (org.jruby.RubyArray,org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB) on Java::OrgApachePdfboxPdmodelGraphicsColor::PDColor)
available overloads:
(org.apache.pdfbox.cos.COSArray,org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace)
(org.apache.pdfbox.cos.COSName,org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace)
(float[],org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace)
Есть ли известный способ в jruby
преобразовать массив с плавающей точкой Ruby в массив с плавающей точкой Java?