5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【ActiveScript】RubyをWindowsで使うスレ【GUI】

1 :デフォルトの名無しさん:2006/08/08(火) 19:08:09
他プラットホームとの互換性なんかいらん!
漏れはWindowsの上だけで快適に使いたいんだ!
Windows独自の技術的な話題や、
Windows版だけのrubyの問題について語るスレ。

■ruby
 http://www.ruby-lang.org/ja/

■ruby関連スレ
 ・Rubyについて Part 22 (本スレ?)
  http://pc8.2ch.net/test/read.cgi/tech/1147897915/
 ・Ruby初心者スレッドPart7
  http://pc8.2ch.net/test/read.cgi/tech/1154077799/l50



278 :デフォルトの名無しさん:2007/08/25(土) 09:33:44
>>258
試してみたいのですが、すでにうpろだから消えているような。。。

279 :デフォルトの名無しさん:2007/08/25(土) 09:34:41
>>66
vrubyで画面に出てくるところを動かすときは、GC.disableを一時的にするといいって聞いたことがある。

280 :デフォルトの名無しさん:2007/08/25(土) 09:58:26
rbnamazuってどこからDLできますか?
本家のダウンロード、リンク切れになってる。
ttp://www.namazu.org/ruby-namazu/index.html.ja
昨夜から探して別のところで0.1を拾えただけ(最新0.4)
ヘルプ!

281 :デフォルトの名無しさん:2007/08/25(土) 10:25:25
>>278
どもです。
でも、趣味なのでもうプログラミング熱は冷めてしまいましたw

http://gzm.s201.xrea.com/openport.zip

282 :デフォルトの名無しさん:2007/08/25(土) 17:50:24
>>281
ありがとうございます。いただいていきます。
まぁ、自分の勉強のために見たいという気持ちもあるのでっ。

使ってみてですが、「ポート解放失敗」(泣)
プログラミング熱は冷めたとのことですが、Aterm WD701CVでの失敗を報告しておきます。

283 :デフォルトの名無しさん:2007/08/25(土) 19:12:39
>>282
あらら、失敗しましたかw
いやいや、私もRubyでソフトを作るのはこれが2作目です。
今度はC#をやろうと思い、挫折して、プログラミング熱が冷めましたw

284 :デフォルトの名無しさん:2007/08/29(水) 04:43:00
FormDesignerで最大化ボタンオフでタブストップをやりたいと思ったのですができず…

require 'vr/vruby'
require 'vr/vrcontrol'
class Form1 < VRForm
def construct
self.maximizebox=false
self.caption = 'form1'
self.move(140,124,335,218)
addControl(VREdit,'edit1',"edit1",38,30,160,30,0x10000)
addControl(VRButton,'button1',"button1",200,30,88,32,0x10000)
end
end
VRLocalScreen.start Form1

WS_OVERLAPPEDWINDOW & ~WS_MINIMIZEBOX的なやり方って存在しないのですかね?

285 :デフォルトの名無しさん:2007/08/31(金) 02:21:17
TABSTOPはダイアログでしか使えんよ。
そして、maximizebox=はダイアログでは使えんらしい。(なぜか)
ちょっと書き換えるが、
require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrdialog'

class Form1 < VRModalDialog
def construct
self.maximizebox=false
self.caption = 'form1'
self.move(140,124,335,218)
addControl(VREdit,'edit1',"edit1",38,30,160,30,0x10000)
addControl(VRButton,'button1',"button1",200,30,88,32,0x10000)
end
def maximizebox=(bool) #こぴぺ&修正
VRWinComponent::WinStyle.new(self).setter(WStyle::WS_MAXIMIZEBOX, bool)
end
end
VRLocalScreen.openModalDialog nil,nil,Form1


かな。

286 :デフォルトの名無しさん:2007/09/05(水) 16:39:41
FormDesignerだけど、例えばEditコントロールを貼っつけて、
マウスで適当にクリックしたりしてると、
勝手にコントロールの位置がずれたり、
サイズが小さくなったりするんだけど俺だけ?
イライラするのですが回避方法ないでしょうか。

287 :デフォルトの名無しさん:2007/09/06(木) 07:26:00
俺もそれよくなる。
結局height値を直接打って元に戻すしか方法ないのかね。

VRTabbedPanelで各タブパネルの上でカラー選択ダイアログを直接呼び出そうとするとエラーがでるので

@tab.send_parent2 1,"hoge","clicked"

で親に渡してダイアログを呼び出してるんだけど、取得した色番号を元のパネルのEditに戻したいんだけど
def tab_panel1_hoge_clicked
@tab.panels[1].foo.text = chooseColorDialog.to_s
end
でできなくorz
親から孫を直接指定ってどうやるんですか?



288 :デフォルトの名無しさん:2007/09/17(月) 21:06:44
それにしても、みんなよくVisualuRuby使う気になれるな
俺はApolloを先に使い始めたから、どうしてもVisualuRubyのAPIに慣れない

機能面の差はそんなにないと思うんだけど
クラスやメソッドの構成に癖があって、非常に扱いづらい……
慣れれば何とかなるのかな

289 :デフォルトの名無しさん:2007/09/19(水) 03:47:04
>>287
親に渡さなくても直接タブパネルにコモンダイアログを呼び出せばOK
公式マニュアルにはないけど、カラー選択なら
SWin::CommonDialog::chooseColor(nil, 0)
で、出るはず。

>>288
VisualuRubyはexerbで固めるとdllなしのスタンドアロンツールが作れるからなぁ。
(gemとか使うとdllが必要だが)
Apolloは別途Delphiの知識が必要な感じもするし、純粋なGUIプログラムなら大方はDelphiでできるし。
Delphi+Rubyの利点って正規表現をカバーぐらいしか思い浮かばない(無知でごめんよ)

ただ、マニュアル面での充実や、Vistaを含めマルチプラットフォームの可能性は断然Apolloだろうね。


290 :デフォルトの名無しさん:2007/09/19(水) 03:59:38
GtkにしたらVisualuRuby使う気なくなった
ごめんよ

291 :デフォルトの名無しさん:2007/09/19(水) 08:26:46
> ただ、マニュアル面での充実や、Vistaを含めマルチプラットフォームの可能性は断然Apolloだろうね。

Apolloは、Windowsでしか動かないよ
それと、更新されていないApolloは、Vista非対応のはず。(動くことは動くか)
Delphi2007でコンパイルしなおさないといけないと思う

292 :デフォルトの名無しさん:2007/09/19(水) 09:04:51
コード手書きでGUIとかありえない。
20年前じゃないだからさ。

293 :デフォルトの名無しさん:2007/09/19(水) 23:43:03
HTMLやTcl/tk(Ruby/tkにあらず)なら手書きでも良いような気がする
要は現状でGUIを書きやすくて充実してるライブラリが無いって話じゃね?

294 :289:2007/09/20(木) 02:16:54
>>291
言葉足らずでごめん、VisulauRubyはwin32べったりだから、比較対象として選択肢がDelphi
でコンパイルできたりすることも可能という『可能性』ってことね。
(断然って言い方がマズかったorz)

> コード手書きでGUIとかありえない。
どこまでのプログラムを手書きと言うのか分からないけど、少なくともVisualuRubyにはFormDesigner
というGUIビルダがあるのがあるし、ApolloもDelphiのGUIビルダが使えるし、完全に一から手書きし
てるというわけでもないのでは?

自分は邪道編を見て、webもGUIもできる言語って凄いと思ってRubyを使い出したので(当時は他
のLLでもGUIできるって知らなかった)
Ruby自体がGUIプログラムをやるための言語ではないが、マニュアルが極端に少ないってが問題の1つだと思うよ。

