BBH
-Biz Branding Hub-
投稿日 : 
2020/10/19
更新日 : 
2020/10/19

【Scala】暗黙パラメータ(implicit)

Scalaで暗黙パラメータを使用する方法を見てきます。

暗黙パラメータの基本形

以下のようにimplicitキーワードを使って、暗黙パラメータを使用することができます。
考え方的にはグローバル変数に近いのでしょうか。

暗黙パラメータの基本形

implicit val implicitStr = "暗黙パラメータ"
def main(arts: Array[String]) : Unit = {
    printImplicitStr  //=> 暗黙パラメータ
}
def printImplicitStr(implicit str: String) : Unit = {
    println(str)
}

型が一致するものを自動的に使用しているようです。

implicit val implicitInt = 1


の記述を追加しても、実行結果は変わりません。

ただし、

implicit val implicitStr2 = "暗黙パラメータ2"


とするとコンパイルエラーになります。
String型のImplicitパラメータが二つあるので、どちらを使用すればいいのか判別できないようです。

Profile

管理人プロフィール

都内でITエンジニアをやってます。
変遷:中規模SES→独立系SIer→Webサービス内製開発
使用技術はその時々でバラバラですが、C#、AWSが長いです。
どちらかと言うとバックエンドより開発が多かったです。
顧客との折衝や要件定義、マネジメント(10名弱程度)の経験あり。
最近はJava+SpringBootがメイン。

Recommend