【ActiveScript】RubyをWindowsで使うスレ【GUI】at TECH
【ActiveScript】RubyをWindowsで使うスレ【GUI】 - 暇つぶし2ch786:デフォルトの名無しさん
11/04/09 02:59:56.94
Twitter、検索結果表示が“3倍速く”なったと発表―フロントエンドの切り替えで
Twitterは、フロントエンドをRuby on RailsからBlenderに切り替えた結果、検索結果の待ち時間が大幅に改善されたと発表した。

URLリンク(www.itmedia.co.jp)
-----------------
急成長する検索ニーズに対処するために検索エンジンを書き換え、リアルタイム検索エンジンを立ち上げた。
その際にバックエンドをMySQLからJavaベースのテキスト全文検索エンジンLuceneに移行した。
また先週、フロントエンドをRuby on RailsからBlenderと呼ばれるJavaサーバに切り替えた。
待ち時間の短縮は、こうした取り組みの成果だという。

787:デフォルトの名無しさん
11/04/09 12:27:34.96
まるち

788:デフォルトの名無しさん
11/04/09 14:13:52.93
はわわ


789:デフォルトの名無しさん
11/04/20 17:30:01.97
Windows版Ruby1.9.0~1.9.1のRuby/Tkは
起動したときに何も無いウィンドウが表示されてから
ウィジットが配置されていくのが見えるという変な動作だったけど
1.9.2になってスパッとウィンドウが表示されるようになった
Ruby1.9でネイティブスレッド化したのが原因だったのかな

Windowsではファイルを読み込むときにテキストモードだと
ユニバーサル改行変換のせいで遅かったのが
1.9.2でかなり速くなった
それでも1.8よりは遅くなるけど

ところでMacの世界では今でも改行がCRなんだろうか
そうならばCRとLFの変換とかするのかな
それともMac界も改行がLFになってるのかしら?


790:デフォルトの名無しさん
11/04/20 17:40:27.93
>>789
OSXになった時点でUNIXになったので基本的にLFよ。


791:デフォルトの名無しさん
11/04/22 16:38:11.26
gem install opencv -- --with-opencv-include=C:\OpenCV2.2\include;C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
と設定したいのですが
mkmf.logでは、-IC:\apps\OpenCV2.2\include -IC:\Program となってしまっていて、パス設定が途中で欠けてしまいます。
間にスペースが入る場合のパスの書式を教えてください。
ダブルクオートで囲むなどいろいろ試行錯誤しているものの、うまく行かず困っています。

792:デフォルトの名無しさん
11/04/22 21:35:55.77
>>791
たしかmswinにはショートネームってのがあるんじゃなかったっけ
dirコマンドを実行してみたら良いんじゃない

793:デフォルトの名無しさん
11/04/23 10:43:03.43
>>789
標準のターミナルとシェルで cat > hoge.txt して開いたら UTF-8/LF だった

794:デフォルトの名無しさん
11/04/23 15:47:05.43
>>791
"\"C:\OpenCV~\""みたいにエスケープしてダブルクォートを二重にするんじゃなかったかな
上手くいかなかったらエスケープを適当に増減してみてくれ

795:791
11/04/23 21:31:07.56
>>791
アドバイスありがとうございます。
>>794
とりあえず二重に囲むやりかたでうまく行ったように思います。ありがとうございました。

796:791
11/04/23 21:35:51.73
>>795
>>791>>792氏でした。失礼しました。

797:デフォルトの名無しさん
11/04/24 17:18:33.89
1.9.2はいろいろと1.9.1よりよくなっているんだが
なぜだか Dir.globは遅くなっている
1.8や1.9.1より2倍遅い

うーむ


798:デフォルトの名無しさん
11/06/11 02:03:50.24
VisualuRubyのVREditとフォーカスについて教えてください。
実現したいのはEditBoxにフォーカスした時にEditBox内を空にするということです。

VREditを継承したMyEditクラスで、
VRFocusSensitiveをincludeしました。

self_gotfocusメソッド内で text="" としたのですが、ダイアログ上の表示は変わりません。
メソッド内でputs text で出力させてみるとtextの内容は変わっているようです。

他に何か必要なのでしょうか。
あるいは、根本的に何かおかしいのでしょうか。

部分的ですが、コードは下のようになっています。

class MyEdit < VREdit
include VRFocusSensitive

def self_gotfocus
text = ""
puts text
end
end

class MyDialog < VRModalDialog
def construct
addControl(MyEdit, "number", Kconv.tosjis("数字を入力"), 90, 120, 200, 25, WStyle::WS_TABSTOP)
end
end

