Scala中隐式参数的好例子?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 到目前为止,Scala中的隐式参数对我而言并不好-它与全局变量过于接近,但是由于Scala似乎是相当严格的语言,所以我开始怀疑: 问题:当隐式参数真正起作用时,您能否显示一个真实的(或接近的)良好示例?IOW:比严重的事情showPrompt证明了这种语言设计的合理性。 或相反-您能展示可靠的语言设计(可以是虚构的)吗?我认为,甚至没有一种机制比隐式机制更好,因为代码更清晰,没有猜测。 请注意,我是在问参数,而不是隐式函数(转换)! 更新 全局变量 感谢您提供的所有出色答案。也许我澄清我的“全局变量”异议。考虑这样的功能: max(x : Int,y : Int) : Int 你叫它 max(5,6); 您可以(!)这样做: max(x:5,y:6); 但在我眼里implicits是这样的: x = 5; y = 6; max() 它与这种构造(类似于PHP)没有太大区别 max() : Int { global x : Int; global y : Int; ... } 德里克的答案 这是一个很好的例子,但是,如果您可以认为灵活地使用不使用发送消息的方式,implicit请发布反例。我真的对语言设计的纯正很好奇;-)。