他プラットホームとの互換性なんかいらん!
漏れは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
探検
【ActiveScript】RubyをWindowsで使うスレ【GUI】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2006/08/08(火) 19:08:09324デフォルトの名無しさん
2007/11/30(金) 13:33:37 Windows における Ruby 開発環境の構築
http://taylor.gotdns.org/ruby.html
http://taylor.gotdns.org/ruby.html
325デフォルトの名無しさん
2007/11/30(金) 13:50:52326デフォルトの名無しさん
2007/11/30(金) 14:38:55 >>325
スタート > すべてのプログラム > Ruby.NET > Visual Studio (for Ruby)
スタート > すべてのプログラム > 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
だが、ビルドもプロジェクトの保存もできない・・・。
休みの間にドキュメント読もう。
おお、動いた。ありがとう。
とりあえず、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:28330デフォルトの名無しさん
2007/12/04(火) 12:48:32 >>329
.NETのメソッドヤプロパティが全てcase sensitiveなのは使いづらい。
.NETのメソッドヤプロパティが全てcase sensitiveなのは使いづらい。
331デフォルトの名無しさん
2007/12/04(火) 14:59:27332デフォルトの名無しさん
2007/12/04(火) 15:01:16333デフォルトの名無しさん
2007/12/04(火) 16:45:30 え、インテリセンス使いまくりな俺には厳しい仕様だなー
334デフォルトの名無しさん
2007/12/04(火) 22:55:31335デフォルトの名無しさん
2007/12/07(金) 01:21:38 >>310 を書いた者ですが、
vr/vruby: などと書いているところを
vr/vruby.rb: というように拡張子まで含めて書くと
警告が出なくなりました。
というか、何で含めて書かなかったのだろう。
んー。
vr/vruby: などと書いているところを
vr/vruby.rb: というように拡張子まで含めて書くと
警告が出なくなりました。
というか、何で含めて書かなかったのだろう。
んー。
336デフォルトの名無しさん
2007/12/07(金) 12:34:35 Rubyist Magazine出張版 Ruby on Windows
http://www.amazon.co.jp/dp/4839926689/
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
ビルド環境として 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:10340デフォルトの名無しさん
2007/12/10(月) 03:26:16341デフォルトの名無しさん
2007/12/10(月) 10:55:26 >>340
ない。
ない。
342デフォルトの名無しさん
2007/12/10(月) 16:10:11 Ruby+vruby+exerbで最適な画像処理用ライブラリって何でしょうか。
jpgを読みこんで、パレットをいじったりして、bmpで出力したいのですが。。。
jpgを読みこんで、パレットをいじったりして、bmpで出力したいのですが。。。
343デフォルトの名無しさん
2007/12/11(火) 19:33:35 >>342
rcairoかrmagick
rcairoかrmagick
344デフォルトの名無しさん
2007/12/11(火) 21:52:43345デフォルトの名無しさん
2007/12/12(水) 13:21:49 >>344
文句があるならMicrosoftへ。
文句があるなら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に行ってみる?
>_ なんかいろいろ言ってる間に[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の車輪の再発明のような気がする。
でも結局DLの車輪の再発明のような気がする。
350デフォルトの名無しさん
2007/12/19(水) 07:50:10351デフォルトの名無しさん
2007/12/19(水) 08:08:29 拡張ライブラリの作り方くらい読めよ
352デフォルトの名無しさん
2007/12/19(水) 13:37:13 >>350
そもそも、どうして関数ポインタをRuby上で扱いたいの?
そもそも、どうして関数ポインタをRuby上で扱いたいの?
353デフォルトの名無しさん
2007/12/19(水) 13:40:16 関数ポインタをシェルスクリプトに返しても呼べないが如し
354350
2007/12/19(水) 18:16:05355デフォルトの名無しさん
2007/12/19(水) 20:31:50 Windowsだったらsuikyoってゆーローマ字変換ライブラリは使えませんか??
356350
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]です。
また教えてください。
とりあえず簡単な拡張ライブラリを作ったのですが、なぜか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以上なら、入らんみたいだが・・・
$SAFEが1以上なら、入らんみたいだが・・・
358デフォルトの名無しさん
2007/12/26(水) 04:19:21 とりあえず、プロンプトで、これどうなります?
$ ruby -e 'puts $:'
$ ruby -e 'puts $:'
359350
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
.
以下のようになりました。
/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が動的リンクできないとか。
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です。
ロードできました。ありがとうございます。
原因はずばり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です。
363350=362
2007/12/27(木) 10:19:06 とりあえず
%module MyTest
のところを
%module mytest
にすると上手くいくようです。
モジュール名は大文字で始めなければいけないという先入観がありました。
%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
再配布もご自由にどうぞ。
なお、アンインストールには信じられないくらいの時間がかかります。
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の中美香
DLLの中美香
367デフォルトの名無しさん
2007/12/30(日) 01:40:29 artonさんとこのインスコして
うきうきわくわく
ruby -e "t=Time.now; 100000.times{}; puts Time.now - t"
ってやったら
1.8の方が速かった
しょぼーん(´・ω・`)
うきうきわくわく
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)
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 }
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}")
system("start #{file}")
378デフォルトの名無しさん
2008/01/09(水) 19:57:45 Win32APIのShellExecuteを呼ぶ
379デフォルトの名無しさん
2008/01/09(水) 20:24:41380デフォルトの名無しさん
2008/01/09(水) 20:32:13 戻り値が32未満ならエラーだからさらにその意味を調べて分岐すればいい。
たぶんこれ
SE_ERR_ASSOCINCOMPLETE = 27;
詳細はググレカス
たぶんこれ
SE_ERR_ASSOCINCOMPLETE = 27;
詳細はググレカス
381デフォルトの名無しさん
2008/01/09(水) 21:16:19 zipを渡して戻り値SE_ERR_NOASSOC
関連付け設定しなおして再起動してもうまくいかず
試しに
system("cmd /c \"#{zipfile}\"")
だったらうまくいったり
他のPCだったら無問題だったので、自分の環境がおかしいということで
めんどくさいので解決ということにしました
指南どうもありがとう
関連付け設定しなおして再起動してもうまくいかず
試しに
system("cmd /c \"#{zipfile}\"")
だったらうまくいったり
他のPCだったら無問題だったので、自分の環境がおかしいということで
めんどくさいので解決ということにしました
指南どうもありがとう
382デフォルトの名無しさん
2008/01/11(金) 15:55:04 /\s/ =~ zipfile
383デフォルトの名無しさん
2008/01/13(日) 15:37:53 RubyでUSBカメラ2台以上のリアルタイム映像を取り込みたいのですが、
ふさわしいライブラリは何ですか?
用途はwindowsでの3次元画像処理です。
ここからは有ればいいなという程度の希望です。
今のところ、機能性と安定性の両方を考えると、Pure Rubyよりもラッパー系が良いかと考えています。
ラップされた方のライブラリがカメラに対応していて、なおかつラッパーが完成しているようなものが一番いいです。
ふさわしいライブラリは何ですか?
用途はwindowsでの3次元画像処理です。
ここからは有ればいいなという程度の希望です。
今のところ、機能性と安定性の両方を考えると、Pure Rubyよりもラッパー系が良いかと考えています。
ラップされた方のライブラリがカメラに対応していて、なおかつラッパーが完成しているようなものが一番いいです。
384デフォルトの名無しさん
2008/01/14(月) 17:40:17 ActiveScriptRuby 1.8.5をインストールした環境でVisualuRubyのタイマーを
使いたいのですが、うまく動いてくれません。ソースは下記の通りです。
timeralive?ではタイマーが存在している旨の表示がコンソールに出力されますが、
メソッド"timer1_timer"が呼び出されません。
どうすればちゃんとタイマーが使えるようになるでしょうか?
御指南をよろしくお願いします。
require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrtimer'
include VRTimerFeasible
class TimerTest < VRForm
def construct
self.caption = 'Timer Test'
self.move(140,124,303,173)
addControl(VRStatic,'static1',"Startボタンを押して!",40,80,224,40,0x800201)
addControl(VRButton,'button1',"Start",40,8,224,48)
end
def button1_clicked
addTimer(1000, "timer1")
puts "TimerAlive => " + timeralive?("timer1").to_s
end
def timer1_timer
puts "タイマー来たよ"
@static1.caption = "タイマー来たよ!"
end
end
VRLocalScreen.start TimerTest
使いたいのですが、うまく動いてくれません。ソースは下記の通りです。
timeralive?ではタイマーが存在している旨の表示がコンソールに出力されますが、
メソッド"timer1_timer"が呼び出されません。
どうすればちゃんとタイマーが使えるようになるでしょうか?
御指南をよろしくお願いします。
require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrtimer'
include VRTimerFeasible
class TimerTest < VRForm
def construct
self.caption = 'Timer Test'
self.move(140,124,303,173)
addControl(VRStatic,'static1',"Startボタンを押して!",40,80,224,40,0x800201)
addControl(VRButton,'button1',"Start",40,8,224,48)
end
def button1_clicked
addTimer(1000, "timer1")
puts "TimerAlive => " + timeralive?("timer1").to_s
end
def timer1_timer
puts "タイマー来たよ"
@static1.caption = "タイマー来たよ!"
end
end
VRLocalScreen.start TimerTest
385デフォルトの名無しさん
2008/01/14(月) 18:10:03 include VRTimerFeasible をclass定義内に
386デフォルトの名無しさん
2008/01/14(月) 19:55:36 > 用途はwindowsでの3次元画像処理です。
あきらかに、Rubyの用途じゃない
あきらかに、Rubyの用途じゃない
387デフォルトの名無しさん
2008/01/14(月) 21:51:55 >>385
できました。どうもありがとう!
できました。どうもありがとう!
388384
2008/01/14(月) 23:41:34 すみませんが、またまたどなたかに御指南をお願いします。
下記のコードで、timer1_timerのsleep時間中に、Start/Resetボタン(button1)を押してもすぐにはボタンが反応しません。
ボタンを押し続けていると、数秒後にようやくボタンを押し込めるようになるのですが…
これを任意のタイミングでボタンを即座に押し込めるようにならないかと考えています。
できれば具体的なコードで教えていただけるとありがたいです。よろしくお願いします。
require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrtimer'
class TimerTest < VRForm
include VRTimerFeasible
def construct
self.caption = 'Timer Test'
self.move(140,124,303,173)
addControl(VRStatic,'static1',"Start/Resetボタンを押して!",40,80,224,40,0x800201)
addControl(VRButton,'button1',"Start/Reset",40,8,224,48)
end
def button1_clicked
deleteTimer("timer1") if timeralive?("timer1")
@i = 0; addTimer(1000, "timer1")
end
def timer1_timer
@i += 1; @static1.caption = "#{@i}回タイマー来たよ!"
sleep(5) #タイマー中に行う処理のダミー
end
end
VRLocalScreen.start TimerTest
下記のコードで、timer1_timerのsleep時間中に、Start/Resetボタン(button1)を押してもすぐにはボタンが反応しません。
ボタンを押し続けていると、数秒後にようやくボタンを押し込めるようになるのですが…
これを任意のタイミングでボタンを即座に押し込めるようにならないかと考えています。
できれば具体的なコードで教えていただけるとありがたいです。よろしくお願いします。
require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrtimer'
class TimerTest < VRForm
include VRTimerFeasible
def construct
self.caption = 'Timer Test'
self.move(140,124,303,173)
addControl(VRStatic,'static1',"Start/Resetボタンを押して!",40,80,224,40,0x800201)
addControl(VRButton,'button1',"Start/Reset",40,8,224,48)
end
def button1_clicked
deleteTimer("timer1") if timeralive?("timer1")
@i = 0; addTimer(1000, "timer1")
end
def timer1_timer
@i += 1; @static1.caption = "#{@i}回タイマー来たよ!"
sleep(5) #タイマー中に行う処理のダミー
end
end
VRLocalScreen.start TimerTest
389デフォルトの名無しさん
2008/01/15(火) 01:37:39 sleepんとこの処理をスレッドにするとかそういう話?
390デフォルトの名無しさん
2008/01/15(火) 10:46:47 WinグラマならPowerShell使おうぜ
6ヶ月以内にアクセスされなかったファイルを削除するサンプル
Get-ChildItem | Where-Object {$_.LastWriteTime -lt (Get-Date).AddMonths(-6)} | ForEach-Object {$_.Delete()}
もうRubyいらないね\(^o^)/
6ヶ月以内にアクセスされなかったファイルを削除するサンプル
Get-ChildItem | Where-Object {$_.LastWriteTime -lt (Get-Date).AddMonths(-6)} | ForEach-Object {$_.Delete()}
もうRubyいらないね\(^o^)/
391デフォルトの名無しさん
2008/01/15(火) 11:55:49 LastWriteTimeが最終アクセス時間なのか?
392デフォルトの名無しさん
2008/01/15(火) 21:18:26 >>390
PowerShellのリファレンスマニュアルどこよ?
文法とか仕様とか標準ライブラリとか。
Rubyのリファレンスマニュアルレベルの物で良いからどこにあるのか教えてくれ。
俺はそれが見付からなくてやめた。
PowerShellのリファレンスマニュアルどこよ?
文法とか仕様とか標準ライブラリとか。
Rubyのリファレンスマニュアルレベルの物で良いからどこにあるのか教えてくれ。
俺はそれが見付からなくてやめた。
393デフォルトの名無しさん
2008/01/16(水) 10:24:08 ttp://www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html
ttp://pc11.2ch.net/test/read.cgi/win/1163764836
ttp://pc11.2ch.net/test/read.cgi/win/1163764836
394350
2008/01/16(水) 19:56:40 たびたびすいません。350です。
また教えてください。
SWIGでRuby拡張ライブラリを作っています。
関数の引数にポインタを渡してそれ、を介して値を返す場合typemaps.iに定義されているOUTPUTが使えるそうなのですが、
クラスのメンバ関数だと上手くいきません。
クラスのメンバ関数をtypemapにマッチさせるにはどうしたらいいでしょうか。
また教えてください。
SWIGでRuby拡張ライブラリを作っています。
関数の引数にポインタを渡してそれ、を介して値を返す場合typemaps.iに定義されているOUTPUTが使えるそうなのですが、
クラスのメンバ関数だと上手くいきません。
クラスのメンバ関数をtypemapにマッチさせるにはどうしたらいいでしょうか。
395350
2008/01/16(水) 19:57:06 =============C++ヘッダ============
#ifndef MYLIB_H
#define MYLIB_H
void add(int a,int b,int *result);
class AAA
{
public:
void add(int a,int b,int *result);
};
#endif
============C++ソース=============
#include"mylib.h"
void add(int a,int b,int *result) { *result=a+b; }
void AAA::add(int a,int b,int *result) { *result=a+b; }
#ifndef MYLIB_H
#define MYLIB_H
void add(int a,int b,int *result);
class AAA
{
public:
void add(int a,int b,int *result);
};
#endif
============C++ソース=============
#include"mylib.h"
void add(int a,int b,int *result) { *result=a+b; }
void AAA::add(int a,int b,int *result) { *result=a+b; }
396350
2008/01/16(水) 19:57:34 ==========インターフェースファイル=======
%module mylib
%{
#include"mylib.h"
%}
%include typemaps.i
void add(int a,int b,int *OUTPUT);
void AAA::add(int a,int b,int *OUTPUT);
%include "mylib.h"
===========rubyファイル=================
require "mylib"
print Mylib::add(1,2),"\n"
print Mylib::AAA.new.add(3,4),"\n"
===========実行結果===================
bash-3.1$ ruby test.rb
3
test.rb:4:in `add': wrong # of arguments(2 for 3) (ArgumentError)
from test.rb:4
%module mylib
%{
#include"mylib.h"
%}
%include typemaps.i
void add(int a,int b,int *OUTPUT);
void AAA::add(int a,int b,int *OUTPUT);
%include "mylib.h"
===========rubyファイル=================
require "mylib"
print Mylib::add(1,2),"\n"
print Mylib::AAA.new.add(3,4),"\n"
===========実行結果===================
bash-3.1$ ruby test.rb
3
test.rb:4:in `add': wrong # of arguments(2 for 3) (ArgumentError)
from test.rb:4
397350
2008/01/17(木) 20:45:01 半分くらい自己解決しました。
その方法はヘッダを以下のように書き換えるというもの。
一応これで動くのですが、なるべくならヘッダをいじらずに
インターフェースファイルで何とかしたいです。
良い方法があったら御教示お願いします。
#ifndef MYLIB_H
#define MYLIB_H
void add(int a,int b,int *OUTPUT);
class AAA
{
public:
void add(int a,int b,int *OUTPUT);
};
#endif
その方法はヘッダを以下のように書き換えるというもの。
一応これで動くのですが、なるべくならヘッダをいじらずに
インターフェースファイルで何とかしたいです。
良い方法があったら御教示お願いします。
#ifndef MYLIB_H
#define MYLIB_H
void add(int a,int b,int *OUTPUT);
class AAA
{
public:
void add(int a,int b,int *OUTPUT);
};
#endif
398デフォルトの名無しさん
2008/01/19(土) 21:52:13 ActiveScriptRubyの1.9.0はでないのかな
それとも1.9.1待ち?
それとも1.9.1待ち?
399デフォルトの名無しさん
2008/01/21(月) 02:00:32 ActiveScriptRubyはヤル気あるのか?
1年以上放置してんじゃねーよ。
1年以上放置してんじゃねーよ。
400デフォルトの名無しさん
2008/01/21(月) 02:03:58 枯れてるんなら余計なことはしなくていいよ
401デフォルトの名無しさん
2008/01/21(月) 22:16:55 どうして欲しいのか言わないと
伝わらないよ。
伝わらないよ。
402デフォルトの名無しさん
2008/01/21(月) 22:17:42 1.9.0に対応してほしい。
403デフォルトの名無しさん
2008/01/21(月) 22:18:59 迷走してるから無理
404デフォルトの名無しさん
2008/01/21(月) 22:49:34 vcで作った拡張ライブラリのバイナリ配布って無理?mscr80になっちゃうでしょ
配布されてるやつはmscrt版だし
ここら辺はわかってる人同士の話しかないのでエンドユーザーには大変だな
配布されてるやつはmscrt版だし
ここら辺はわかってる人同士の話しかないのでエンドユーザーには大変だな
405デフォルトの名無しさん
2008/01/21(月) 23:44:45406デフォルトの名無しさん
2008/01/22(火) 09:47:31407デフォルトの名無しさん
2008/01/22(火) 19:56:48 Ruby初心者です。環境はWindowsXP2とActiveScriptRubyで、
EmEditorから .rbを呼び出して使いたいのです。
開いているテキトスファイルに、.rbでの内容(主に文字列の置換)を適用するのが
主な目的です。Emのヘルプにはサンプルとして、
#language = "RubyScript"
Window.document.write( "Hello!" );
と書かれており、これはちゃんと Hello! と書き込まれるのですが、
#language = "RubyScript"
puts へのへのもへじ
と書くと「Bad file descriptor 」と出てきます。
ActiveScriptRubyを入れれば、
そのまま .rbファイルが読み込めるというわけではないのでしょうか?
さっぱりわかりません。
初心者過ぎてどこでおかしくなっているのかすら判らず立ち往生しています。
どうか問題点と解決策を御教示ください。お願いします。
EmEditorから .rbを呼び出して使いたいのです。
開いているテキトスファイルに、.rbでの内容(主に文字列の置換)を適用するのが
主な目的です。Emのヘルプにはサンプルとして、
#language = "RubyScript"
Window.document.write( "Hello!" );
と書かれており、これはちゃんと Hello! と書き込まれるのですが、
#language = "RubyScript"
puts へのへのもへじ
と書くと「Bad file descriptor 」と出てきます。
ActiveScriptRubyを入れれば、
そのまま .rbファイルが読み込めるというわけではないのでしょうか?
さっぱりわかりません。
初心者過ぎてどこでおかしくなっているのかすら判らず立ち往生しています。
どうか問題点と解決策を御教示ください。お願いします。
408デフォルトの名無しさん
2008/01/22(火) 20:20:36 上の
puts へのへのもへじ
は、
puts 'へのへのもへじ'
の間違いでした。すみません。
puts へのへのもへじ
は、
puts 'へのへのもへじ'
の間違いでした。すみません。
409デフォルトの名無しさん
2008/01/22(火) 21:02:30 ActiveScriptRuby も EmEditor も使ってないけど
puts の出力先は Window.document ではないって事だろ
エディタのテキスト編集したいなら Window.document いじれ
puts の出力先は Window.document ではないって事だろ
エディタのテキスト編集したいなら Window.document いじれ
410デフォルトの名無しさん
2008/01/25(金) 22:22:35 ActiveTcl8.5に対応したtcltklib.soはないんかい
411デフォルトの名無しさん
2008/01/27(日) 10:19:59 vrubyについて聞きたいのですが、
VRForm上に配置した特定のVRButtonのクリックをReturnキーで
行うにはどうすればいいのでしょうか?
VRForm上に配置した特定のVRButtonのクリックをReturnキーで
行うにはどうすればいいのでしょうか?
412デフォルトの名無しさん
2008/01/27(日) 12:39:34 VBDefaultButton
413411
2008/01/27(日) 22:09:22 >>412
すみません、VisualRubyリファレンスで探しても、
vrubyのソース内をgrepしても、
vrubyとの組み合わせでググっても、
VBDefaultButtonは出てきませんでした。
VBicと関係あるのでしょうか?
お手数ですが、具体的な使い方を教えていただけないでしょうか?
すみません、VisualRubyリファレンスで探しても、
vrubyのソース内をgrepしても、
vrubyとの組み合わせでググっても、
VBDefaultButtonは出てきませんでした。
VBicと関係あるのでしょうか?
お手数ですが、具体的な使い方を教えていただけないでしょうか?
414デフォルトの名無しさん
2008/01/28(月) 02:15:13 class VRDefaultButton < VRButton
def construct
super
self.stype |= BS_DEFAULTPUSHBUTTON
end
def construct
super
self.stype |= BS_DEFAULTPUSHBUTTON
end
415デフォルトの名無しさん
2008/01/28(月) 21:49:17 >>414
以下のようなコードを書いてみたんですけど、Returnキーに反応してくれませんでした。
アドバイスがあればよろしくお願いします。
require 'vr/vruby'
require 'vr/vrcontrol'
class VRDefaultButton < VRButton
def construct
super
self.stype |= BS_DEFAULTPUSHBUTTON
end
end
class Form1 < VRForm
def construct
self.move(140,124,330,200)
addControl(VRStatic,'static1',"ボタンを押して",64,24,176,24,0x201)
addControl(VRDefaultButton,'button1',"ボタン",64,80,176,32)
end
def button1_clicked
@static1.caption = "押しました!"
end
end
VRLocalScreen.start Form1
以下のようなコードを書いてみたんですけど、Returnキーに反応してくれませんでした。
アドバイスがあればよろしくお願いします。
require 'vr/vruby'
require 'vr/vrcontrol'
class VRDefaultButton < VRButton
def construct
super
self.stype |= BS_DEFAULTPUSHBUTTON
end
end
class Form1 < VRForm
def construct
self.move(140,124,330,200)
addControl(VRStatic,'static1',"ボタンを押して",64,24,176,24,0x201)
addControl(VRDefaultButton,'button1',"ボタン",64,80,176,32)
end
def button1_clicked
@static1.caption = "押しました!"
end
end
VRLocalScreen.start Form1
416デフォルトの名無しさん
2008/02/01(金) 07:24:38 include VRKeyFeasible
ちなみに色んな意味でVirualRubyは腐ってるから
本気でGUI検討してるならwxRubyの方がお勧め
ちなみに色んな意味でVirualRubyは腐ってるから
本気でGUI検討してるならwxRubyの方がお勧め
417デフォルトの名無しさん
2008/02/02(土) 07:20:53 指定したファイルが
隠しファイル属性を持ってるか
調べるにはどうすれば良いですか?
ASR使えば出来るのかな…?
Ruby標準の機能で出来るならソレが一番良いのですけど
隠しファイル属性を持ってるか
調べるにはどうすれば良いですか?
ASR使えば出来るのかな…?
Ruby標準の機能で出来るならソレが一番良いのですけど
418デフォルトの名無しさん
2008/02/02(土) 07:39:06 Win32Utils の win32/file
419デフォルトの名無しさん
2008/02/03(日) 22:30:29 >418
ああ、組み込み機能では出来なくとも、それでいけるのか。さんくす。
ああ、組み込み機能では出来なくとも、それでいけるのか。さんくす。
420デフォルトの名無しさん
2008/02/06(水) 23:10:08 是非ともWin32::APIを標準ライブラリに!
421デフォルトの名無しさん
2008/02/07(木) 12:13:03激しくスレ違いかもしれませんが、質問です。
PCゲームを多重起動しようと試みたのですがダメでした。
大抵のゲームはWindowsのアカウントを2つ作成し、別々のアカウントで起動すれば問題ありません。
現在、Vistaを使っているのでXPではどうなるかはわかりませんが(XPは右クリックから別ユーザーで起動が可能)、
Vistaでその手法をとる場合、runasコマンドを使用することになります。
しかしこのコマンドで別々に起動しても、後から起動したほうが無効になってしまいました。
で、ここからがわけわかめなのですが、同一のデスクトップからの起動はダメでも、
Windowメニュー→ユーザー切り替えをし、別々に起動すればうまくいきました。
この違いはいったいなんなのでしょうか?
422デフォルトの名無しさん
2008/02/07(木) 12:56:48 なんの誤爆だよ
423デフォルトの名無しさん
2008/02/07(木) 22:18:45■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 731部隊の新資料、中国が公開 「日本が細菌戦の罪を自白」と主張 ロシアが引き渡し [少考さん★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★7 [ぐれ★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★8 [ぐれ★]
- 【広島】ペルー女性の国保加入を誤って認め、福山市が医療費484万円を肩代わりするミス…入院して手術を受ける [ぐれ★]
- 【緊急高市朗報】WBC全試合、地上波完全生放送決定wmwmwmwmwmwmwmwmwmwmwmwmwmwmwmw [517459952]
- パン🍞つー✌まる👌見え👊😅👊
- テメェは俺を怒らせたオラァ👊💢😅💢👊🏡
- かなシコ!!許可願います!!
- 🏡パン🍞つー✌まる👌見え👊😅👊
- こち亀初期の麗子って乳放り出してたよな
