[#950] ruby 1.1b0 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

33 messages 1997/12/05

[#998] ruby 1.1b1 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

48 messages 1997/12/09
[#1011] Re: ruby 1.1b1 released — Kazuhisa Yanagawa <katze@...> 1997/12/10

in message-id: <199712090833.RAA31727@picachu.netlab.co.jp>

[#1013] Re: ruby 1.1b1 released — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1028] Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/10

原です。

[#1030] Re: Regexp#operators (Re: ruby 1.1b1 released) — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1033] Re: Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/10

原です。

[#1049] Re: Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/11

原です。

[#1064] Re: Regexp#operators (Re: ruby 1.1b1 released) — matz@... (Yukihiro Matsumoto) 1997/12/12

まつもと ゆきひろです

[#1097] Re: Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/15

原です。

[#1002] Object#bind — shugo@... (Shugo Maeda)

前田です。

39 messages 1997/12/09
[#1008] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1023] Re: Object#bind — shugo@... (Shugo Maeda) 1997/12/10

前田です。

[#1026] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1044] Re: Object#bind — keiju@... (石塚圭樹 ) 1997/12/11

けいじゅ@日本ラショナルソフトウェアです.

[#1051] Re: Object#bind — shugo@... (Shugo Maeda) 1997/12/11

前田です。

[#1063] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/12

まつもと ゆきひろです

[#1079] Re: Object#bind — keiju@... (石塚圭樹 ) 1997/12/14

けいじゅ@日本ラショナルソフトウェアです.

[#1084] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/15

まつもと ゆきひろです

[#1087] Re: Object#bind — keiju@... (石塚圭樹 ) 1997/12/15

けいじゅ@日本ラショナルソフトウェアです.

[#1088] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/15

まつもと ゆきひろです

[#1085] [Req] object refference — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

12 messages 1997/12/15

[ruby-dev:962] Re: ruby 1.1b0 released

From: WATANABE Hirofumi <watanabe@...>
Date: 1997-12-08 01:18:03 UTC
List: ruby-dev #962
わたなべです.

http://www.os.rim.or.jp/rbdj11b0.zip
http://www.os.rim.or.jp/rbgw11b0.zip
http://www.os.rim.or.jp/rbgwdll.zip

結局拡張モジュールの DLL 化したんだけど, tcltklib あたりとか
終了時があやしいです. でも gdb の tcl/tk 版も同じ挙動なので
とりあえず我慢してね.

ちなみに tcl/tk の win 版は
  ftp://ftp.sra.co.jp/pub/lang/tcl/win76.exe
などにあるので, こちらもインストールしてください. mswin32 版
もたぶんこれを使ってるんだと思います.

各 DLL は RUBYLIB で指定したとこに置いてください. もしくは
/usr/local/lib/ruby/i386-cygwin32 へ.

今回 Win32API module というのも含まれてます. これは perl の 
Win32::API を移植したもので仕様も同じです. ドキュメントもな
にも書いてないので, perl のほうを読んでねじゃあれなんで, 
ちょっとここに書いときます.

例えば kernel32.dll の GetCursorPos を使ってマウスカーソルの
位置が知りたいなあってときは

require 'Win32API'

getCursorPos = Win32API.new("user32", "GetCursorPos", ['P'], 'V')
lpPoint = ' ' * 8 # store two LONGs
print getCursorPos.Call(lpPoint), "\n"
x, y = lpPoint.unpack("LL") # get the actual values
print "x: ", x, "\n"
print "y: ", y, "\n"

こんな感じでいけます.

new は 第1引数で dll の名前, 第2引数で API の名前, 第3引数で
その API の引数がどんな型を持つかを文字列の配列で指定し, 最
後の引数で戻り値を指定します. 実際の呼び出しは Call もしくは 
call method を使います.

第3引数で有効な文字は 'P'(pointer型), 'N', 'L', 'I'(いずれも 
4 バイト整数)です.
最後の引数で有効な文字は 'P', 'N', 'I' と 'V'(void) です.

もう一個例を挙げます. cygwin32 の環境では任意のディレクトリ
を mount できます. こんな感じで使うと RUBYLIB は設定しなくて
もいいかもしれない.

require 'Win32API'

mount = Win32API.new("cygwin", "mount", ['P', 'P', 'L'], 'L')
mount.Call 'd:/ruby/lib', '/usr/local/lib/ruby', 0

-- 
わたなべひろふみ

In This Thread