246件ヒット
[1-100件を表示]
(0.097秒)
種類
- インスタンスメソッド (178)
- クラス (28)
- ライブラリ (24)
- モジュール (12)
- 文書 (4)
ライブラリ
- ビルトイン (8)
-
fiddle
/ import (156) - rake (48)
-
shell
/ system-command (6)
クラス
-
Rake
:: Application (12) -
Rake
:: FileList (12) - Refinement (4)
-
Shell
:: SystemCommand (6)
モジュール
-
Fiddle
:: Importer (132) - Kernel (12)
キーワード
- CStruct (12)
- DefaultLoader (12)
- Importer (12)
-
NEWS for Ruby 3
. 1 . 0 (4) - Refinement (4)
- [] (12)
-
add
_ loader (12) - bind (12)
-
create
_ value (12) - dlload (12)
- extern (12)
-
fiddle
/ import (12) -
fiddle
/ types (12) -
import
_ methods (4) -
import
_ symbol (12) - sizeof (12)
-
start
_ import (6) - struct (12)
- typealias (12)
- union (12)
- value (12)
検索結果
先頭5件
-
Kernel
# import(*filenames) (24207.0) -
分割された Rakefile をインポートします。
...されているオブジェクトに依存していてもかまいません。
このメソッドは依存関係を定義したファイルを読み込むのによく使われます。
@param filenames インポートする Rakefile を指定します。
例:
import ".depend", "my_rules"... -
Rake
:: FileList # import(array) -> self (24207.0) -
与えられた配列を自身にインポートします。
...st[][ruby]{
# Rakefile での記載例とする
IO.write("test1.rb", "test")
IO.write("test2.rb", "test")
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("test1.rb", "test2.rb", "test3.rb")
file_list.import(["test4.rb", "test5.rb"]) # => ["test4.rb", "test5.rb", "t......est1.rb", "test2.rb", "test3.rb"]
file_list # => ["test4.rb", "test5.rb", "test1.rb", "test2.rb", "test3.rb"]
end
//}... -
Fiddle
:: Importer # import _ symbol(name) -> Fiddle :: Pointer (15201.0) -
取り込んだライブラリからシンボルをインポートします。
...取り込んだライブラリからシンボルをインポートします。
返り値はシンボルがロードされたメモリのアドレスを持つ Fiddle::Pointer
オブジェクトを返します。
@param name シンボル名(文字列)... -
Refinement
# import _ methods(*modules) -> self (12231.0) -
モジュールからメソッドをインポートします。
...モジュールからメソッドをインポートします。
Module#includeと違って、import_methods はメソッドをコピーして
refinement に追加して、refinementでインポートしたメソッドを有効化します。
メソッドをコピーするため、Rubyコードで......ist[][ruby]{
module StrUtils
def indent(level)
' ' * level + self
end
end
module M
refine String do
import_methods StrUtils
end
end
using M
p "foo".indent(3) # => " foo"
module M
refine String do
import_methods Enumerable
# Can't import method which is not defined with... -
Shell
:: SystemCommand # start _ import -> () (12201.0) -
@todo
...@todo... -
Fiddle
:: Importer # create _ value(type , val = nil) -> Fiddle :: CStruct (12106.0) -
型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。
...型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。
type は "int", "void*" といった文字列......された構造体に
その値を代入します。
@param type 型を表す文字列
@param val 構造体に確保される初期値
例
require 'fiddle/import'
module M
extend Fiddle::Importer
end
v = M.value("int", 32)
p v.value # => 32
v.value = 48
p v.value # => 48... -
Fiddle
:: Importer # extern(signature , *opts) -> Fiddle :: Function (12106.0) -
Fiddle::Importer#dlload で取り込んだライブラリから C の関数をインポートします。
...dle::Importer#dlload で取り込んだライブラリから
C の関数をインポートします。
インポートした関数はそのモジュールにモジュール関数として定義されます。
signature で関数の名前とシネグチャを指定します。例えば
"int strcmp(......す。
opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することができます。
@return インポートした関数を表す Fiddle::Function オブジェクトを返します。
@param signature 関数の名前とシネグチャ
@param opts オプ......ション
例
require 'fiddle/import'
module M
extern Fiddle::Importer
dlload "libc.so.6"
extern "int strcmp(char*, char*)"
end
M.strcmp("abc", "abc") # => 0
M.strcmp("abc", "abd") # => -1... -
fiddle
/ import (12048.0) -
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
...fiddle/import ライブラリを使います。
主な使い方は fiddle も参照してください。
=== 高度な使用法
==== ○○の配列を関数に渡したい
例えば与えられた長さ len の double の配列の和を計算する関数
double sum(double *arry, int len);......ddle/import'
module M
extend Fiddle::Importer
dlload './libsum.so'
extern 'double sum(double*, int)'
end
p M.sum([2.0, 3.0, 4.0].pack('d*'), 3) #=> 9.0
また与えられた文字列の配列 s (長さlen)の各要素の最初の文字を buf にコピーする関数
void first_char......r *buf, int len)
があったとします。これを呼び出すにも以下のように Array#pack を使用します。
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libstrfirst.so'
extern 'void first_char(char **, char *, int)'
end
buf = '111'
M.first_char(['A... -
Fiddle
:: Importer (12006.0) -
C の関数をモジュールにインポートするためのモジュールです。
...の関数をモジュールにインポートするためのモジュールです。
対象となるモジュールに Object#extend することで、
そのモジュールにインポートできるようになります。
使いかたは fiddle や fiddle/import を参照してください。... -
Fiddle
:: Importer # struct(signature) -> Class (9106.0) -
C の構造体型に対応する Ruby のクラスを構築して返します。
...ます。そしてそれを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_usec;
};
という構造体型に対応して
Timeval = struct(["long tv_sec", "long tv_usec"])
として構造体に対応するク......す
* クラスメソッド malloc
* initialize
* to_ptr
* to_i
* 構造体の各メンバへのアクセサ
返されるクラスは Fiddle::CStruct を継承しています。詳しくは
そちらを参照してください。
@param signature 構造体の各要素を文字列で表......require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
extern "int gettimeofday(void*, void*)"
Timeval = struct(["long tv_sec", "long tv_usec"])
end
time = M::Timeval.malloc
M.gettimeofday(time, Fiddle::NULL)
p time.tv_sec
p time.tv_usec...