当前位置 : 主页 > 编程语言 > ruby >

ruby – `STDIN`和`$stdin`之间的区别

来源:互联网 收集:自由互联 发布时间:2021-06-23
我想知道STDIN和$stdin之间是否有任何真正的区别.我在irb做: STDIN == $stdin 并恢复正常.它们只是两个同名的名字吗?还是有一些区别? 从 Ruby globals开始: STDIN The standard input. The default v
我想知道STDIN和$stdin之间是否有任何真正的区别.我在irb做:

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是一个常量.

网友评论