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
それです