From cb55e7eca9b6e6bda7c238c4eec0984798ac11e9 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 28 Apr 2021 21:30:46 +0900 Subject: io.rb: reimplement `IO#each_char`. It used to be an alias to `IO#each_byte` but those methods should have behave differently. --- mrbgems/mruby-io/mrblib/io.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mrbgems/mruby-io/mrblib/io.rb b/mrbgems/mruby-io/mrblib/io.rb index 9ce49e51a..96797a47c 100644 --- a/mrbgems/mruby-io/mrblib/io.rb +++ b/mrbgems/mruby-io/mrblib/io.rb @@ -330,7 +330,7 @@ class IO def each_byte(&block) return to_enum(:each_byte) unless block - while char = self.getc + while char = self.getbyte block.call(char) end self @@ -339,7 +339,14 @@ class IO # 15.2.20.5.5 alias each_line each - alias each_char each_byte + def each_char(&block) + return to_enum(:each_byte) unless block + + while char = self.getc + block.call(char) + end + self + end def readlines ary = [] -- cgit v1.2.3