タグ

2019年7月24日のブックマーク (1件)

  • 詳説implicitly(あるいはimplicitlyは黒魔術でないことの説明) - Qiita

    のようなコードを書いたことがあるのではないかと思います。この implicitly というメソッドですが、しばしばScalaの黒魔術であると思われるようです(誰か特定の方の発言ではなくて、そういう趣旨の発言を時々みかけます)。 しかし、この implicitly 、定義を見てみるとわかるのですが、実は以下のたった一行のメソッドです。 @inline は最適化のためのヒントで特に意味はないですが、要は単一のimplicit parameterを取ってそれをそのまま返しているだけです。これに対して、たとえば implicitly[Hoge[T]] という呼び出しをすると、implicitなHoge[T]型の値を要求して、それをそのまま返すことになるわけです。 実のところ、implicit parameterを明示的に宣言している場合は、implicitly は必要ありません(上の定義を見ればわ

    詳説implicitly(あるいはimplicitlyは黒魔術でないことの説明) - Qiita