1.9のCurses::Window#getchがStringを返したりFixnumを返したりする
英字キーだとString,Returnや矢印キーではFixnumが返ってくる.1.8ではどちらもFixnum.
バグじゃね?どっちかに統一すべきだろ…と思ってたらこんなソース.
/* def getch */ static VALUE curses_getch(VALUE obj) { int c; rb_read_check(stdin); curses_stdscr(); c = getch(); if (c == EOF) return Qnil; if (rb_isprint(c)) { char ch = (char)c; return rb_locale_str_new(&ch, 1); } return UINT2NUM(c); }
どういうことなの…