2020/11/30 Dart : dart:math – math and random,の訳

dart:math – math and random

dart:mathライブラリ(APIリファレンス)は、正弦(sine)と余弦(cosine)、最大と最小、円周率eなどの定数などの一般的な機能を提供します。mathライブラリのほとんどの機能は、トップレベルの関数として実装されています。

mathライブラリを使用するには、dart:mathをインポートします。

import 'dart:math';

Trigonometry

(三角関数)

mathライブラリは、基本的な三角関数を提供します。

// Cosine
assert(cos(pi) == -1.0);

// Sine
var degrees = 30;
var radians 

2020/11/29 Dart:Iterable collectionsの訳

このコードラボでは、Iterableクラスを実装するコレクション(ListSetなど)の使用方法を説明します Iterablesは、あらゆる種類のDartアプリケーションの基本的な構成要素であり、気付かないうちにすでに使用している可能性があります。このコードラボは、それらを最大限に活用するのに役立ちます。

このコードラボを最大限に活用するには、Dart構文の基本的な知識が必要です。

このコードラボは、次の資料をカバーしています。

  • Iterableの要素を読み取る方法。
  • Iterableの要素が条件を満たすかどうかを確認する方法。
  • Iterableのコンテンツ(要素)をフィルタリングする方法。
  • Iterableのコンテンツ(要素)を別の値にマップする方法。

What are collections?

コレクションはオブジェクトの集合を表現するオブジェクトです。集合の一つ一つを要素(elements)と呼びます。イテラブル(iterable)はコレクションの一種です。

コレクションは空である(要素が無い)可能性があります。複数の要素を含んでいる可能性もあります。目的に応じて、コレクションの構造と実装は異なります。これらは、最も一般的なコレクションタイプの一部です。

  • リスト:要素をインデックスで読み取るために使用されます。
  • セット: 1回だけ発生する可能性のある要素を含めるために使用されます。
  • マップ:キーを使用して要素を読み取るために使用されます。

What is an Iterable?

イテラブル(Iterable)は、順次アクセスできる要素のコレクションです。

Dartでは、Iterableクラスは抽象クラス(abstract class)です。抽象クラスはインスタンス化できませんので、Iterableクラスを直接インスタンス化することはできません。

しかし、ListやSetを生成することで、Iterableを生成することはできます。

List,SetはIterableです。ですからListやSetはIterableクラスと同じメソッドやプロパティを有しています。

