2016年4月2日土曜日

Google の検索ガジェット

今日はエイプリルフールなので、Dart とは関係のない内容を。
全然嘘じゃないし、そもそももう日をまたいでるし。。。


Google 検索で「斜め」と検索したことがありますか??




こうなります。
斜めになっているのわかりますか~?


じゃあ、「一回転」と検索すると。。。
もうお分かりですよね!


Google のこういうとこ好きなんですよね。
開発者たるもの遊び心を持って開発をしたいと思う今日この頃です。。。


次回はコレクションの foreach() メソッドについて書いていきます。
前回も同じこと書いたな。。。

2016年2月13日土曜日

Map : マップ

Dart ではマップを Map<E> クラスを用いて表します。


{ key : value } と設定するインスタンス化。



new した後に値を詰める方法。



前回の「List」の記事でも書きましたが、値の設定時に「const」とつけることで定数化(以降で値の詰め替え不可能)が可能です。



特段目をひく内容はない、ごくごく一般的なマップですね。
#まあ、特別なものがあれば良いというものでもないですし


今回は以上です。
次回はコレクションの foreach() メソッドについて書いていきます。

2016年2月7日日曜日

List : リスト(配列)

Dart ではリスト(配列)を List<E> クラスを用いて表します。
Java の List と配列を混ぜたような仕様になっています。




最後の 1 行にある通り、値の設定時に「const」とつけることで定数化(以降で値の詰め替え不可能)が可能です。


また、上記のように [ ] でインスタンス化も可能ですが、 new することもできます。




new でインスタンス化する場合、コンストラクタに引数を渡さなければ可変長リスト、渡せば固定長リストになります。
固定長リストの場合、「add」などのリストの長さに影響を与えるメソッド呼び出しはエラーとなります。


今回は以上です。
次回はマップについて書いていきます。

2016年1月20日水曜日

Dart を通じて思うこと

前回の記事からだいぶん期間が開きました。
年まで明きました。


このブログを始めたのが2013年の10月なので、もう2年以上たっています。
記事の数(が少ないの)はさておき、この2年でだいぶん状況も変わってきています。


そもそも Dart の「言語としてのあり方」が大きく方向転換されました。
DartEditor という IDE で開発していたものが、今ではブラウザ上のエディタ「DartPad」で開発するのが主流になってきています。


実はこの2ヵ月くらいブログを書かなかったのは、 Dart が下火だから 実はプライベートで Android アプリを久しぶりに作っていたりして、そちら側に夢中になっていたためです(笑)
Android の開発はスマホが流行り始めたころからやっていますが、こちらも最近では eclipse よりも AndroidStudio による開発の方が便利だったりします。
eclipse 無双の時代ではなくなったのです(笑)


色々と乱文で書きましたが、自分がプログラマであると名乗るからには、業務中にコードを書くコーダではダメなんだな~と、この頃思います。
技術の進歩はすごいスピードで(特にこの業界は)、筆者のようなレベルではついていくことすら出来ていませんが、それでも2年以上見てきた Dart という言語を今後も追いかけていこうと思います。


ちなみに、公式の Dart News & Updates も12月に更新なし、1月に1件の更新のみです(笑)
#今年は細々としたコーディング Tips 的なものを載せていきたい、、、

2015年11月1日日曜日

Null-aware operators : x?.m()

Null-aware operators について一つずつ事例を挙げて紹介していきます。


??」「??=」「x?.p」に続き 4 件目は「x?.m()」です。
「x?.m()」といった記載をし、オブジェクト x が null でない場合のみ関数 m() を実行するという意味です。




Knight クラスのオブジェクト piece は null なので、その関数である jump() を実行しようとすると普通は例外が発生してしまいますが、実行の際に「?.」を利用することで例外を回避することができます。


null の参照例外を回避できるというのは絶大で、この記載方法をスタンダードとしていくべきだと思います!
超主観ですが(笑)


ここまで前回の記事のパクリですが(笑)、「x?.p」とはセットで利用するものだと考えます。
オブジェクトのプロパティ参照か、関数実行かの違いですしね。


Null-aware operators についてお伝えしてきましたが、Dart を用いたコーディングでは必須といえる技術になりますので、ぜひ活用していきたいですね!


今回は以上です。

2015年10月27日火曜日

Null-aware operators : x?.p

Null-aware operators について一つずつ事例を挙げて紹介していきます。


??」「??=」に続き 3 件目は「x?.p」です。
「x?.p」といった記載をし、オブジェクト x が null でない場合のみプロパティ p を参照するという意味です。




Knight クラスのオブジェクト piece は null なので、そのプロパティである point を参照しようとすると普通は例外が発生してしまいますが、参照の際に「?.」を利用することで例外を回避することができます。


null の参照例外を回避できるというのは絶大で、この記載方法をスタンダードとしていくべきだと思います!
超主観ですが(笑)


次回は「x?.m()」を紹介します。
今回の記事を見ていたら想像できると思いますが、こちらも効果絶大!

2015年10月25日日曜日

Null-aware operators : ??=

Null-aware operators について一つずつ事例を挙げて紹介していきます。


前回の「??」に続き 2 件目は「??=」です。
「A ??= B」といった記載をし、A が null の場合のみ B を実行するという意味です。





上記のとおり、「??=」の左辺が null の場合と、そうでない場合で振る舞いが異なります。
「??」に比べたら、まだ使うシーンはあるかもしれませんが、積極的に利用するかは???です。。。


次回は「x?.p」を紹介します。
次回あたりから使い勝手が良さそうなのが出てきますよ~