「在写什麽呀?」唯心用手指戳了戳诗忆的额头。「眉头都皱起来了。」
「喔,学姐,我在练习高阶函式,把函式命名成变数很容易,但是写成参数的时候感觉怪怪的,达不到想要的结果。」
「你想写什麽?」
「我想写一个每次列印都会附带喵喵叫的函式,目前写出来的却只印出meow~
的部分。」
fun main() {
meowPrint(printer = { println("meow~") })
}
fun meowPrint(string: String = "Hello World", printer: (String)-> Unit) {
printer(string)
}
唯心看了一遍程序内容。「喔,这是因为你固定println
的传入参数值了呀,你的写法和下面的写法是等价的。你都会写Hello World
这种预设参数了,没想到却会卡在这里啊。」
fun main() {
meowPrint(printer = { string: String -> println("meow~") })
}
fun meowPrint(string: String = "Hello World", printer: (String)-> Unit) {
printer(string)
}
「原来如此,学姐,我懂了,我再改改看。」
fun main() {
meowPrint(printer = { string: String -> println(string)})
}
fun meowPrint(string: String = "Hello World", printer: (String)-> Unit) {
printer(string)
printer("meow~")
}
这次程序总算印出诗忆期待的结果。
Hello World
meow~
今天订下的练习目标达到後,她便放宽心情和唯心聊起来。「预设参数真的很方便,之前学姐提过的overloading
多载,本以为参数不同只能写成多个函式,没想到也可以用预设参数的写法来处理。」
「对呀。程序写得越多,就可以找到更精炼的写法。」唯心微笑称赞诗忆写法的优点。「就像如果有指定参数名称,就不用在意参数的顺序。」
<<: Day 13 - OOP 初探 (3) - 实战地图游戏
把二元树展开成linked list,而且顺序要跟preorder traversal一样,三种tr...
运算子 今天这篇主要会介绍一些运算子, 不一定都是数学上的运算, 也有判断True或False的, ...
图片来源 谈了好几天的AI相关议题, 其实主要也是因为之前的分享中有提到, 我是偶然间在今年七月初...
该文章同步发布於:我的部落格 改变数值的时候 昨天提到变动性的问题是什麽呢? 我们到现在的测试都是...
接下来介绍「删除英雄」的实作方法。 删除介面设计 我规划是在每个项目後面增加一个删除按钮,按下该按钮...