Androidミニ講座

Kotlinスコープ関数のざっくり過ぎる解説①(applyとalso)

更新日:

 

Kotlinには、処理のブロック内({ }のこと)でスコープを変えることによって、簡潔な記述が出来る便利なスコープ関数が、標準関数として用意されています。

ただ、便利な半面ちょいややこしいという面もあります。

そこで、よく使うと思われる「apply と also」を、本当にざっくり過ぎる感じで解説してみました。詳しい解説は下の動画をご覧ください。

 

本当にざっくり過ぎるまとめはこれ

スコープ関数はそもそも標準関数なので、使いみちは色々考えられるかと思うのですが、本当にざっくり言うと、「apply」と「also」はオブジェクトの(複雑な)初期化や設定をするときに使えると思っておけばいいのではないかと。

 

違いは「this」と「it」

関数の定義で見てみると

applyはこれ

 

alsoはこれ

 

どちらも、「this」をブロック内で処理してその結果を返すという点では同じですが、

「apply」の場合は処理対象をレシーバーとして受け取り、

「also」の場合はラムダ式の引数(it)として受け取る点が違うようです。

「also」は「apply」より後に産まれたらしいのですが、ブロック内外で「this」が変わってしまう「apply」の代替として考え出されたのでしょうか。

 

例はこんな感じ

なので、実際に例を見てみると、違いは処理対象の受け取り方(呼び出し元へのアクセスの仕方)だけです。

もともとこんなコードは

 

こんな感じになります。

applyの方は、処理対象である「Intent」をレシーバーの「this」としてアクセスしており、この「this」は省略できるので「putExtra」の前には何もいらなくなる。その代わりブロック内外で「this」の意味合いが変わってしまう。

一方、alsoの方は純粋なラムダ式なので、処理対象である「Intent」はその唯一の引数「it」として受け取っているため、「putExtra」の前に「it」が必要になる。その代わりブロック内外で「this」の意味合いは同じまま。

 

オブジェクトの初期化の場合は「apply」でよい気がする

とはいえ、Kotlinを作った天才の方々にはいろんな思惑があるかと思いますが、apply・alsoとも結局は処理対象の自分自身を返すわけなので、そうであれば、オブジェクトの初期化に関しては、より簡潔に記述できる「apply」で良いのではないかと、凡人の私は思ったりするわけであります。

 

みんプロへのお問い合わせはこちらよりお気軽にお寄せ下さい


「みんなのプログラミング  by Telulu LLC(みんプロ)」について

会社概要

みんプロ最新トピックス

かなり長い代表者プロフィール

みんプロにかける想い

みんプロを選んで頂ける3つの理由

みんプロに頂いたお客様の声

サービス・料金体系

作成アプリ実績

みんプロ公式Facebook

みんプロ公式LINE@(登録者限定無料小冊子プレゼント!)

公式ブログで随時情報発信中!!

きーぼーのつぶやき

用語

Android

「みんプロ」のサービスを通じてあなたの人生を豊かにするサポートを

PC1台あれば誰でもスマホアプリが作れるようになるプログラミング講座「みんプロ式」

 

プログラミング経験一切不要。世界のスマートフォン(スマホ)の約7割という圧倒的なシェアを占めるAndroid(アンドロイド)アプリの開発力と、今最も注目のプログラミング言語「Kotlin(ことりん)」の基礎力が、ゼロから身につく完全初心者向けプログラム。初めてのプログラミングから、世界最大級のアプリストア「Google Play(グーグル・プレイ)」でのリリースまでを一気通貫。あなたのスタイルに合った受講コースが選択でき、1円のリスクも取らずに始められる、「みんプロ」の看板講座です。

 

あなたのスタイルにあったコースを選択できます

3ヶ月集中オンライングループコース

「みんプロ式」のカリキュラムを、毎週1回オンライン対面形式で受講し、3ヶ月(全10回)でAndroidアプリ開発に必要な最低限のスキルを身につける短期集中型の講座です。オンライン方式ですので、全国どこからでも受講頂けます!


 

自分のペースで着実に!マンツーマンコース

「みんプロ式」のカリキュラムを、マンツーマン形式で受講頂ける対面講座。カリキュラムは完全オーダーメイド、ご予算に応じた回数設定も自由自在。マンツーマン形式なので、あなたのオリジナルアプリをリリースするところまでを個別でフルサポートすることも可能です。オンライン方式は早朝5時半から受講頂けます!


 

コストを抑えるならコレ!動画配信コース

「みんプロ式」のカリキュラムを、動画形式で受講頂きご自身で学習頂く講座。30分あたりわずかワンコインの高コスパで、Androidアプリ開発に最低限必要なスキルを、ご自分の好きな場所・好きな時間帯に、ご自分の好きなペースで習得頂けます。

 

 

アウトプットサポート型・初心者向けパソコン講座

 

「PCを使って作りたいアウトプットがあるが、作り方がよくわからない」という方向けに、具体的なアウトプット作成をサポートする、完全オーダーメイド型のパソコン講座。Word/Excel/VBA/パワーポイント/WordPress/Youtubeなど、幅広い分野であなたの欲しいアウトプット創出をサポート。あなたのスタイルに合った受講コースが選択でき、1円のリスクも取らずに始められます。

 

お悩み相談型・心がラクになる心理カウンセリング講座

 

仕事・子育て・人間関係に関する悩みをお持ちの方に、具体的な相談に乗らせて頂きながら、日常で使える「心がラクになるワザ」が身につく。小難しい心理学の理論や用語は一切使わずに、日々の暮らしの中で実践できることをお伝えする、実践カウンセリング型の心理学講座です。

みんプロへのお問い合わせはこちらよりお気軽にお寄せ下さい

-Androidミニ講座

Copyright© みんなのプログラミング by Telulu LLC , 2018 All Rights Reserved.