Ruby代码执行机制与控制结构解析
1. Ruby特殊变量的权威列表
要获取Ruby支持的所有特殊变量的准确列表,C源代码是一个很好的参考。以下是一段Ruby的C源代码,它对Ruby程序进行标记化处理,这段代码源自 parse.y
文件中的 parser_yylex
函数:
u case '$':
lex_state = EXPR_END;
newtok();
c = nextc();
v switch (c) {
w case '_': /* $_: last read line string */
c = nextc();
if (parser_is_identchar()) {
tokadd('$');
tokadd('_');
break;
}
pushback(c);
c = '_';
/* fall through */
x case '~': /* $~: match-data */
case '*': /* $*: argv */
case '$': /* $$: pid */
case '?': /