質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

2回答

945閲覧

Kotlinの「エルビス演算子を使って早期リターンする」はどこで説明されているのか

tsussy

総合スコア88

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2022/04/26 07:47

kotinの「エルビス演算子を使って早期リターンする」について教えてください。
最近、ある人から「エルビス演算子を使って早期リターンする」を使うように指示されました。

私は、この技法をkotlinの教科書でみたことがありませんし、
ネットで調べて見ても、断片的な記述しかありません。

Kotlinのエルビス演算子を使って早期リターンする
https://ymmtshny.com/2019/04/07/kotlin-elivs-operator/

皆さんは、この技法を何を見て習得されたのでしょうか?

例えば、
(1)Kotlinの公式ドキュメントのどこかに書かれている
(2)KotlinのSampleプログラムの中で見つけて模倣している

後学のために教えてください。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答2

0

僕は今回見て「便利だね。今度使おう」と思いました。 というように、他人のコードや記事や本を見て覚えます。

kotlinの公式にもこういうイディオム週があってエルビス演算子の例もありますね

投稿2022/04/26 09:15

TakaiY

総合スコア12765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tsussy

2022/04/28 04:26

そうですね。参考にさせていただきます。ありがとうございます!
guest

0

ベストアンサー

皆さんは、この技法を何を見て習得されたのでしょうか?

どこかで見たのかもしれないけれど、おぼえていない。けれど、?: error("...")とはよく書いていた。

kotlin

1fun sample(user_name: String?) { 2 user_name ?: error("user_name is null")

error すなわち throw IllegalStateException(...) なので、であれば、returnもできるだろうな、と思ったのかもしれない、けれど、思い出せはしない。

kotlin

1fun sample(user_name: String?) { 2 user_name ?: return 3 //do something 4}

投稿2022/04/26 08:35

編集2022/04/26 08:36
shiketa

総合スコア3971

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shiketa

2022/04/26 23:32 編集

改めてドキュメントを読んでみると、書いてありますね。 https://kotlinlang.org/docs/null-safety.html#elvis-operator > Since throw and return are expressions in Kotlin, they can also be used on the right-hand side of the Elvis operator. This can be handy, for example, when checking function arguments:
tsussy

2022/04/28 04:27

Kotlinの公式ドキュメントに書いてあったのですね。やはり公式ドキュメントは目を通さなければ。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問