rubyize

10
Rubyize ににににににににににに

Upload: akio-tajima

Post on 27-May-2015

576 views

Category:

Technology


0 download

DESCRIPTION

RubyKaigi 2006

TRANSCRIPT

Page 1: Rubyize

Rubyize による言語境界の越え方

Page 3: Rubyize

Win32OLE• 助田さん作成• IDispatch

OLEオートメーション• VARIANT型フラグとデータによる汎用型

• ITypeInfoオブジェクトの型情報

Page 4: Rubyize

COM• VTBL

IUnknown* (QI、 AddRef、 Release)• Factory

– IClassFactoryCoCreateInstance API

• レジストリ– ProgID– CLSID

Page 5: Rubyize

WSC• Windows Script Component

• ScrObj.DLL

• スクリプトが COMのオブジェクト

• RubyizeもWSC

Page 6: Rubyize

Rubyize• ASR付属インストールディレクトリ \samples\rubyize

• 準備: regsvr32 rbobj.wsc

• 利用: Set ruby = CreateObject("ruby.object")

ruby = ActiveXObject.new ("ruby.object")

Page 8: Rubyize

Rubyize

Html Application

DOM

VBScript

Ruby

ActiveScriptRuby/Win32OLE

name

String:Arton

VBClass:val

{‘VB’=>}

Page 9: Rubyize

Rubyize

HOST

ScrObj.DLL OLE*.DLL

  RScript18.DLL

msvcrt-ruby18.dll        Object

IDispatch*

IActiveScriptSite*

IActiveScript*

IDispatch*

Page 10: Rubyize

ActiveScriptHost• 直接 Rubyをホストするより簡単• スクリプトニュートラル