Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > dl/importライブラリ > DL::Importerモジュール > create_value

instance method DL::Importer#create_value

create_value(type, val = nil) -> DL::CStruct[permalink][rdoc]
value(type, val = nil) -> DL::CStruct

型が type で要素名が "value" であるような構造体を 定義(DL::Importer#struct)し、 その構造体のメモリを DL::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。

type は "int", "void*" といった文字列で型を指定します。 val に nil 以外を指定すると、確保された構造体に その値を代入します。

[PARAM] type:
型を表す文字列
[PARAM] val:
構造体に確保される初期値

require 'dl/import'

module M
  extend DL::Importer
end

v = M.value("int", 32)
p v.value # => 32
v.value = 48
p v.value # => 48