Foo
암시 적 형식을 사용하는 몇 가지 다른 메서드를 호출하는 메서드가 있습니다. Foo 내부에 암시 적으로 넣고 싶습니다. 이다 내가 그것을 할 방법 :메서드 내에서 암시적인 인수 표시
def myMethod(a: Int, f: Foo) = {
implicit val implicitF = f;
somethingThatNeedsFoo(a)
}
내가 FOOS이 MyMethod라는이 사용되는 맥락에서 암시하지 않기 때문에 MyMethod라는의 서명에 암시 f
을 표시하지 않습니다. 내 질문 :이 효과를 달성하기 위해 임시 변수를 사용하는 것보다 관용적 인 (또는 간결한) 방법이 있습니까?
이 간단한 예제에서는 implicits를 사용하는 대신 명시 적으로'f'를 전달하는 것이 더 쉬울 것입니다. 그러나 실제 코드가 내재적으로 가치있게 만들 정도로 충분히 복잡하다고 가정합니다. 이 경우 메서드 내에서 암시 적으로 매개 변수 자체를 선언하지 않으려는 경우 메서드 내에서 암시 적 val을 선언하는 솔루션이 가장 좋은 방법이라고 생각합니다. – DaoWen
@DaoWen 정말 답변으로 의견을 제출해야합니다. –
@Aaron Novstrup - 네, 아마도 내가 가지고 있어야하는 다른 답변을 살펴보십시오. 나는 아직도 여기 꽤 새로운데, 그래서 나는 답하기와 코멘트의 범주에 무엇이 들어 있는지 결정하는 데 어려움을 겪고있다. – DaoWen