【Kotlin】Kotlinで予約語と同じ変数名やメソッド名を使用する
今回の投稿は小ネタで短いです。ただ地味に私が嵌りました。
プログラミング言語の予約語とは
プログラム言語では予約語と呼ばれるものがあります。その言語のベース機能で用意され、用途が決められている文字列のことです。
例えば、Javaのifとかforとかのことです。Javaでは予約語と同じ変数やメソッド名を使用することはできません。しかし、Kotlinなら予約語と同じメソッドを使えるのです!!
Kotlinで予約語と同じ
Kotlinで予約語と同じ変数名やメソッド名を使用するには、対象をバッククォートで囲みます。
val `for` = "予約語だけど使えるよ!" print(`for`)
これだけで使えます!
これで嵌った…
予約語の扱いによって嵌りました…。じつはKotlinにはinという予約語があります。
これがjooqで使用するwhere inのin句に引っかかりました…。以下みたいに使おうとしたらエラーが発生し、何か分からずぐぐっても全然でてこない…。
dsl.selectFrom(Table.TABLE) .where(Table.TABLE.COLUMN.in(hogehogeList))
英語で調べたら出てきました…。jooqは日本語のドキュメントが少ないのがきついですね。上で書いた予約語の使い方通り、バッククォートで囲んであげて無事解決しました。
dsl.selectFrom(Table.TABLE) .where(Table.TABLE.COLUMN.`in`(hogehogeList))
ディスカッション
コメント一覧
まだ、コメントがありません