295 :デフォルトの名無しさん:2007/09/20(木) 03:52:12
>>294
「断然って言い方」だけじゃなくて、通常そういうのはマルチプラットフォー
ムとはいわんから、用語や日本語の使いかたがマズかったのでは。


296 :デフォルトの名無しさん:2007/09/21(金) 12:26:42
vrubyとMozilla ActiveX Controlを使ってgeckoエンジンのwebブラウザを作成したいのですが
ACTIVEXCINFOでできますか?

smpleだとIEの例はあるのですが、ACTIVEXCINFOが分からず四苦八苦しているので、どのよ
うに調べれはよいのですか?

297 :デフォルトの名無しさん:2007/09/23(日) 07:12:54
vrubyってクラシックな視覚スタイルしか作れないのですか?
無いとしたら、今後XP(Luna)やVista(Aero)の対応予定とかありませんか?

# Ruby/TkだとTileを使えばXP風味になりました
# Ruby初心者スレから誘導されてきました

298 :デフォルトの名無しさん:2007/09/23(日) 09:30:28
>>297
XP風にするだけならvrubyに限らずこの方法でいける
ttp://www.lhut32.com/WinXP.html

299 :デフォルトの名無しさん:2007/09/23(日) 14:04:23
>>296
ACTIVEXCINFO =["Mozilla.Browser","DWebBrowserEvents"]


300 :デフォルトの名無しさん:2007/09/23(日) 14:10:26
ACTIVEXCINFOは、ものすごく効率が悪いけど soleb
ttp://homepage1.nifty.com/markey/ruby/win32ole/index.html
で、それっぽいの(これが難しい)を探せばなんとかなります。



301 :デフォルトの名無しさん:2007/09/25(火) 03:30:08
>>299
おお、これでサンプルを変更したら動きました。
ありがとうございます。

>>300
効率が悪いとは具体的にどうしてでしょうか?

solebでCOMから扱うとなると、実際にはdllだけではなくMozillaそのものをDLして
埋め込むという感じになると思うのですが、やりたいことはWEBrickでプロキシ通
信したものをgeckoエンジン表示させたいのですが…


302 :デフォルトの名無しさん:2007/09/26(水) 12:47:16
solebはActiveXコントロールの情報も出ますよ。
ただ、むちゃくちゃイッパイ情報が出るので、
探すのが効率悪い。

303 :デフォルトの名無しさん:2007/09/26(水) 14:18:57
Windowsで現在実行中のプロセスを列挙したいのですがどうすればいい?

Win32APIのEnumProcessesとかを使うと出るらしいが
使い方がわからん。

使い方をおせーて

304 :デフォルトの名無しさん:2007/09/26(水) 16:28:48
Windows NT系上での実行を想定してるんですが、
キャラクタセットについて下記の2案だとどっちが良いと思いますか?

案1
・ソースプログラムをUTF8で書く
・Ruby/TkへStringを投げるときはそのまま
・コマンドプロンプトへStringを出力するときはSJISへ変換してやる

案2
・ソースプログラムをSJISで書く
・Ruby/TkへStringを投げるときはUTF8へ変換してやる
・コマンドプロンプトへStringを出力するときはそのまま

305 :デフォルトの名無しさん:2007/09/26(水) 16:45:47
と思ったけどプログラムコードの先頭で
#! ruby -Ks
って指定してやれば勝手にやってくれるのね・・・

306 :デフォルトの名無しさん:2007/09/27(木) 06:42:19
>>303
http://pc11.2ch.net/test/read.cgi/tech/1189255282

307 :デフォルトの名無しさん:2007/09/30(日) 01:06:07
たぶんActiveScriptRuby1.8.637に更新してからだと思うけど
VisualuRuby使ったプログラムで
定数の再定義警告が出るようになりました。

ただ、Rubyインタプリタで実行したときは
警告されません。
Exerbで作った実行ファイルを実行したときに
警告が出ます。

俺だけなのかなぁ?

