Dart

Dartで同じオブジェクトであるかの確認をする

Dartでシングルトンのクラスを見ている時に、インスタンスが同じオブジェクトであるかどうかを確認してみたくなりました。 Rubyだと、obj1.equal?(obj2)でチェックができます。 'Ruby'.equal? 'Ruby' # => false もしくは、オブジェクトIDを取得してみてもい…

Dartのコンストラクタでインスタンスメソッドを上書いてインスタンス変数を変更したかった(未解決)

タイトル通りなのですが、結論から言うと、現時点ではできないと思います。 きっかけはありがちなこんなコード。 class AwesomeButton extends RaisedButton { int _index = 1; AwesomeButton() : super( child: const Text('Awesome!'), onPressed: () { pr…

analysis_options.yamlをカスタマイズする(3)

analysis_options.yamlのカスタマイズ、3回め。 今日はerrorsについてです。 公式ドキュメントはこちら。 さて、analysis_options.yamlが面白いなと思うのは、チェック基準を厳しくもできるし、ゆるくもできるところ。 analyzer: errors: missing_required_p…

Dartのカスケード記法(..)はRubyでいうtap

時々見かけるDartの謎な記法、カスケード記法。 どういうものかというと、..shuffle()みたいに、.をふたつ重ねる記法です。 void main(){ var hoge = [1,2,3]; print((hoge..shuffle()).toString()); } Rubyを始めたばかりの頃も思ったのですが、こういうの…

Dart言語の3つのコンストラクタ

少しずつFlutterに慣れてきたところで、Dart言語も少しお勉強します。 今日はコンストラクタについて。 Dartには三種類のコンストラクタがあるそうです。 生成的コンストラクタ ファクトリ 定数コンストラクタ DartPadというブラウザ上で実行できるREPLがあ…