test

Scala - 隐式转换和隐式参数

隐士转换是Scala提供的一种语法糖

Implicit definitions are those that the compiler is allowed to insert into a program in order to fix any of its type errors.

Sacla隐士转换的规则

Marking rule: Only definitions marked implicit are available

Scope rule: An inserted implicit conversion must be in scope as a single identifier, or be associated with the source or target type of the conversion

One-at-a-time rule: Only one implicit is inserted

Explicits-first rule: Whenever code type checks as it is written, no implicits are attempted

 

隐士转换发生的场景

conversions to an expected type

conversions of the receiver of a selection

implicit parameters

posted @ 2016-08-10 12:38  Ayning  阅读(316)  评论(0编辑  收藏  举报