308 :デフォルトの名無しさん:2007/09/30(日) 06:38:02
Ruby/Tkとvrubyを混在させるにはどうしたらいいの?

Tk.mainloop と VRLocalScreen.messageloop を一緒に走らせないとならないっぽいんだけど無理かな?

309 :デフォルトの名無しさん:2007/09/30(日) 10:32:16
>>307
> VisualuRuby使ったプログラムで
> 定数の再定義警告が出るようになりました。
再現できるソースはない?


310 :デフォルトの名無しさん:2007/09/30(日) 14:16:05
>>309

test.rb
---
require 'swin'
require 'vr/vrcontrol'
require 'vr/vrdialog'
---
これをrubyインタプリタで実行しても警告は出ない
(-W2オプション付きでも)

(続く)

311 :デフォルトの名無しさん:2007/09/30(日) 14:23:15
test.exy
---
general:
 startup: test.rb
 core: cui
 kcode: sjis
file:
 test.rb:
 Win32API.so:
  file: C:\Ruby\lib\ruby\1.8\i386-mswin32\Win32API.so
  type: extension-library
 swin.so:
  file: C:/Ruby/lib/ruby/site_ruby/1.8/i386-msvcrt/swin.so
 vr/vruby:
  file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\vruby.rb
 vr/winconst:
  file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\winconst.rb
 vr/compat/rubycompat:
  file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\compat\rubycompat.rb
 vr/rscutil:
  file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\rscutil.rb
 vr/contrib/vrwincomponent:
  file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\contrib\vrwincomponent.rb
 vr/vrcontrol:
  file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\vrcontrol.rb
 vr/sysmod:
  file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\sysmod.rb
 vr/compat/vrcontrol.rb:
  file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\compat\vrcontrol.rb
 vr/vrdialog:
  file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\vrdialog.rb
---

312 :デフォルトの名無しさん:2007/09/30(日) 14:26:15
>>311 のレシピファイルを使ってexerbで実行ファイルを作って
それを実行すると
vr/vrcontrol:1217: warning; already initialized constant WM_VSCROLL
などが出る。
(全角スペースでインデントしています。半角に変換して使ってください。)

まあ、エラーじゃないので、特に問題は無いんですけど、
なんか心臓に悪い。

313 :デフォルトの名無しさん:2007/10/22(月) 17:44:18
ttp://www.itmedia.co.jp/enterprise/articles/0710/22/news002.html
ttp://itpro.nikkeibp.co.jp/article/NEWS/20071022/285089/?ST=oss
ttp://itpro.nikkeibp.co.jp/99/ruby/index.html


314 :デフォルトの名無しさん:2007/10/25(木) 16:07:27
RubyをMac OS Xで使うスレが無いのが寂しい
Ruby/Cocoa使いとか居ない?

315 :デフォルトの名無しさん:2007/10/25(木) 19:03:14
>>314
"ruby cocoa" site:2ch.net でググると
いくつかのスレで話題になっているようですね。
必要であればスレ立てしてみてはいかがでしょう。

316 :デフォルトの名無しさん:2007/10/25(木) 19:16:56
RubyCocoaは明日から本番だしな。ちょうどいいんじゃね?

317 :デフォルトの名無しさん:2007/11/06(火) 01:53:10
http://img.baguwen.org/061217/20061217213838751.jpg

318 :デフォルトの名無しさん:2007/11/06(火) 06:29:51
これ中国の修行僧が作った道だっけ?

319 :デフォルトの名無しさん:2007/11/14(水) 01:55:36
ActiveSupportのようにライブラリを動的に読み込むスクリプトを、
exerbで実行ファイル形式にする方法ない?

320 :デフォルトの名無しさん:2007/11/14(水) 13:17:53
必要なやつを全部レシピに追加しとけば?


321 :デフォルトの名無しさん:2007/11/15(木) 01:31:37
便乗質問なのですが、hpricotっていうライブラリはc言語をコンパイルしたものが
含まれているって聞いたのですがそういうのもexerbに取り込むことが出来るのでしょうか。



