如何从ruby脚本中判断它是从命令行还是从非交互式进程运行的?

Sim*_*mon 3 ruby

如何在ruby脚本中告诉它是否已从命令行运行,即如下所示:

> ruby myscript.rb
Run Code Online (Sandbox Code Playgroud)

或者来自非互动过程,例如cron?

Ste*_*eet 5

$stdin.tty? 如果连接到终端则返回true,否则返回false.

关于Ruby中STDIN的最佳实践问题还有一些其他信息吗?