我想从ruby程序中打印柱状输出,但为了充分利用可用的屏幕空间,我需要确定程序运行的终端的字符宽度。如何做到这一点?< / p>
答案 0 :(得分:0)
HighLine gem使用此函数查找终端的尺寸:
# A Windows savvy method to fetch the console columns, and rows.
def terminal_size
stdout_handle = GetStdHandle(STD_OUTPUT_HANDLE)
bufx, bufy, curx, cury, wattr, left, top, right, bottom, maxx, maxy =
GetConsoleScreenBufferInfo(stdout_handle)
return right - left + 1, bottom - top + 1
end
此方法也适用于Windows,如果您使用Linux(或类似的东西),那么您可以使用stty size
更轻松地使用以下内容查找维度:
def terminal_size
`stty size`.split.map { |x| x.to_i }.reverse
end