[ruby-list:50313] Re: Time#strftime("%A%a")
From:
Kazuhiro NISHIYAMA <zn@...>
Date:
2016-04-16 14:52:16 UTC
List:
ruby-list #50313
西山和広です。
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)