799:デフォルトの名無しさん
11/06/11 03:01:16.00
知らないけど、self.text = "" じゃないの?

800:798
11/06/12 21:01:57.31
>>799
ありがとうございます。

self.text=""
で意図したとおりに動きました。

それにしてもselfかぁ、なんて恥ずかしい見落としを。

801:デフォルトの名無しさん
11/06/29 00:01:41.13
VisualuRubyで、
$frm=VRLocalScreen.showForm VRMainForm
$frmsub=VRLocalScreen.newform($frm,style,VRSubForm)

とかで複数生成したとき、$frm終了させたら$frmsubも終了するのは作れたんですけど
メッセージウィンドウを表示させた時の後ろのウインドウみたいに
$frmsubが表示されてる時$frmをクリックしても忠告音?を出して$frmsubを閉じるまで
行けなくするやり方わかりますか?

802:デフォルトの名無しさん
11/06/29 00:16:28.59
自己解決しました
$frm.enabled = false
でいけるのか・・・・・・

803:デフォルトの名無しさん
11/06/29 00:25:32.61
>>802
VisualuRubyは知らんが、そのやり方は間違ってる気がする

URLリンク(vruby.sourceforge.net)
の「モーダルダイアログを開く」あたりがお望みの機能じゃないかと思う


804:デフォルトの名無しさん
11/08/01 11:17:26.14
1.8.7は、win32.cのwinnt_statを直してくれんのかね
でかいファイルサイズ扱えないままなんだけど

805:デフォルトの名無しさん
11/11/23 21:15:41.01
rubyinstaller 1.9.3-p0 でrubyをインストールして、

File.chmod(0777, '日本語.txt')

とすると、

in `chmod': No such file or directory - (文字化け)txt (Errno::ENOENT)

となってしまいます(日本語.txtは実際には存在します)。
これ、1.9.2になってからずっとこのままなのですが、自分の環境だけでしょうか…?
スクリプトファイル上でcoding指定もしているので、指定間違いではないと思うのですが…

806:デフォルトの名無しさん
11/11/24 13:32:40.37
>>805
そのcodingに指定した文字コード名と、実際のコードの文字コードは一致してる?


807:デフォルトの名無しさん
11/11/24 21:06:56.97
>>806
文字コードはShift_JISで、スクリプトには
# coding: Windows-31J
と書いてます。

メニューから「Start Command Prompt with Ruby」でRuby用のコマンドプロンプトを開いて、
ruby -e "File.chmod(0777, '日本語.txt')"
としても同じです。

OSはWindows7 Ultimate 64bitです。
自分の環境だけなんでしょうか…。

808:デフォルトの名無しさん
11/11/25 19:29:53.31
>>807
WindowsXPのMingw版Ruby 1.9.3でも日本語が通りませんね

プログラミングは不得手ですが
Rubyのソースを追ってみると
パスをUTF-8に変換しているのにもかかわらず
それをSJISとみなしてUTF-16に変換しているように見えます

で、その文字化けしたUTF-16のパスをWindowsAPIに渡しているので失敗していると思われます

ユニコード版WindowsAPIに切り替えた際の、対応漏れのような感じです
7bitASCIIの範囲では問題が起こらないので気づかれなかったのでしょうか


809:デフォルトの名無しさん
11/11/25 21:43:25.18
win32/win32.cの5704行目を修正してコンパイルしなおしたところ
正常にFile.chmodできるようになりました

どなたかRuby開発者のRedmaineに報告してください
私はAnonymous Cowardなので無理です


810:デフォルトの名無しさん
11/11/25 22:03:10.98
フリーメールの捨てアドレスで報告すれば?


811:デフォルトの名無しさん
11/11/26 01:11:50.23
ありがとうございます。そんなに簡単に追えるものなんですね。うらやましすぎる…というかプログラマのくせに自分がしょぼすぎる(´Д`)

自分の環境の問題でないことがわかっただけでも助かりました。気が向いたらアカウント取って報告します
(どなたかやってくださる奇特な方がいらっしゃいましたらやっていただいて構いません)

812:デフォルトの名無しさん
11/11/26 09:33:14.34
報告しなきゃ…と思ってアカウント取っていたらどなたかが報告してくださってた
感謝です!(゚∀゚)

