zoukankan      html  css  js  c++  java
  • Rocket

    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)。
     
    提交的日志为:
    这里承认是一个拼写错误。
  • 相关阅读:
    Codeforces 1372D Omkar and Circle
    一个估算
    CF 1348F Phoenix and Memory
    caterpillar tree
    ABC167F Bracket Sequencing
    【troubleshooting】中文输入法下,CMD 光标消失
    Visual Studio 2019创建并调试vue.js项目(Iview admin)
    Mysql知识点集合篇
    spring boot集成mybatis-plus(注解模式)
    spring boot集成mybatis(注解模式)
  • 原文地址:https://www.cnblogs.com/wjcdx/p/11205328.html
Copyright © 2011-2022 走看看