322 :デフォルトの名無しさん:2007/11/16(金) 00:52:44
>321
全然オッケー

323 :デフォルトの名無しさん:2007/11/29(木) 11:10:51
"Adding Ruby to the .NET stable of languages and unlocking .NET to Ruby programmers."
http://rubydotnet.googlegroups.com/web/Home.htm

Breaking News! (20th November 2007)
Ruby.NET version 0.9 has just been released

324 :デフォルトの名無しさん:2007/11/30(金) 13:33:37
Windows における Ruby 開発環境の構築
http://taylor.gotdns.org/ruby.html

325 :デフォルトの名無しさん:2007/11/30(金) 13:50:52
>>323
とりあえず、VS2005ProにVS2005SDKとRuby.NET、VSRuby.NETをインストールしても、
VSに統合されなかったということだけは報告しておこう。


326 :デフォルトの名無しさん:2007/11/30(金) 14:38:55
>>325
スタート > すべてのプログラム > Ruby.NET > Visual Studio (for Ruby)

327 :デフォルトの名無しさん:2007/11/30(金) 16:27:44
>>326
おお、動いた。ありがとう。
とりあえず、Windowsアプリケーションで、ButtonとListboxをFormに貼り付けて
Clickイベントを書いたら動いた!
(大文字小文字をちゃんとしないといけないんだね・・・)

def button1_Click(sender,e)
  listBox1.Items.Add(Time.now.to_s)
end

だが、ビルドもプロジェクトの保存もできない・・・。
休みの間にドキュメント読もう。

328 :デフォルトの名無しさん:2007/11/30(金) 20:37:39
俺も使えた。
でも、インテリセンスが効かないのが最悪。しかも大文字小文字を区別するし。

329 :デフォルトの名無しさん:2007/12/04(火) 12:16:28
>>328
> しかも大文字小文字を区別するし。
Ruby用のIDEで区別しなかったら使いものにならんだろ。


330 :デフォルトの名無しさん:2007/12/04(火) 12:48:32
>>329
.NETのメソッドヤプロパティが全てcase sensitiveなのは使いづらい。

331 :デフォルトの名無しさん:2007/12/04(火) 14:59:27
>>330
Ruby.NET的にはそういうのはどうなんの?
大文字のと小文字のメソッドが全部定義されてる?


332 :デフォルトの名無しさん:2007/12/04(火) 15:01:16
>>331
定義されていない。
いちいちAdditemなのかAddItemなのかを調べる必要がある。

333 :デフォルトの名無しさん:2007/12/04(火) 16:45:30
え、インテリセンス使いまくりな俺には厳しい仕様だなー

334 :デフォルトの名無しさん:2007/12/04(火) 22:55:31
>>332
> 定義されていない。
てことはmethod_missing使って呼び出す?

335 :デフォルトの名無しさん:2007/12/07(金) 01:21:38
>>310 を書いた者ですが、
vr/vruby: などと書いているところを
vr/vruby.rb: というように拡張子まで含めて書くと
警告が出なくなりました。

というか、何で含めて書かなかったのだろう。
んー。

336 :デフォルトの名無しさん:2007/12/07(金) 12:34:35
Rubyist Magazine出張版 Ruby on Windows
http://www.amazon.co.jp/dp/4839926689/

337 :デフォルトの名無しさん:2007/12/07(金) 20:52:08
(追記) Windows における Ruby のバイナリ互換性について

ビルド環境として MinGW、 VC++6、VC++7、VC++8を考えます。
で、ちゃんと検証したわけではありませんが、おそらく以下が成立するはずです。

