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



805 :デフォルトの名無しさん:2011/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 :デフォルトの名無しさん:2011/11/24(木) 13:32:40.37
>>805
そのcodingに指定した文字コード名と、実際のコードの文字コードは一致してる?


807 :デフォルトの名無しさん:2011/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 :デフォルトの名無しさん:2011/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 :デフォルトの名無しさん:2011/11/25(金) 21:43:25.18
win32/win32.cの5704行目を修正してコンパイルしなおしたところ
正常にFile.chmodできるようになりました

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


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

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

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)