From 965e9df38045594d126991e6a109c5746242d2ba Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 8 Nov 2015 01:55:14 +0000 Subject: io.c: [DOC] IO#gets [skip ci] * io.c (rb_io_gets_m): Update IO#gets doc for characters more than 1 byte. [Fix GH-1085] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- io.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'io.c') diff --git a/io.c b/io.c index 7932a68..0305386 100644 --- a/io.c +++ b/io.c @@ -3291,6 +3291,16 @@ rb_io_gets(VALUE io) * * File.new("testfile").gets #=> "This is line one\n" * $_ #=> "This is line one\n" + * + * If StringIO contains characters more than 1 byte + * then gets(1) returns character entirely: + * + * # russian characters take 2 bytes + * File.write("testfile", "\u{442 435 441 442}") + * File.open("testfile") {|f|f.gets(1)} #=> "\u0442" + * File.open("testfile") {|f|f.gets(2)} #=> "\u0442" + * File.open("testfile") {|f|f.gets(3)} #=> "\u0442\u0435" + * File.open("testfile") {|f|f.gets(4)} #=> "\u0442\u0435" */ static VALUE -- cgit v1.1