MinGWで作ったRubyとVC++6で作った拡張ライブラリは一緒に使える。逆も可。
MinGWで作ったRubyとVC++7で作った拡張ライブラリは一緒に使えない。逆も不可。
MinGWで作ったRubyとVC++8で作った拡張ライブラリは一緒に使えない。逆も不可。
VC++6で作ったRubyとVC++7で作った拡張ライブラリは一緒に使えない。逆も不可。
VC++6で作ったRubyとVC++8で作った拡張ライブラリは一緒に使えない。逆も不可。

これは利用されるC Runtime libraryの種類が問題になっています。
一応Windowsには異なるビルド環境で作ったオブジェクトファイルを混ぜても
「だいたい」問題なく動作させるための機構があるらしいのですが、
Rubyの場合問題が起こる部分を使っている、ということらしいです。
最近のRubyでは、ビルド時に異なるビルド環境を使おうとしてもできないような
対策が施されています。

そこで、バイナリ配布されているrubyの処理系は大半がVC++6かMinGW で
ビルドされているため、人に配布するためのバイナリを作るのであれば
このどちらかを使うべき、ということになります。

ttp://www.kmc.gr.jp/~ohai/diary/?date=20070305

338 :デフォルトの名無しさん:2007/12/07(金) 21:11:39
>>337
それがどうかしたか?

339 :デフォルトの名無しさん:2007/12/09(日) 23:33:10
>>337
VC7とVC8間も互換性ないからな。
VC9も同様。


340 :デフォルトの名無しさん:2007/12/10(月) 03:26:16
>>339
VC8 なんてSPのあるなしでも互換性がないんじゃなかったっけ?


341 :デフォルトの名無しさん:2007/12/10(月) 10:55:26
>>340
ない。

342 :デフォルトの名無しさん:2007/12/10(月) 16:10:11
Ruby+vruby+exerbで最適な画像処理用ライブラリって何でしょうか。
jpgを読みこんで、パレットをいじったりして、bmpで出力したいのですが。。。

343 :デフォルトの名無しさん:2007/12/11(火) 19:33:35
>>342
rcairoかrmagick

344 :デフォルトの名無しさん:2007/12/11(火) 21:52:43
>>337-339
知らんかった
DLL化された拡張ライブラリの話しだよね?

困るかも

345 :デフォルトの名無しさん:2007/12/12(水) 13:21:49
>>344
文句があるならMicrosoftへ。

346 :デフォルトの名無しさん:2007/12/13(木) 22:30:40
ttp://www.garbagecollect.jp/~usa/d/200712b.html#id20071213_P1

>_ なんかいろいろ言ってる間に[ruby-core:14039]が。
>
>Anyway, the MinGW guys just commited a few changes that will allow you
>target specific MSVCRT versions with the same compiler, removing the
>pain to create extensions with gcc for ruby build with VC6/8/9.
>
>ですってよ。マジすか。福音キター!
>
>_ こうなってくると前提が変わってきて、mingwがMSVCRT.dllとリンクするからVC6が望ましい、という理屈は成立しなくなるんだよね。
>じゃあみんなでVC9に行ってみる?

347 :デフォルトの名無しさん:2007/12/18(火) 20:15:52
Cで拡張ライブラリを書いたときに、拡張ライブラリから関数ポインタを返してRuby側でその関数を実行するにはどうしたらいいですか。


348 :デフォルトの名無しさん:2007/12/18(火) 20:59:03
そんなことよりモジュール関数にするとか

349 :デフォルトの名無しさん:2007/12/19(水) 01:37:03
関数ポインタをRuby上で表現できるようなクラスを書くしかないと思うけど。
でも結局DLの車輪の再発明のような気がする。

350 :デフォルトの名無しさん:2007/12/19(水) 07:50:10
>>348>>349
つまり直関数ポインタそのものを渡してもRuby側で実行できなくて、
たとえば拡張ライブラリを以下のようにするしかないってことですか。

//これをRuby側で実行したい。
hoge (*pf)(hage x);

//これをエクスポートしてRuby側で使う。
hoge f(hage x)
{
 if(pf)return pf(x);
else return moge;
}

