https://mp.weixin.qq.com/s/UGMH8EoaVcFkkQW-l4HLWg

 
分析toBools在Intellij中显示为红色的问题。
 
 
1. 问题
 
在TLArbiter中,对toBools的使用如下:
可以看到在Intellij中有错误:
a. toBools是红色的,鼠标悬停提示错误信息为:
 
b. 紧接着导致下面一行使用readys的地方也有错误提示:
 
toBools是定义了的,为什么这里提示找不到呢?
 
2. 分析
 
按住Ctrl鼠标单击,发现有两处定义:
 
分别如下:
第一个定义参数列表中没有参数;
第二个定义参数列表中都是隐式参数;
 
Scala语言支持省略空参数列表的括号。所以:
第一个定义可以省略括号,即:toBools() => toBools;
第二个定义隐式参数可以省略,进而再省略括号,即:toBools(sourceInfo, compileOptions) => toBools() => toBools;
 
这下混淆了,不知道调用的究竟是哪一个方法。
 
3. 解决
 
a. 不省略括号
 
既然省略括号会造成混淆,那就不省略括号。带括号而不传参,说明调用的是无参的方法。
这里不再提示错误。按住CTRL单击鼠标,定位到第一个定义处。
 
若想要调用第二个定义,就必须要传入原本隐式的参数了。
 
b. 改名字
 
把这两个方法改成不一样的名字即可。事实上,这里的错误来自于没有遵循命名习惯。
 
看其他定义:
第二个定义前面要加上前缀:“do_”。
 
也就是说第二个定义的名称应该改为:do_toBools。
 
c. 已修复
 
这个问题在新版本中已经修复,只是还没有发布。
修改方法为把第二个toBools改为do_toBools。并且增加了一套asBools实现,原来的toBools标记为废弃(deprecated)。
 
提交的日志为:
这里承认是一个拼写错误。

最新文章

  1. 【bzoj1231】[Usaco2008 Nov]mixup2 混乱的奶牛
  2. 【线段树区间合并】HDU1540-Tunnel Warfare
  3. oracle11g AUD$维护
  4. 编译boost
  5. JAVA中获取当前系统时间
  6. 【poj1010】 STAMPS
  7. jQuery进行DOM操作记录
  8. 在后台代码中引入XAML的方法
  9. 卸载AMH 5.0面板的具体办法
  10. 联合县城市,采用ajax,而使用ul模拟select下拉
  11. Spring 注解式Aop 入门
  12. js观察者模式与Model
  13. Mybatis在oracle批量更新
  14. Android Studio 中 Live Templates 的使用
  15. Ooui.Wasm:浏览器中的.NET
  16. Java中常见的排序方式-快速排序(升序)
  17. 手把手教你实现 Google 拓展插件(转自实验楼)
  18. springboot通过ssh通道连接mysql数据库
  19. BT5配置网络
  20. JZ2440 裸机驱动 第13章 LCD控制器(1)

热门文章

  1. P3983 赛斯石(双背包)
  2. 初识Java和JDK下载安装
  3. Jmeter5.2.1 三种参数化
  4. [hdu5402 Travelling Salesman Problem]YY
  5. 【HDU4991】树状数组
  6. Nginx下的location,upstream,rewrite 和 proxy_pass使用总计大全
  7. 排序算法:图解快速排序算法--不超过18行代码Python和JavaScript实现快速排序算法
  8. java ->IO流_字符流
  9. Vuser发生器
  10. 「雕爷学编程」Arduino动手做(8)——湿度传感器模块