我想知道STDIN和$stdin之间是否有任何真正的区别.我在irb做: STDIN == $stdin 并恢复正常.它们只是两个同名的名字吗?还是有一些区别? 从 Ruby globals开始: STDIN The standard input. The default v
STDIN == $stdin
并恢复正常.它们只是两个同名的名字吗?还是有一些区别?
从 Ruby globals开始:STDIN
The standard input. The default value for $stdin.
它们默认是相同的对象.
[1] pry(main)> $stdin.object_id => 13338048 [2] pry(main)> STDIN.object_id => 13338048 [3] pry(main)> $stdin.object_id == STDIN.object_id => true
正如@shivam评论的那样,$stdin是一个全局变量,它可能被分配给不同的东西,而STDIN是一个常量.