813:デフォルトの名無しさん
12/01/03 09:31:48.12
プログラミングRubyのRubyベタボメっぷりにRubyを使い始めて早10数年、使えば使う程にRubyって駄目だなと痛感する
Rubyを学習し始めた頃は誰でもRubyは素晴しいと思うのだが、数年も使えばそのどうしようもない互換性のなさにウンザリする
しかも互換性が無くなることをマズいと思っていない集団がRubyを制作しているのでどうしようもない
1.4時代のコードが1.6になった途端に互換性がなくなり動かなくなることはあったが、1.6→1.8ではそれが顕著になり、1.9など何のエラーも出さずに前のコードが動く方が珍しいほど
それどころか1.9に行かずREEが海外ではデファクトになりつつある現状、そして始まるPlain RubyとREEの方言問題
例えばPassengerもREEの方がうまく動いたり、かと思えば特定のバージョンだとPlainじゃないとまともに動かなかったりと、とても面倒臭い

美しいコードを求める為の副作用、という名の互換性のなさはRuby界全体に蔓延していて
例えばあれだけもてはやされたRailsも、Rails2とRails3の互換性のなさに誰しも苦労したのは記憶に新しいところ
誰もが互換性のなさに辟易し、俺ライブラリを量産するため、gemで探すと似たような事をする終わったプロジェクトがわんさか引っかかる
諸処の小さなプロジェクトだけがそんな現状ならば許せるが、dbiアダプタでさえそんな現状なので
バージョンが変わるとデータベースにすら接続できなくなったとか、dbiのAPIバージョン変わったのにアダプタ側の更新ないな、
とか思ってるとアダプタ作者がRubyから足洗ってたとか余裕

身内同士でRubyはコードが美しいと四六時中自画自賛しているが、実はそれこそがRubyのガン
その美しいコードという名のオナニーの為に一体どれだけの互換性と人的リソースが失われていったことか
Rubyのコードは美しい、Railsスゲー、ベタボメする人は沢山いたがいつも一過性の人気しか得られないのはそこにあるし
ベタボメしていた人達もしばらくするとウンザリしてRuby界から消えてしまうのも原因は実はそこにある
達人プログラマーはRubyをベタボメしなくなったし、Mongrel作者はRailsどころかRubyに見切りをつけちゃったしね
ああいう熱狂的なRuby信者でもRubyから足を洗っているのを見ると、tDiaryがRubyに見切りつけてPythonで全部書き直したとか言われても驚かないだろう自分がいる


814:デフォルトの名無しさん
12/01/29 14:26:32.76
Win7(64bit)で ActiveScriptRuby 1.9.3-p0 をインストールしましたが、
ActiveScript として動作しません。
ruby hoge.rb で実行できているものが、cscript hoge.rb だと

C:\>cscript hoge.rb
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

CScript エラー: スクリプト "C:\hoge.rb" のスクリプト エンジン "GlobalRubyScript" が見つかりません。

となり、GlobalRubyScript の登録がうまくいっていないような気がしますが、
Ruby-1.9.3.msi のインストール以外に何か作業は必要でしょうか?

XP(32bit)では同じことをやって正しく動いています。


815:デフォルトの名無しさん
12/01/29 15:30:48.91
>>814
同じ環境(win7 64bit)で、今1.9.2アンインストール=>19.3インストールしてみた
自分のとこだと、ActiveScript としては問題なく動作してるけど、
拡張子の関連付けだけができてないように見える
# cscript.exe, ruby.exe ともに .rb が関連付けされてない

作業が足りないというよりインストーラの問題に見えるけど、>>814と挙動が違うのが気になる
他の環境でも試してみるか

816:デフォルトの名無しさん
12/01/31 12:29:44.08
>>814
64ビット版cscript.exeが動いているんじゃね?
64ビット版からは32ビットActiveXコンポーネントは呼び出せないよ。
32ビット版(C:\Windows\syswow64\cscript.exe)で実行してみたら?


817:814
12/02/01 23:45:40.64
>>816
あぁっ、そういうことでしたか。
32bit版cscriptで動作しました。どうもです。

やりたかったのは、Paper Plane xUI, 秀丸エディタから
rubyを使うことだったのですが、どちらも64bitアプリでした。
32bit版でrubyスクリプトが使えるようになりました。


818:デフォルトの名無しさん
12/03/03 08:50:23.56
Rubyの話と言うよりWin32OLE(COM)の話になるのですが
Excelの名前付き範囲を取得する方法ってありますか?
VBAだと

Range('name')

ってやるだけで取れるのですが、Win32OLEで取得する方法が分からない状態です。

819:デフォルトの名無しさん
12/03/03 18:06:24.07
>>818
同じように sheet.range("ほげ") とかで取得できるっぽいよ
名前が間違ってるとか文字コードがシフトJISじゃなかったとかいう落ちはないよね

820:デフォルトの名無しさん
12/03/05 10:10:36.79
それです


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch