有没有办法使用" native" Crystal要确定它是否在交互式shell会话中运行?

时间:2018-05-28 01:57:25

标签: crystal-lang

如果Crystal可执行文件正在运行,那么确定它是否在交互式环境中运行的推荐方法是什么?

例如:

`tty`.strip != "not a tty"

但是,使用原生水晶。

1 个答案:

答案 0 :(得分:1)

这是IO#tty?方法。

使用内容编译文件(foo.cr):

puts STDIN.tty?

从shell运行它:

./foo              # => true
echo "foo" | ./foo # => false