闇Rubyの作り方

これが私の得た答え、闇patchです。

*** ruby-1.9.3-p0/parse.y       2011-09-24 14:21:19.000000000 +0900
--- yami_ruby/parse.y   2011-12-29 18:09:22.000000000 +0900
***************
*** 6661,6673 ****
      command_start = FALSE;
    retry:
      last_state = lex_state;
!     switch (c = nextc()) {
!       case '\0':              /* NUL */
!       case '\004':            /* ^D */
!       case '\032':            /* ^Z */
!       case -1:                        /* end of script. */
        return 0;
  
        /* white spaces */
        case ' ': case '\t': case '\f': case '\r':
        case '\13': /* '\v' */
--- 6661,6677 ----
      command_start = FALSE;
    retry:
      last_state = lex_state;
! 
!     c = nextc();
!     if (c == -1 || c == '\0' || c == '\004' || c == '\032') {
        return 0;
+     }
+     else if (!ISASCII(c)) {
+       parser_set_encode(parser, "utf-8");
+       goto retry;
+     } 
  
+     switch (c) {
        /* white spaces */
        case ' ': case '\t': case '\f': case '\r':
        case '\13': /* '\v' */


そう、「闇」とは「過度な修飾と持って回った言い回し」のことに他なりません。

Rubyでは地の文の非ASCII文字が全て無視されますので、過度な修飾と持って回った言い回しであなたのコードを好きなだけ闇ることができます。

本年もよろしくお願いします。