00:00
Hello,大家好,我是班,今天给大家分享一个在控制台打印彩色字符串的一个工具。大家看我这个这个工具的名字叫je啊,应该是这么读的。嗯,我是从一个呃,别人的框架里面发现他们居然自带在。控制台输出彩色文字这个功能觉得很好奇,然后翻了翻,然后就翻到这个呃框架了。然后首先是从N仓库里面把它这个啊依赖导进来,然后我本地用的是ID啊,所以呢,我就呃是用graid这种语法让大家看一下,这个比较简单,就不给大家演示了。然后完成之后呢,它的一个基基本的操作啊,就是语法的话就是。先用这个它的一个静态方法去创建一个对象。
01:02
然后在对象去呃设置一个颜色,它这个颜色是呃自己自带的颜色,这color类里面的一个这样,然后通过A这个方法去设置一个啊内容就是说算出。这个是蓝色的。然后再通过一个reset。啊,这个reset呢,呃是呃,将这个类的对象设置的颜色给重置掉,重置成默认的,然后以免影响到后面的输出文字的颜色,然后这里面。他其实是返回一个对象的。一个安的对象。然后。
02:01
我们可以用assist output把这个对象打印出来。大家看我这里设置的是蓝色的。OK,这里面就打印出蓝色的这个字体了,然后嗯,前面上面这个花的这个fantastic啊,是我自己封装的一个方法,待会给大家逐步的分享一下。啊,它这个基本的语法大概就是这样的,然后我们可以看一下它这个呃,FG。它里面都return this,然后A的也是this。啊,然后这个reet呢,Return是AAA这个return的也是这意思啊,所以呢,基本上它是得类似于一个构呃构建者。那个设计模式,然后我们还可以通过去创建,呃。更多的颜色的字符串。我们看它有一个FG,然后有一个呃blue,然后有个red,这种我们可以设置一个红色的。
03:08
嗯,这个red其实就相当于把我们的这个color参数给传进去了,我们可以往里面看一下,它其实就是呃,FG,然后the color red,还有yellow或者其他的颜色。然后再通过A去设置。那个内容。这是红色,那我们输出一下。诶,它就会蓝色的,再加上一个红色的,OK,这就是他的一个基本语法。然后给大家分享一下。啊,我自己的一个封装。找一下这个类。OK,我找到这个类之后,这就是呃基本的一个封装啊,呃主要的分为两类吧,第一类就是这个颜色的封装,就是把这个颜色然后当做呃传进来的对象,当做一个呃tos军之后,然后把它转成带颜色的文本,然后最终输出到。
04:16
本地呃,控制台和日志,然后。在支持as呃,CI这种啊,我这种格式的地方,它其实都是可以输出彩色字体的,然后这是呃几种颜色,就是color里面自带的几种颜色。就是黑色,红色,绿色这种,黄色这种,然后它里面有一个color方法,就是传进来一个颜色的对象,然后再传进来一个呃所要输出的内容,这里面大多数都是string,然后是为了兼容数字以及波尔值这种数据,然后这里面的参数用的object,然后这里面就是还是刚才我们一个通用的语法,这里面一定要呃用reset,不然的话你后面所有的颜色都会跟你最后一次设置的颜色是一样的,然后我们看我这里返回的一个是是一个劲,就是我们把它的呃这种拼接完之后,然后我们recet之后to string,然后因为它本身reet,它返回的是一个呃这个S的对象,S对象的话返回的话其实并不跟我们需求一样,我们需求就是传进来一个东西,传进来一个对象,然后返回一个带颜色的字串。
05:37
然后就是在to string一下,我们看一下to string,它其实就是这个有个builder,在这个string builder,那我们不停的去往里面FT放内容的时候,它就用到strange builder,然后把内容全部存在这里面,然后我们to string的话,其实就它然后。OK,然后这就简单封装方法,这个是那个RGB的,RGB的就是啊,这种封装就简单的就是我先把一个字符串啊,然后转成呃,它的需求呢,就是呃,将字符串的的颜色都随机,就每一个字符的颜色都随机,然后这里面是先将字符转周串,转成一个字符的数组,然后再。
06:23
这里面是那个啥,因为如果有黑色的话,因为我常用的背景是黑色,如果选黑色的话,字体就看不见了,所以我这里把黑色排除了,然后返回一个list,然后用一个对象,因为一个对象是可以拼接的,然后多个对象去拼接的话啊,有点。啊,有点浪费,多创建了很多对象,然后这里面就是对它进行便利,然后这个random,呃,这个colors就是啊将这个。呃,我们把它本身支持的颜色啊,做成一个集合,排除掉黑色,然后FG这样拼接。
07:03
然后。那个这是随机的颜色,然后这个A呢,就是它的直符串的内容,然后我们最终返回是一个to string的一个结果,然后这是一个分制方法,DB2呢,它是用到了我们刚才的卡拉方法,嗯,这里面可能稍微有点复杂,就是啊,第一步先,嗯,先将这个转成一个呃数组,但这个数组差基础数据类型的数组,然后我再用这个every,那个YouTube to object把它转成一个呃,就是包装类的数组,然后再用stream语法。把它转成一个呃,Char string,然后再通过map的方法,将这个啊里面的字符用color这个方法转,转成一个。然后带有颜色的字符,然后再有collection的API啊,将这个与呃,所有的带颜色的字符按照顺序,然后再收集一遍啊,转成一个string,然后这里面啊用到的这个有。
08:10
加了一层,这个就是将啊color所有的颜色收集起来,然后将黑色过滤掉,然后再收集成一个list啊大概就是这样,这是一个语法,然后这个一般我都用的是第呃这这一个方法去做的,然后RDB2呢,就是感觉这个。写起来可能好多行,然后自己强行写了一行,是这样。然后我们看一下测试方法。这是蓝色的啊。嗯,这个彩色的呢,是在另外一个类里面。呃,自己定义了一个啊,Fantastic的一个级字符串,然后这个字符串就是用这个井号,然后打印出来那个fantastic的英文字符,然后最后的呢,我在这里面,然后log in for,然后out或用RGB去将这个字符转成那个。
09:08
这种彩色的字符。看起来就很好看了,而且每次都不一样。啊,是啊,应该是每次都不一样。然后啊,我们用的时候那个方法怎么用呢?就是嗯,我们先定一个手串吧。F等于。不用这个,用这个。这这里我复制了十个fantastic,然后out foot,一个二级B,啊,OK,这是我转了十个字三字,然后我们把第一前两个注释掉。然后我们看一下效果。
10:05
大家看这是饭菜色的,这种颜色都是不一样的。可以,这个需求基本我们就已经实现了,输出一个随机颜色的呃,字符串出来到控制台,然后我们看这个看起来是非常花哨,比较有意思的。OK,今天的分享就到这里。谢谢大家的关注支持,拜拜。
我来说两句