魁け! Ruby 1.9.Xat TECH魁け! Ruby 1.9.X - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト224:デフォルトの名無しさん 09/08/23 14:50:33 よし構文と専用演算子の導入だ。 225:デフォルトの名無しさん 09/08/25 02:53:38 RUBY_VERSIONで分岐すんなよ。消すぞ。 226:デフォルトの名無しさん 09/09/18 23:28:08 【extname.rbの中身】 # -*- coding: utf-8 -*- a = "記録.txt" b = "設定.txt" p File.extname(a) p File.extname(b) 【実行】 C:\Usr\Ruby>ruby --version ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-mswin32] C:\Usr\Ruby>ruby extname.rb ".txt" "" ←.txtにならない 何ぞこれ 227:デフォルトの名無しさん 09/09/19 01:44:36 >>226 バグだろ。redmineに登録しといてくれ。 228:デフォルトの名無しさん 09/09/19 11:32:19 ちょっと調べてみた。 パス名関係はまだエンコーディングに対応してない。 常に外部エンコーディングと見なして処理してる。 より正確には、Windowsの場合はCharNextを使っているのでシステムのコードペー ジの設定に依存する。 詳しく説明すると、UTF-8では「設定.txt」は e8 a8 ad e5 ae 9a 2e 74 78 74 だが、 $ echo -e '\xe8\xa8\xad\xe5\xae\x9a.txt' | nkf -Swx 險ュ螳txt \xadは半角ユなので1バイトずれて\x9a\x2eが一文字と認識されてしまう。 そして.が消えてしまってextnameは空になる。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch