Scala中怎么实现变高变宽
发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,这篇文章主要讲解了"Scala中怎么实现变高变宽",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Scala中怎么实现变高变宽"吧!展示在代码10.11中
千家信息网最后更新 2025年02月13日Scala中怎么实现变高变宽
这篇文章主要讲解了"Scala中怎么实现变高变宽",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Scala中怎么实现变高变宽"吧!
展示在代码10.11中的Element的版本并不完全,因为他不允许客户把不同宽度的元素堆叠在一起,或者不同高度的元素靠在一起。比方说,下面的表达式将不能正常工作,因为组合元素的第二行比***行要长:
new ArrayElement(Array("hello")) above new ArrayElement(Array("world!"))
与之相似的,下面的表达式也不能正常工作,因为***个ArrayElement高度为二,而第二个的高度只是一:
new ArrayElement(Array("one", "two")) beside new ArrayElement(Array("one"))
代码10.13展示了一个私有帮助方法,widen,能够带个宽度做参数并返回那个宽度的Element。结果包含了这个Element的内容,居中,左侧和右侧留需带的空格以获得需要的宽度。代码10.13还展示了一个类似的方法,heighten,能在竖直方向执行同样的功能。widen方法被above调用以确保Element堆叠在一起有同样的宽度。类似的,heighten方法被beside调用以确保靠在一起的元素具有同样的高度。有了这些改变,布局库可以待用了。
import Element.elem abstract class Element { def contents: Array[String] def width: Int = contents(0).length def height: Int = contents.length def above(that: Element): Element = { val this1 = this widen that.width val that1 = that widen this.width elem(this1.contents ++ that1.contents) } def beside(that: Element): Element = { val this1 = this heighten that.height val that1 = that heighten this.height elem( for ((line1, line2) < - this1.contents zip that1.contents) yield line1 + line2 ) } def widen(w: Int): Element = if (w < = width) this else { val left = elem(' ', (w - width) / 2, height) var right = elem(' ', w - width - left.width, height) left beside this beside right } def heighten(h: Int): Element = if (h < = height) this else { val top = elem(' ', width, (h - height) / 2) var bot = elem(' ', width, h - height - top.height) top above this above bot } override def toString = contents mkString "\n" }
代码 10.13 有了widen和heighten方法的Element
感谢各位的阅读,以上就是"Scala中怎么实现变高变宽"的内容了,经过本文的学习后,相信大家对Scala中怎么实现变高变宽这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
宽度
方法
代码
元素
高度
内容
学习
不同
用以
表达式
面的
工作
相似
功能
参数
只是
右侧
客户
就是
布局
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全专家做什么的
服务器工作模式视频
全部网络安全知识竞赛试题
服务器cpu玩游戏有啥缺点
网络安全周主题街访
数据库课程学习过程中遇到的问题
数据库标识码
数据库查询的降序排列
上海市大学生网络安全竞赛
网络商城数据库
sql数据库的建立
如何判断域信息中哪些是服务器
淄博网站制作服务器优化
湖州基础网络技术口碑推荐
广州企宝网络技术有限公司
网络安全五行属什么
文广新局网络安全自查报告
网络安全六有教育
瑞波钱包软件开发系统详解
森林公安网络安全检查
济南直销软件开发公司
皇东网络技术有限公司
数据库二进制读取
易语言 创建mdb数据库
数据库原理及应用习题答案简答
通信与网络安全
安卓怎么打开db数据库
广东浪潮服务器维修调试费用
数据库中截取小数点后两位
吉林北斗授时模块服务器云空间