多重派发
多重派发是 Julia 的一大优势,它能为程序带来灵活性和速度上的收益。请记住,多重派发允许根据传入函数的参数类型来运行不同的方法。
视频中的示例使用多重派发:当参数类型为字符串或非字符串时,返回不同的结果。
function add_values(x, y)
x + y
end
function add_values(x::String, y::String)
x * y
end
本练习是课程的一部分
Julia 中级
练习说明
- 创建函数
largest_value,其行为如下:- 若输入为
String,使用map将length函数映射到每个参数(x, y, z)。 - 若输入为
Bool,直接返回这些参数。 - 若输入为其他任意类型,使用
maximum获取所有值中的最大值。
- 若输入为
- 移除底部被注释掉的行(测试用例),并确保逻辑合理无误!
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create three functions to handle any input, String input, and Bool input
function largest_value(x, y, z)
maximum((____, ____, ____))
end
function largest_value(x::____, y::____, z::____)
map(length, (____, ____, ____))
end
function largest_value(x::____, y::____, z::____)
x, y, z
end
# Un-comment this test case to test your function
#println(largest_value("12", "24", "36"))