351 :デフォルトの名無しさん:2007/12/19(水) 08:08:29
拡張ライブラリの作り方くらい読めよ

352 :デフォルトの名無しさん:2007/12/19(水) 13:37:13
>>350
そもそも、どうして関数ポインタをRuby上で扱いたいの?

353 :デフォルトの名無しさん:2007/12/19(水) 13:40:16
関数ポインタをシェルスクリプトに返しても呼べないが如し

354 :350:2007/12/19(水) 18:16:05
レスありがとうございます。

>>351
>>350のソースはSWIGにかけてからdllを生成するつもりだったんですが、その点を書くのを忘れました。ごめんなさい。

>>352
どうして関数ポインタをRuby上で扱いたいかというと、既存のC++のクラスに関数ポインタのメンバがあって、
それをRubyでも使いたかったんです。

>>353
関数ポインタは使えないのですね。
とりあえずC++のソースの追加は必要ですが、>>350のようにやればRubyでも使えるようになると思っているので
それでやって見ます。もっと楽な方法があったら教えてください。



355 :デフォルトの名無しさん:2007/12/19(水) 20:31:50
Windowsだったらsuikyoってゆーローマ字変換ライブラリは使えませんか??

356 :350:2007/12/25(火) 20:31:37
すいません。350です。
また教えてください。

とりあえず簡単な拡張ライブラリを作ったのですが、なぜかloadできません。

mytest.soというファイルをカレントディレクトリにおいて
以下のようなスクリプトを流すと以下のようになります。

----スクリプト-----
f=open('./mytest.so')
p f
require './mytest'
----結果----------
#<File:./mytest.so>
./mytest.so: No such file or directory - ./mytest.so (LoadError)
from test.rb:3
-------------------
openではファイルが開けるのにrequireでは見つからないといわれてしまいます。
なにが悪いのでしょうか。
環境はwinXP+cygwinです。
rubyのバージョンは1.8.4 (2005-12-24) [i386-cygwin]です。

357 :デフォルトの名無しさん:2007/12/26(水) 04:18:49
$LIB_PATH には、./は入るんじゃなかったけ?
$SAFEが1以上なら、入らんみたいだが・・・

358 :デフォルトの名無しさん:2007/12/26(水) 04:19:21
とりあえず、プロンプトで、これどうなります?
$ ruby -e 'puts $:'

359 :350:2007/12/26(水) 07:25:56
>>358
以下のようになりました。

/usr/lib/ruby/site_ruby/1.8
/usr/lib/ruby/site_ruby/1.8/i386-cygwin
/usr/lib/ruby/site_ruby
/usr/lib/ruby/1.8
/usr/lib/ruby/1.8/i386-cygwin
.

360 :デフォルトの名無しさん:2007/12/27(木) 01:06:46
ちゃんと、最後に、 ". "が入っているから、
上手くいくはずなんだがな・・・

361 :デフォルトの名無しさん:2007/12/27(木) 05:29:34
ファイルが見つからないんじゃなくて、mytest.soをDLLとしてロードできない何らかの理由があるんじゃないかな。
Init_mytestという関数がないとか、mytest.soが依存している他のDLLが動的リンクできないとか。

