scala - 使用运算符(或合成函数)作为参数
问题描述
下面的代码工作正常
def exec(f: (Int, Int) => Boolean, p1: Int, p2: Int) = f(p1, p2)
val >= = (x1: Int, x2: Int) => x1 >= x2
println(exec(>=, 10, 10))
但是问题是,如果没有明确的重新定义运算符(合成函数)就可以让它工作吗?
更新
很明显,它像这样工作得很好
println(exec(_ >= _, 10, 10))
exec(>=, 10, 10)
问题是是否有可能在不定义功能价值的情况下使其以一种形式工作。
解决方案
补充我的其他答案,您可以这样做:
println(exec(10, 10)(_ >= _))
推荐阅读
- r - 如何在R中读取excel文件中的特定行
- javascript - 将不匹配的对象数组与 ramda 合并
- for-loop - 在批处理中,如何使用 for-loop 捕获迭代文件夹的名称?
- python - 将当前元素与列表中的下一个元素组合
- datatables - 使用数值字符串搜索 DataTable 列
- typescript - 构建 docker 映像时忽略 tslint
- json - 使用 JSON 作为模型的 JBPM FORM 模型
- python-3.x - 案例答题器机器人
- paging - 高半内核和中断的三重故障
- python-3.x - python:如何使用 map 函数读取文件并存储每一行?