mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/stringio/stringio.c (strio_each): Return an enumerator if no
block is given. (strio_each_byte): Return an enumerator if no block is given, and return self if one is given as the rdoc says. * io.c (rb_io_each_byte): Fix rdoc. IO#each_byte returns self, not nil. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
266be04a8d
commit
e37b7b77a8
4 changed files with 34 additions and 7 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
Tue May 27 17:59:34 2008 Akinori MUSHA <knu@iDaemons.org>
|
||||||
|
|
||||||
|
* ext/stringio/stringio.c (strio_each): Return an enumerator if no
|
||||||
|
block is given.
|
||||||
|
(strio_each_byte): Return an enumerator if no block is given,
|
||||||
|
and return self if one is given as the rdoc says.
|
||||||
|
|
||||||
|
* io.c (rb_io_each_byte): Fix rdoc. IO#each_byte returns self,
|
||||||
|
not nil.
|
||||||
|
|
||||||
Tue May 27 16:02:58 2008 Akinori MUSHA <knu@iDaemons.org>
|
Tue May 27 16:02:58 2008 Akinori MUSHA <knu@iDaemons.org>
|
||||||
|
|
||||||
* eval.c (rb_mod_module_exec, Init_eval): Add
|
* eval.c (rb_mod_module_exec, Init_eval): Add
|
||||||
|
|
16
NEWS
16
NEWS
|
@ -328,11 +328,16 @@ with all sufficient information, see the ChangeLog file.
|
||||||
|
|
||||||
* stringio
|
* stringio
|
||||||
|
|
||||||
* Add new methods. (aliases for compatibility with 1.9)
|
|
||||||
|
|
||||||
* StringIO#getbyte
|
* StringIO#getbyte
|
||||||
* StringIO#readbyte
|
* StringIO#readbyte
|
||||||
|
|
||||||
|
Add new methods. (aliases for compatibility with 1.9)
|
||||||
|
|
||||||
|
* StringIO#each
|
||||||
|
* StringIO#each_line
|
||||||
|
* StringIO#each_byte
|
||||||
|
|
||||||
|
Return an enumerator if no block is given.
|
||||||
|
|
||||||
* tempfile
|
* tempfile
|
||||||
|
|
||||||
|
@ -412,6 +417,13 @@ with all sufficient information, see the ChangeLog file.
|
||||||
always use Date.strptime() when you know what you are dealing
|
always use Date.strptime() when you know what you are dealing
|
||||||
with.
|
with.
|
||||||
|
|
||||||
|
* stringio
|
||||||
|
|
||||||
|
* StringIO#each_byte
|
||||||
|
|
||||||
|
The return value changed from nil to self. This is what the
|
||||||
|
document says and the same as each_line() does.
|
||||||
|
|
||||||
* tempfile
|
* tempfile
|
||||||
|
|
||||||
* The file name format has changed. No dots are included by default
|
* The file name format has changed. No dots are included by default
|
||||||
|
|
|
@ -710,11 +710,14 @@ strio_each_byte(self)
|
||||||
VALUE self;
|
VALUE self;
|
||||||
{
|
{
|
||||||
struct StringIO *ptr = readable(StringIO(self));
|
struct StringIO *ptr = readable(StringIO(self));
|
||||||
while (ptr->pos < RSTRING(ptr->string)->len) {
|
|
||||||
char c = RSTRING(ptr->string)->ptr[ptr->pos++];
|
RETURN_ENUMERATOR(self, 0, 0);
|
||||||
|
|
||||||
|
while (ptr->pos < RSTRING_LEN(ptr->string)) {
|
||||||
|
char c = RSTRING_PTR(ptr->string)[ptr->pos++];
|
||||||
rb_yield(CHR2FIX(c));
|
rb_yield(CHR2FIX(c));
|
||||||
}
|
}
|
||||||
return Qnil;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -971,6 +974,8 @@ strio_each(argc, argv, self)
|
||||||
struct StringIO *ptr = StringIO(self);
|
struct StringIO *ptr = StringIO(self);
|
||||||
VALUE line;
|
VALUE line;
|
||||||
|
|
||||||
|
RETURN_ENUMERATOR(self, argc, argv);
|
||||||
|
|
||||||
while (!NIL_P(line = strio_getline(argc, argv, readable(ptr)))) {
|
while (!NIL_P(line = strio_getline(argc, argv, readable(ptr)))) {
|
||||||
rb_yield(line);
|
rb_yield(line);
|
||||||
}
|
}
|
||||||
|
|
2
io.c
2
io.c
|
@ -1981,7 +1981,7 @@ rb_io_each_line(argc, argv, io)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* ios.each_byte {|byte| block } => nil
|
* ios.each_byte {|byte| block } => ios
|
||||||
*
|
*
|
||||||
* Calls the given block once for each byte (0..255) in <em>ios</em>,
|
* Calls the given block once for each byte (0..255) in <em>ios</em>,
|
||||||
* passing the byte as an argument. The stream must be opened for
|
* passing the byte as an argument. The stream must be opened for
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue