「学姐,这麽多的函式你都能背起来吗?」诗忆强撑着困倦的眼皮。
「如果人脑这麽厉害,就不用电脑了呢,而且Kotlin每半年会推出新的版本唷。」唯心用轻快的声线说出残酷的事实。
诗忆马上意识清醒了大半。「唔,那怎麽办呀?」
「常用的函式还是要记着,其他的,请依赖IDE。」唯心在IDE打出小点後,该类别支援的函式清单就显示了出来,随着後续打出的字越多,函式清单也逐步因筛选而缩短。「所以才说工程师英文不能太差呢,至少要能猜出需要的函式会叫什麽名字。」
「也是呢,如果班代她当初就知道和加号代表的是plus
函式,就可以查出数字不支援用plus
连接字串。」诗忆喃喃地说。
「因为有字串可以连接数字的前例,再加上我们习惯加号在数学上的意义,所以就误以为加号万能了吧。最好还是记得用字串模板拼接变数比较好,模板里的变数用钱字号开头,大括号包住名称,程序就会自动把变数转成字串和其拼接。」
fun main() {
var a = 1
var b = 2
println("${a}A${b}B")
}
「用.toString()
函式转换吗?」诗忆猜测,她已经渐渐明白程序所做的事情都是有所依据的。
「对,因为字串的应用太广了,因此所有的类别都会带着这个.toString()
函式,而字串类别也有许多便利的函式。」唯心突然欺身凑了过来,轻声耳语,「听过爬虫程序吧,穿梭於网路的资料大海,为主人寻找特定条件的资讯。比如说主人需要网页里的所有图片,她就将副档名是图片档名的.jpg
、.png
、jpeg
、.bmp
、.webp
等的图片连结都传回去。」唯心说着就轻笑了起来,转身回到原本的位置。「虽说从它人的网站搜集资讯不是少见的例子,但也不能让人说学校鼓励这麽做,是不是?」
诗忆偏过头揉了揉发痒的耳朵。
唯心将讲义翻到一页停下来。「像这样找寻特定词语的规则多到甚至都规划出一个领域——正规式搜寻Regular Expression
,不只各家高阶程序语言都有正规式相关的函式,连Microsoft Office的Word这种文件编辑器也支援用正规式的函式搜寻。因为真的是很方便,像电话或是电子邮件信箱这样遵循规则的字串都可以利用正规式
。比如说当需要将台湾市话区码的部分统一加上括号,就可以用取代功能搭配正规式
。讲义只列出一部份的规则,完整的版本可以到网站去看。」
https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html
fun main() {
//目标 (02)1234-5678
//^0代表0开头
//[0-9]{1,3}代表数字只能一到三个,金门马祖部分地区的区码扣掉0还有三个数字。
//$1是符合第一个括号条件的字串。
println("02-1234-5678".replace("(^0[0-9]{1,3})(-)".toRegex(), "($1)"))
}
诗忆看着讲义上琳琅满目的正规式
规则,突然想到了一个问题。「我在IDE有看到搜寻和取代功能,函式重新命名也可以用这个功能吗?」
唯心摇摇头。「不,像是函式、类别、变数、参数等重要成员,用重新命名功能比较好,IDE还会帮助检查是否已经存在相同名字。」
<<: Day 19 | Livewire 实作 Todo List(一): 新增待办事项
日渐复杂的开发流程 还记得笔者第一个接触的程序语言是 PHP,其直译的设计、简单不复杂的语法,任何人...
最後一天,我想要用递回(Recursion)来结束我们的三十天! 递回的观念,其实就是让一个函式可以...
今日文章目录 需求说明 事前准备 遇到问题 需求说明 输入时间改成分钟 增加功能:暂停、开始、结束...
上午: Python程序设计 老师此次课程教学for回圈, List comprehension, ...
今天要练习的是呼叫函式 虽然可以直接使用程序本身拥有的的函式 但那些函式都是写死的 不太能灵活运用 ...