75、Ruby 中的用户界面编程技巧

Ruby 中的用户界面编程技巧

1. 终端尺寸获取

在 Ruby 中,获取终端尺寸有不同的方法。在 Windows 系统下,可以使用 Win32API 调用 Windows 的相关函数来实现:

m_GetStdHandle = Win32API.new('kernel32', 'GetStdHandle', ['L'], 'L')
m_GetConsoleScreenBufferInfo = Win32API.new ('kernel32',
                                             'GetConsoleScreenBufferInfo',
                                             ['L', 'P'], 'L' )
format = 'SSSSSssssSS'
buf = ([0] * format.size).pack(format)
stdout_handle = m_GetStdHandle.call(STDOUT_HANDLE)
m_GetConsoleScreenBufferInfo.call(stdout_handle, buf)
(bufx, bufy, curx, cury, wattr,
 left, top, right, bottom, maxx, maxy) = buf.unpack(format)
return bottom - top + 1, right - left + 1

在 Unix 系统中,如果上述方法不适用,可以调用 stt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值