注意点
- 在匿名函数中可以使用return直接返回上级函数值.
- 在带名函数中使用return值, 必须在函数中明确返回值类型.
- 声明一个函数, 使用换名调用参数, 注意此时的函数调用, 函数参数均为:=> 形式, 并且使用柯里化方式创建
def until(condition: => scala.Boolean)(block: => Unit): Unit = {
block
if (!condition) {
until(condition)(block)
}
}
- 此处为示例函数, 使用换名函数的调用方式, 调用了上面的until方法. 并且在block的匿名函数中使用了return进行返回. 并且在函数外层也使用了return -1的形式. 此时注意返回值的声明indexOf(str: String, ch: Char): Int, 必须手动声明函数返回值
def indexOf(str: String, ch: Char): Int = {
var x = 0
until(x == str.length) {
if (str(x) == ch) {
return x
}
x += 1
}
return -1
}
- 此处为使用函数.
println(indexOf("HelloWorld", 'W'))