なかだです。

$記号スタイルの特殊変数は、覚えにくいとかエディタとの相性が良く
ないという意見を聞きます。English.rbのaliasを組み込みにしてもい
いのではないかと思うのですが。


* variable.c (Init_alias): English alias.

Index: inits.c =================================================================== RCS file: /cvs/ruby/src/ruby/inits.c,v retrieving revision 1.9 diff -u -2 -p -d -r1.9 inits.c --- inits.c 19 Dec 2003 03:58:57 -0000 1.9 +++ inits.c 25 Mar 2004 08:48:27 -0000 @@ -46,4 +46,5 @@ void Init_Time _((void)); void Init_var_tables _((void)); void Init_version _((void)); +void Init_alias _((void)); void @@ -82,3 +83,4 @@ rb_call_inits() Init_marshal(); Init_version(); + Init_alias(); } Index: variable.c =================================================================== RCS file: /cvs/ruby/src/ruby/variable.c,v retrieving revision 1.112 diff -u -2 -p -d -r1.112 variable.c --- variable.c 19 Mar 2004 07:12:53 -0000 1.112 +++ variable.c 25 Mar 2004 08:47:07 -0000 @@ -1894,2 +1894,34 @@ rb_iv_set(obj, name, val) return rb_ivar_set(obj, id, val); } + +void +Init_alias() +{ + rb_alias_variable(rb_intern("$ERROR_INFO"), rb_intern("$!")); + rb_alias_variable(rb_intern("$ERROR_POSITION"), rb_intern("$@")); + rb_alias_variable(rb_intern("$LOADED_FEATURES"), rb_intern("$\"")); + rb_alias_variable(rb_intern("$FS"), rb_intern("$;")); + rb_alias_variable(rb_intern("$FIELD_SEPARATOR"), rb_intern("$;")); + rb_alias_variable(rb_intern("$OFS"), rb_intern("$,")); + rb_alias_variable(rb_intern("$OUTPUT_FIELD_SEPARATOR"), rb_intern("$,")); + rb_alias_variable(rb_intern("$RS"), rb_intern("$/")); + rb_alias_variable(rb_intern("$INPUT_RECORD_SEPARATOR"), rb_intern("$/")); + rb_alias_variable(rb_intern("$ORS"), rb_intern("$\\")); + rb_alias_variable(rb_intern("$OUTPUT_RECORD_SEPARATOR"), rb_intern("$\\")); + rb_alias_variable(rb_intern("$INPUT_LINE_NUMBER"), rb_intern("$.")); + rb_alias_variable(rb_intern("$NR"), rb_intern("$.")); + rb_alias_variable(rb_intern("$LAST_READ_LINE"), rb_intern("$_")); + rb_alias_variable(rb_intern("$DEFAULT_OUTPUT"), rb_intern("$>")); + rb_alias_variable(rb_intern("$DEFAULT_INPUT"), rb_intern("$<")); + rb_alias_variable(rb_intern("$PID"), rb_intern("$$")); + rb_alias_variable(rb_intern("$PROCESS_ID"), rb_intern("$$")); + rb_alias_variable(rb_intern("$CHILD_STATUS"), rb_intern("$?")); + rb_alias_variable(rb_intern("$LAST_MATCH_INFO"), rb_intern("$~")); + rb_alias_variable(rb_intern("$IGNORECASE"), rb_intern("$=")); + rb_alias_variable(rb_intern("$PROGRAM_NAME"), rb_intern("$0")); + rb_alias_variable(rb_intern("$ARGV"), rb_intern("$*")); + rb_alias_variable(rb_intern("$MATCH"), rb_intern("$&")); + rb_alias_variable(rb_intern("$PREMATCH"), rb_intern("$`")); + rb_alias_variable(rb_intern("$POSTMATCH"), rb_intern("$'")); + rb_alias_variable(rb_intern("$LAST_PAREN_MATCH"), rb_intern("$+")); +}
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