種類
- 文書 (67)
- インスタンスメソッド (24)
- ライブラリ (12)
ライブラリ
-
fiddle
/ import (24)
モジュール
-
Fiddle
:: Importer (24)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 5 . 0 (8) - bind (12)
-
fiddle
/ import (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12)
検索結果
先頭5件
-
Fiddle
:: Importer # sizeof(t) -> Integer (18153.0) -
C における sizeof(t) の値を返します。
...C における sizeof(t) の値を返します。
t が文字列の場合、その文字列が表す C の型の size が返されます。
例えば、sizeof("char") は 1 を返します。
sizeof("char*") は環境によって 4 や 8 といった値を返します。
Fiddle::Importer#struct......構造体のサイズを返します。
Fiddle::Importer#union で定義した共用体クラスも同様です。
t がクラスの場合、t が to_ptr というインスタンスメソッドを持っている
ならば t.size を返します。
それ以外の場合は Pointer[t].size を返し......ている型を Fiddle が知らなかった
場合に発生します
例:
require 'fiddle/import'
module M
extend Fiddle::Importer
Timeval = struct(["long tv_sec", "long tv_usec"])
p sizeof("char") # => 1
p sizeof("void*") # => 8
p sizeof(Timeval) # => 16
end... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (378.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...r(), String#to_i、String#oct もこの prefix を認識します。
: ((<メソッド引数の & 修飾|メソッド呼び出し/イテレータ>)) [compat]
: ((<Proc#to_proc|Proc/to_proc>)) [new]
メソッドに渡す引数に & を修飾した場合、渡すオブジェクトが to_proc を......て渡すようになりまし
た。以前は、& 修飾できるのは Proc, Method オブジェクト限定でした。
これに伴い Proc#to_proc が追加されました。
: 終了ステータス [compat]
raise SystemExit したときに終了ステータス 1 で終了するよう......[lib] [new]
追加
: ((<"io/wait">)) [lib] [new]
追加
: ((<mkmf>)) [lib] [new]
新しい判定メソッド have_type(), check_sizeof() が追加されました。
: ((<pathname>)) [lib] [new]
追加
: ((<resolv>)) [lib] [compat]
Win32 に対応しました... -
ruby 1
. 8 . 4 feature (282.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...ature/拡張ライブラリAPI>))
* ((<ruby 1.8.4 feature/rb_funcall2() [bug]>))
* ((<ruby 1.8.4 feature/rb_respond_to() [change]>))
* ((<ruby 1.8.4 feature/rb_obj_respond_to() [new]>))
* ((<ruby 1.8.4 feature/プラットフォーム固有>))
* ((<ruby 1.8.4 feature/bccwin32 [bug]>))
* ((......2005-09-21) [i686-linux]
:
# => ruby 1.8.4 (2005-12-16) [i686-linux]
-:1: empty symbol literal
: Symbol [bug]
#Sat Oct 22 13:26:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
#
# * object.c (sym_inspect), parse.y (parser_yylex, rb_symname_p): check
#......。
# -e:1:in `printf': width too big (ArgumentError)
: Hash [bug]
#Wed Nov 23 03:40:49 2005 Guy Decoux <ts@moulon.inra.fr>
#
# * re.c (KR_REHASH): should cast to unsigned for 64bit CPU.
# [ruby-core:06721]
sizeof(long) > sizeof(int) な環境で、ハッシュ関数... -
ruby 1
. 6 feature (72.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...返していた
p "foo".slice!(5,10)
=> ruby 1.6.7 (2002-03-01) [i586-linux]
nil
-:2:in `slice!': index 5 out of string (IndexError)
from -:2
=> ruby 1.6.7 (2002-08-01) [i586-linux]
nil
nil
: 2002-07-05 String#spli......前までは $; が有効にな
るのは引数省略時だけでした。
$; = ":"
p "a:b:c".split(nil)
=> -:2:in `split': bad separator (ArgumentError)
from -:2
ruby 1.6.7 (2002-03-01) [i586-linux]
=> ruby 1.6.7 (2002-07-30) [i586-linux]
["a", "b", "c"......p
((<Float>)) を dump するときの精度が "%.12g" から "%.16g" になりました。
((<ruby-list:29349>))
: ((<Fixnum>))#[]
sizeof(long) > sizeof(int) なシステムでのバグが修正されたようです。
: 正規表現
まれなバグが2件修正されました ((<ruby... -
NEWS for Ruby 2
. 5 . 0 (54.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...た 11547
* do/end ブロック内部で rescue/else/ensure を書けるようになりました 12906
* 文字列の式展開内部の暗黙の to_s 呼び出しにも refinements が影響するようになりました 13812
=== 組み込みクラスの更新
* Array
* Array#append......through.
7688
* Regexp
* Onigmo 6.1.3-669ac9997619954c298da971fcfacccf36909d05 に更新
* 非包含オペレータ(absence operator)をサポート https://github.com/k-takata/Onigmo/issues/82
* Support new 5 emoji-related Unicode character properties
* RubyVM::Instruct......iases for syck gem
https://github.com/ruby/psych/pull/312
* rbconfig
* RbConfig::LIMITS is added to provide the limits of C types.
This is available when rbconfig/sizeof is loaded.
* ripper
* Ripper::EXPR_BEG and so on for Ripper#state.
* Ripper#state を追加。ス... -
NEWS for Ruby 2
. 1 . 0 (48.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...y
* 追加: Array#to_h キーと値のペアの配列をハッシュに変換します。
* Binding
* 追加: Binding#local_variable_get
* 追加: Binding#local_variable_set
* 追加: Binding#local_variable_defined?
* Enumerable
* 追加: Enumerable#to_h キーと値のペ......OTS
* RUBY_GC_HEAP_GROWTH_FACTOR
* RUBY_GC_HEAP_GROWTH_MAX_SLOTS
* RUBY_GC_MALLOC_LIMIT_MAX
* RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR
* RUBY_GC_OLDMALLOC_LIMIT
* RUBY_GC_OLDMALLOC_LIMIT_MAX
* RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR
* 廃止した環境変数......追加: RbConfig::SIZEOF C の型のサイズを提供するために追加しました。
* rdoc
* 4.1.0 に更新。主にデフォルトのテンプレートとアクセシビリティを改善しました。
https://github.com/ruby/rdoc/blob/v4.1.0.preview.1/History.rdoc
* resol... -
Fiddle
:: Importer # bind(signature , *opts) { . . . } -> Fiddle :: Function (30.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
...re(void*, void*)"){|px, py|
x = px.to_s(Fiddle::SIZEOF_INT).unpack("i!")
y = py.to_s(Fiddle::SIZEOF_INT).unpack("i!")
x <=> y
}
end
data = [32, 180001, -13, -1, 0, 49].pack("i!*")
M.qsort(Fiddle::Pointer[data], 6, Fiddle::SIZEOF_INT, M["compare"])
p data.unpack("i!*... -
fiddle
/ import (24.0) -
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
...dlunwrap(a.ptr.to_i)
b0 = Fiddle.dlunwrap(b.ptr.to_i)
a0 <=> b0
}
extern 'void qsort(void *, int, int, void *)'
end
buff = [Time.at(1), Time.now, Time.at(100), Time.at(10)]
a = buff.map{|t| Fiddle.dlwrap(t)}.pack('l!*')
M.qsort(a, buff.size, Fiddle::SIZEOF_VOIDP, M::Qso......rtCallback)
p a.unpack('l!*').map{|t| Fiddle.dlunwrap(t).to_i } #=> [1, 10, 100, 1241603848]
==== 複雑な構造体を定義したい
構造体をメンバとして持つ構造体を Fiddle::Importer#struct を使って定義することは残念ながらできません。
自力で... -
NEWS for Ruby 2
. 2 . 0 (18.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...* 追加: String#unicode_normalize
* 追加: String#unicode_normalize!
* 追加: String#unicode_normalized?
* Symbol
* 改善: String#to_sym, String#intern によって返される多くのシンボルがGC可能になりました
* Method
* 追加: Method#curry([arity]) はカ......atrix#cofactor
* 追加: Matrix#adjugate
* 追加: Matrix#hstack, Matrix#vstack
* 追加: Matrix#laplace_expansion
* 追加: Vector.basis
* 追加: Vector#-@, Vector#+@, Matrix#-@, Matrix#+@
* 追加: Vector#cross_product
* 追加: Vector#dot
* 追加: Vector#angle_wi......た。メンテナンスしていないコードでした。
* ObjectSpace (after requiring "objspace")
* ObjectSpace.#memsize_of(obj) は sizeof(RVALUE) を含むようになりました。
8984
* prime
* 非互換:
* Prime.prime? は負の数に対して false を返し...