362 :デフォルトの名無しさん:2007/12/27(木) 09:08:01
>>361
ロードできました。ありがとうございます。
原因はずばりInit_mytestがない、でした。
SWIGで生成したmytest_wrap.cxxではInit_MyTestという関数になっていて
これをInit_mytestにリネームすることで動くようになりました。
(あと #define SWIG_Init Init_MyTestのところもリネームしました)

mytest.iの書き方がまずかったためにこのようなことになったのでしょうか。
mytest.iは以下です。

%module MyTest
%{
#include "test.h"
%}

%include "test.h"


swigへの引数は-c++ -ruby mytest.iです。

363 :350=362:2007/12/27(木) 10:19:06
とりあえず
%module MyTest
のところを
%module mytest
にすると上手くいくようです。
モジュール名は大文字で始めなければいけないという先入観がありました。


364 :デフォルトの名無しさん:2007/12/27(木) 22:15:16
ttp://arton.no-ip.info/diary/20071227.html#p03

Ruby-1.9.0.msi
ASRやExerbはもちろん、Visualu Rubyなども入っていない素のMSVCRT(VC++6SP5)版のRuby 1.9.0になります。
以下が含まれます。サイズは15MB近くとでかいので注意。
・1.9.0 リファレンスマニュアル (chm版)
・include、lib、riなど1.9.0のnmake install対象すべて。rbconfig.rbは修正が必要かも
・Vista対応
・openssl(0.9.8g)
・readline
・zlib
・iconv(1.9.1)
・tcltk84用tcltklib.so
・この忙しいのにしっかりと入ったgoruby
再配布もご自由にどうぞ。
なお、アンインストールには信じられないくらいの時間がかかります。

365 :デフォルトの名無しさん:2007/12/27(木) 22:23:10
ゴルビーってなんやねん

366 :デフォルトの名無しさん:2007/12/28(金) 04:49:31
俺は全然まとはずれな、答えしてたのね orz

DLLの中美香

367 :デフォルトの名無しさん:2007/12/30(日) 01:40:29
artonさんとこのインスコして
うきうきわくわく

ruby -e "t=Time.now; 100000.times{}; puts Time.now - t"

ってやったら
1.8の方が速かった

しょぼーん(´・ω・`)

368 :デフォルトの名無しさん:2007/12/30(日) 03:51:52
どういうベンチなんだそれは・・・

369 :デフォルトの名無しさん:2007/12/30(日) 14:07:39
require 'benchmark'
puts `ruby -v`
puts Benchmark::CAPTION
puts Benchmark.measure(RUBY_VERSION) { "a"*100_000_000 }



ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
      user     system      total        real
  1.828000   0.031000   1.859000 (  1.875000)


ruby 1.9.0 (2007-12-25 revision 14709) [i386-mswin32]
      user     system      total        real
  2.484000   0.015000   2.499000 (  2.532000)


ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mingw32]
      user     system      total        real
  0.813000   0.015000   0.828000 (  0.828000)

ruby 1.9.0 (2007-12-30 revision 0) [i386-mingw32]
      user     system      total        real
  0.953000   0.016000   0.969000 (  0.969000)

370 :デフォルトの名無しさん:2007/12/30(日) 14:10:17
まちごうた
require 'benchmark'
puts `ruby -v`
puts Benchmark::CAPTION
puts Benchmark.measure { "a"*100_000_000 }

371 :デフォルトの名無しさん:2007/12/31(月) 07:38:09
>>368は、詳細をだせ、と言っているのではなく、
たぶん、それはベンチになっていないといいたいのでは?

372 :デフォルトの名無しさん:2007/12/31(月) 12:21:56
1.9のほうが遅い=ベンチになってない(Ruby脳)

373 :デフォルトの名無しさん:2007/12/31(月) 18:05:45
ActiveTcl8.5も出てたのか

374 :デフォルトの名無しさん:2008/01/02(水) 20:16:04
何十個かの言語のベンチを比較するページがどっかにあったけど、
あれ試せばいいんじゃね?

375 :デフォルトの名無しさん:2008/01/03(木) 09:38:43
RubyオセロをCOM同士で戦わせるベンチみたいなのはねーの?

376 :デフォルトの名無しさん:2008/01/09(水) 19:38:07
Rubyスクリプトから、ファイルを関連付けられてるアプリで開くにはどうすりゃよいですか?

377 :デフォルトの名無しさん:2008/01/09(水) 19:56:08
変数fileにファイル名が入ってるとして、

system("start #{file}")

378 :デフォルトの名無しさん:2008/01/09(水) 19:57:45
Win32APIのShellExecuteを呼ぶ

176 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)