マップ(Map)はその実装に応じて、内部で異なるデータ構造を使用します。たとえば、HashMapは、要素(…

2020/11/24 Asynchronous programming: streamsの訳

ポイントは何ですか?

  • ストリームは、データの非同期シーケンスを提供します。

  • シーケンス:複数のデータの連続(のような意味)

  • データシーケンスには、ユーザーが生成したイベントとファイルから読み取られたデータが含まれます。

  • streamを進める方法として「await forを使う方法」と「StreamAPIのlisten()メソッドを使う方法」があります。

  • ストリームは、エラーに応答する方法を提供します。

  • ストリームには、シングルサブスクリプションとブロードキャストの2種類があります。

Dartの非同期プログラミングはFutureクラスとStreamクラスを使用します。

Futureは即時に完了しない(時間がかかる)計算(とその結果)を表現します。通常の関数が結果を返すのに対し、非同期関数はFutureを返します。

Futureは最終的には結果の値(あるいはエラー)を返します。futureは結果がいつ返ってきたかを教えてくれます。

streamは複数の複数の非同期イベントの連続を表現します。streamは非同期なイテラブルのようなものです。

要求したときに次のイベントを取得する代わりに、準備ができたときにイベントがあることをストリームが通知します。


Receiving stream events

streamを生成する方法はいくつもありますが、それについては他の記事で説明します。

streamを生成する方法に対して、streamを使用する(結果を受け取る)方法は一つです。

await for(asynchronous for loop)を使って、streamのイベントをイテレート(一つずつ順番に処理する)します。例えば、

Future<int> sumStream(Stream<int> stream) async {
  var sum = 0

2020/11/18 Pythonインストール

https://www.python.org/downloads/mac-osx/

上記ページで最新バージョンのインストーラーをダウンロードします。

「続ける」ボタンを押します。


「続ける」ボタンを押します。

「続ける」ボタンを押します。


「インストール」ボタンを押します。

インストール終了で

Macintosh HD/アプリケーション

ディレクトリにPython3.9がインストールされました。

 

 

 

 

 

2020/11/15 A tour of the core libraries>> dart:coreの訳

 

このページでは、Dartのコアライブラリの主要な機能を使用する方法を示します。 これは単なる概要であり、決して包括的なものではありません。 クラスの詳細が必要な場合は、DartAPIリファレンスを参照してください。



dart:core – numbers, collections, strings, and more

dart:coreライブラリ(APIリファレンス)は、小さいながらも重要な組み込み機能のセットを提供します。 このライブラリは、すべてのDartプログラムに自動的にインポートされます。


Printing to the console

トップレベルのprint()メソッドは、単一の引数(任意のオブジェクト)を受け取り、そのオブジェクトの文字列値(toString()によって返される)をコンソールに表示します。

print(anObject);
print('I drink $tea.');

文字列とtoString()メソッドに関するさらに詳しい情報はlanguage tourのStringsをご覧ください。


Numbers

dart:coreライブラリは、num、int、およびdoubleクラスを定義します。これらには、数値を操作するための基本的なユーティリティがいくつかあります。

文字列は、それぞれintおよびdoubleのparse()メソッドを使用して整数またはdoubleに変換できます。

文字列→数値

2020/11/14 A tour of the core libraries>>Exceptionsの訳

 

Dartコアライブラリは、多くの一般的な例外(exception)とエラー(error)を定義しています。例外は、事前に計画してキャッチできる条件と見なされます。エラーは、予期しない、または計画していない状態です。

最も一般的なエラーのいくつかは次のとおりです。

NoSuchMethodError

受信オブジェクト(nullの可能性がある)がメソッドを実装していない場合にスローされます。


ArgumentError

予期しない引数が渡されたメソッドがスローするエラー。


アプリケーション固有の例外をスローすることは、エラーが発生したことを示す一般的な方法です。Exceptionインターフェイスを実装することにより、カスタム例外を定義できます。

class FooException implements Exception {
  final String msg;

  const FooException([this.msg]);

  @override
  String toString() => msg ?? 'FooException';
}

例外についてはこちらもご覧ください。…

2020/11/14 freezedパッケージreadmeの訳

次のページ(パート2)へ>>


How to use


Install


Freezedを使うには、通常のbuild_runner / code-generatorセットアップが必要です。

まず、pubspec.yamlファイルにbuild_runnerとFreezedを追加してインストールします。

# pubspec.yaml
dependencies:
  freezed_annotation:

dev_dependencies:
  build_runner:
  freezed:

これ↑により3つのパッケージをインストールします。

  • build_runner,コード生成機能を提供します。
  • freezed,コード生成機能です。
  • freezed_annotation, freezedのためのアノテーション機能を提供します。

Run the generator


ほとんどのコード生成パッケージと同様に、Freezedを使うためにはannotation(meta)のインポートと、ファイルの先頭でpartキーワードを使う必要があります。

Freezedを使うファイルの先頭で、このようにコードを記述してください。

import 'package:freezed_annotation/freezed_annotation.dart';

part 'my_file.freezed.dart';

package:flutter/foundation.dartのインポートも検討してください。

その理由は、foundation.dartのインポートにより、Flutter devtool内で可読性の高いオブジェクトを生成するためのクラスもインポートされるからです。

foundation.dartをインポートすると、Freezedは自動的に対処します。

以下のコードを参考にしてください。

// main.dart

2020/11/12 A tour of the Dart language>>Cascade notation (..)の訳

Cascade notation (..)

同一オブジェクトに対して複数の連続した処理を実行したい場合にカスケードノーテーション(..)を使います。関数の実行に加えて、そのオブジェクトのフィールドにアクセスすることができます。

これにより、一時変数を作成する手間が省け、より流動的なコードを記述できるようになります。

以下のコードを考えてみましょう。

querySelector('#confirm') // Get an object.
  ..text = 'Confirm' // Use its members.
  ..classes.add('important')
  ..onClick.listen((e) => window