В настоящее время у меня есть RUby FFI Struct:
class Color < FFI::Struct
layout :red, :uchar, :green, :uchar, :blue, :uchar
end
, который необходимо создать, как т его:
color = Color.new
color[:red] = 255
color[:green] = 0
color[:blue] = 0
Можно ли определить метод initialize
в Structтак что я могу просто сделать это:
color = Color.new(255, 0, 0)
Я попробовал следующее, которое работает, но собирается ли это как-то укусить меня в будущем?
class Color < FFI::Struct
layout, :red, :uchar, :green, :uchar, :blue, :uchar
def initialize(red, green, blue)
self[:red] = red
self[:green] = green
self[:blue] = blue
end
end