Open10

Kotlin Koansやってみる1

kurehajimekurehajime

Simple Functions

Kotlinでは1行でメソッド定義できるよ、という紹介。
頻出する正規表現をメソッドするときなんかに便利そう。

kurehajimekurehajime

Named arguments

名前付き引数。
この辺はrubyっぽい。

kurehajimekurehajime

Default arguments

デフォルト引数。
この辺はどの言語もよくある気がする。

kurehajimekurehajime

Triple-quoted strings

トリプルクォートで複数行文字列。
Pythonでもあった気がする。

kurehajimekurehajime

String templates

トリプルクォートでは正規表現も使える…ってこれ逆に意図せぬところで暴発しそう。
と思ったがこれは自分の勘違い。正規表現の文字列を用意する関数を作れという問題で、トリプルクォートで正規表現が評価されるとかそういう構文ではなかった。

kurehajimekurehajime

Nothing type

いまいちこの機能の有り難みが分からない。

https://chat.openai.com/share/d8c6e100-3a66-49f0-9f6b-747ba7068351

  • 絶対に例外を返す関数
  • 無限ループ

をする時に使うらしい。
無限ループと言っても大抵の場合はユーザーの介入によって終了させる抜け道を用意するだろうし、絶対に例外を返す関数というのも未実装のメソッド以外であんまり想像できない。あーでもログを吐いた後に処理を終了するような挙動をメソッドに切り出したい場面ならなくはないか。

でもそんなに多用する機能ではなさそうに見えるなぁ。

kurehajimekurehajime

Lambdas

ブラケットでラムダを渡せるのは便利。