java 等静态语言中,我可以用两个相同名称的函数来处理不同类型的入参:
//处理str
public static String handle(String str){
……
}
//处理数组
public static List<String> handle(List<String> arr) {
//代码仅为示意
for(String str : arr){
handle(str)
}
}
当我调用 handle 时,无论什么类型的入参都可以用,很方便。
在 ruby 中,我只能用两个不同名称的函数:
def handle_str(str)
def handle_arr(arr)
我也想过在同一个函数中通过判断入参类型来分别处理,但是感觉还是很麻烦,特别是当 handle_arr 调用了 handle_str 的时候。
有没有更优雅的方式呢?