Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby – 256色,前景和背景大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是两个脚本的故事,与 previous question相关.

这两个脚本位于http://gist.github.com/50692.ansi.rb脚本显示所有256种背景颜色的所有256种颜色. ncurses.rb脚本显示所有256种前景色,但背景显示基本色16,然后似乎循环浏览各种属性,如闪烁和反向视频.

什么给出了什么?这是ncurses中的错误,它使用有符号整数来表示颜色对吗? (即’tput colors’表示256但’tput对’表示32767而不是65536)似乎是这样的情况下,前半部分颜色对会正确显示,但后半部分会重复或进入属性作为int包装.

解决方法

原因是因为ncurses在ABI 6之前,其中包括大多数发行版包括Debian和Amazon AMI使用的当前版本,COLOR_PAIR(n)不能引用256以上任何已定义的对.这是因为COLOR_PAIR(n)的参数是cchar_t类型.低8位选择颜色对,其余的被视为对特定终端属性进行OR运算.这就是当您尝试超出示例代码中的第255对时,您会看到闪烁,反转,下划线等的原因.

这非常不幸,我计划在我的程序中使用队列来使用init_pair()动态定义颜色,并且只是覆盖最近最少使用的对作为折衷.我写了ncurses维护者Thomas Dickey,询问是否有办法暂时走出ncurses,编写原始终端代码,然后返回ncurses.这是他的回答:

这个解决方案似乎存在太多陷阱,但是如果你在ncurses程序中绝对需要超过256个并发对(不计算你可以使用inverse属性伪造的对),那么这就是你必须要做的.

大佬总结

以上是大佬教程为你收集整理的ruby – 256色,前景和背景全部内容,希望文章能够帮你解决ruby – 256色,前景和背景所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: