[#38782] [Bug:trunk] Re: [ruby-cvs:31281] Ruby:r24063 (trunk): * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries. — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

15 messages 2009/07/14
[#38784] Re: [Bug:trunk] Re: [ruby-cvs:31281] Ruby:r24063 (trunk): * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries. — Hidetoshi NAGAI <nagai@...> 2009/07/14

永井@知能.九工大です.

[#38790] Re: [Bug:trunk] Re: [ruby-cvs:31281] Ruby:r24063 (trunk): * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries. — "U.Nakamura" <usa@...> 2009/07/15

こんにちは、なかむら(う)です。

[#38791] Re: [Bug:trunk] Re: [ruby-cvs:31281] Ruby:r24063 (trunk): * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries. — Hidetoshi NAGAI <nagai@...> 2009/07/15

永井@知能.九工大です.

[#38792] Re: [Bug:trunk] Re: [ruby-cvs:31281] Ruby:r24063 (trunk): * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries. — "U.Nakamura" <usa@...> 2009/07/15

こんにちは、なかむら(う)です。

[#38793] Re: [Bug:trunk] Re: [ruby-cvs:31281] Ruby:r24063 (trunk): * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries. — Hidetoshi NAGAI <nagai@...> 2009/07/15

永井@知能.九工大です.

[#38794] Re: [Bug:trunk] Re: [ruby-cvs:31281] Ruby:r24063 (trunk): * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries. — "U.Nakamura" <usa@...> 2009/07/15

こんにちは、なかむら(う)です。

[#38843] 複素数リテラルについて — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

32 messages 2009/07/21
[#38855] Re: 複素数リテラルについて — Yusuke ENDOH <mame@...> 2009/07/22

遠藤です。

[#38857] Re: 複素数リテラルについて — Tadayoshi Funaba <tadf@...> 2009/07/22

> は十分検討されたのでしょうか。積極的に反対なわけではないですが、

[#38912] String#valid_encoding?にオプションが欲しい — Fujioka <fuj@...>

xibbarこと藤岡です。(なぜか届かないので再送します)

19 messages 2009/07/27
[#38918] Re: String#valid_encoding?にオプションが欲しい — "NARUSE, Yui" <naruse@...> 2009/07/27

成瀬です。

[#38925] Re: String#valid_encoding?にオプションが欲しい — Fujioka <fuj@...> 2009/07/27

xibbarです。

[#38927] Re: String#valid_encoding?にオプションが欲しい — Fujioka <fuj@...> 2009/07/28

xibbarです。

[#38914] [Bug #1819] Ruby-1.9.1を使用しDB(MySQL)接続時にエラー — Ryouhei Saita 斉田 <redmine@...>

Bug #1819: Ruby-1.9.1を使用しDB(MySQL)接続時にエラー

11 messages 2009/07/27

[#38932] Enumerator#peek — Tanaka Akira <akr@...>

Enumerator#peek を新設するのはどうでしょうか。

16 messages 2009/07/28

[ruby-dev:38939] Re: String#valid_encoding?にオプションが欲しい

From: Fujioka <fuj@...>
Date: 2009-07-29 13:12:41 UTC
List: ruby-dev #38939
xibbarです。

Fujioka wrote::
> xibbarです。
>
> String#assume_encoding(encoding)
> を追加するというのはいかがでしょう?>まつもとさん
>

なるせさんのパッチだと、encodingの変更に失敗したときに
ascii-8bitに強制変更するようになっています。
これだと驚き最小の法則にひっかかると思いました。
encodingの変更に失敗したときはそのまま元のstringを返すのが
いいのではないでしょうか?
もしくはnilを返すか。

私のユースケースではascii-8bitからutf-8やeuc-jpへの変換なので
どちらでも特に問題はないのですが、
rubyのポリシーとしてはどうなんだろうと思いまして。

文字列のencodingが間違っていてうれしいことは何も無いといえば
まあその通りだとは思うのですが、はて。

Index: string.c
===================================================================
--- string.c	(revision 24163)
+++ string.c	(working copy)
@@ -7090,6 +7090,27 @@

 /*
  *  call-seq:
+ *     str.assume_encoding(encoding)   => str
+ *
+ *  If a string can be encoded correctly in the given encoding,
+ *  changes the encoding to +encoding+ and returns self;
+ *  otherwise, returns original string.
+ */
+
+static VALUE
+rb_str_assume_encoding(VALUE str, VALUE encoding)
+{
+    rb_encoding *enc = rb_to_encoding(encoding);
+    int cr = coderange_scan(RSTRING_PTR(str), RSTRING_LEN(str), enc);
+
+    if (cr != ENC_CODERANGE_BROKEN) {
+	ENCODING_CODERANGE_SET(str, rb_enc_to_index(enc), cr);
+    }
+    return str;
+}
+
+/*
+ *  call-seq:
  *     str.ascii_only?  => true or false
  *
  *  Returns true for a string which has only ASCII characters.
@@ -7531,6 +7552,7 @@
     rb_define_method(rb_cString, "encoding", rb_obj_encoding, 0); /* in
encoding.c */
     rb_define_method(rb_cString, "force_encoding",
rb_str_force_encoding, 1);
     rb_define_method(rb_cString, "valid_encoding?",
rb_str_valid_encoding_p, 0);
+    rb_define_method(rb_cString, "assume_encoding",
rb_str_assume_encoding, 1);
     rb_define_method(rb_cString, "ascii_only?", rb_str_is_ascii_only_p, 0);

     id_to_s = rb_intern("to_s");

In This Thread