From: Kazuhiro NISHIYAMA Date: 2016-04-16T23:52:16+09:00 Subject: [ruby-list:50313] Re: Time#strftime("%A%a") 西山和広です。 At Sun, 10 Apr 2016 17:27:23 +0900, dezawa wrote: > > 出沢です > 今の実装では %A,%a は英語の曜日が表示されますが、これを > 月曜、月 というように(Localeか何かで指定した)言語に応じた表現にすること > は予定にありますか? 今後変わらないだろうと思うのは田中さんと同じなのですが、 ちなみに確認した範囲では 1.8.7 では setlocale の影響を受けて 結果が変わっていました。 昔使っていて気付いた範囲では Ruby-GNOME2 関係のライブラリを require したら変わっていました。 $ cat d.rb require "dl/import" module M LC_ALL = 6 extend DL::Importable dlload "libc.so.6" extern "char* setlocale(int, char*)" end M.setlocale(M::LC_ALL, "") puts Time.now.strftime("%A %a") $ ruby1.8 -v d.rb ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] 土曜日 土 $ cat f.rb require "fiddle/import" module M LC_ALL = 6 extend Fiddle::Importer dlload "libc.so.6" extern "char* setlocale(int, char*)" end M.setlocale(M::LC_ALL, "") puts Time.now.strftime("%A %a") $ ruby -v f.rb ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-linux] Saturday Sat $ irb1.8 --simple-prompt >> require 'gtk2' Gtk::InitError: Cannot open display: from /usr/lib/ruby/vendor_ruby/1.8/gtk2.rb:13:in `init' from /usr/lib/ruby/vendor_ruby/1.8/gtk2.rb:13 from (irb):1:in `require' from (irb):1 >> puts Time.now.strftime("%A %a") 土曜日 土 => nil >> 実行例では vagrant ssh した環境の中なので open display で エラーになっていますが、 setlocale には影響がないので 気にしないでください。 -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA)