レファレンス

目次

チャート

チャートコンポーネントは、接続されたチャートデータ2Dコンポーネントのデータをプロットします。チャートの種類は、折れ線グラフ散布図グラフエリアグラフ棒グラフ円グラフの5種類があり、タイププロパティで変更することができます。チャートコンポーネントには、他にもチャートの外観を変更する様々なプロパティがあります。

プロパティ

背景色グラフの背景色をアルファ・赤・緑・青の整数値で指定します。説明チャート内の説明ラベルに表示するテキストを指定します。空文字列(“")を指定すると、ラベルは表示されません。格子を表示タイプが軸のあるチャートに設定されている場合、チャートの格子の可視性を変更します(折れ線グラフ散布図グラフエリアグラフ棒グラフに適用されます)。高さチャートの垂直方向の高さをピクセル単位で指定します。高さ%チャートの垂直方向の高さを画面の高さに対する割合で指定します。ラベルタイプが軸のあるチャートに設定されている場合、チャートのX軸ラベルを指定されたリストに変更します。リストの最初のエントリはデータの最小X値に対応し、2番目は最小X値+1、といった具合になります。x値にラベルが指定されていない場合、デフォルト値が使用されます(その位置の軸目盛りのx値)。チャートのX軸に設定するラベル現在のビューがX軸を持つチャートである場合に、チャートのX軸に設定するラベルを指定します。ラベルは、1つのカンマ区切りの値String(各値がカンマで区切られていることを意味する)として指定されます。ラベルがどのようにチャートに適用されるかの詳細については、「ラベル」を参照してください。凡例を表示チャートの凡例の可視性を変更します。円の半径円グラフの半径を設定します。現在のタイプが円グラフでない場合、この値は影響を与えません。タイプチャートの種類を指定し、データの可視化方法を決定します。見えるチャートが画面上に表示されるかどうかを指定します。値は、チャートが表示されている場合はtrue、非表示の場合はfalseです。チャートの水平方向の幅をピクセル単位で指定します。幅%チャートの水平方向の幅を画面の幅に対する割合で指定します。

イベント

データ項目をクリックしたら(Component series, any x, number y) ユーザがチャートのデータ項目をクリックしたことを示します。データ系列とそのx値、y値が報告されます。

方法

無し

チャートデータ2D

チャートデータ2Dコンポーネントは、チャートコンポーネント内の一つの2次元データ系列を表します。例えば、折れ線グラフの場合は単一の折れ線棒グラフの場合は一連のを表します。チャートデータ2Dコンポーネントはチャートのすべてのデータを処理する役割を担っています。チャートデータ2Dコンポーネントの項目は、xとyの値に対応しています。このコンポーネントをチャート上にドラッグドロップすると、チャートコンポーネントに直接接続されます。

プロパティ

データ系列の色をアルファ・赤・緑・青の整数値で指定します。色リストデータ系列の色をアルファ・赤・緑・青の整数のリストで指定します。データ数が色数より多い場合、色は順番に入れ替わります。例えば、赤と青の2つの色がある場合、色は以下の順序で赤、青、赤、青、…の順に適用されます。データファイルX列データファイルコンポーネントからデータをインポートする際に使用する値。この値は、データファイルからデータシリーズのXエントリに使用する列を表します。たとえば、列の最初の値が “Time “で、列の値として “Time “が指定された場合、その列がxの値として使用されます。ここで値が指定されていない場合、x値のデフォルト値が代わりに生成されます。データファイルY列データファイルコンポーネントからデータをインポートする際に使用する値。この値は、データファイルからデータシリーズのYエントリに使用する列を表します。たとえば、列の最初の値が “Temperature “で、列の値として “Temperature “が指定された場合、その列がyの値として使用されます。ここで値が指定されていない場合、y値のデフォルト値が代わりに生成されます。DataSourceKey接続されたデータソースからインポートする値のデータソースキー識別子を設定します。例としては、TinyDBコンポーネントのタグが値を識別します。このプロパティはデザイナ専用のプロパティで、チャートデータコンポーネントのソースを設定した後に変更する必要があります。互換性のある各ソースに適用可能な値は以下のとおりです。

  • TinyDBとCloudDBの場合、これはタグの値です
  • 加速度センサーの場合、値は以下のいずれかである必要があります。X Y または Z
  • ジャイロセンサーの場合、値は以下のいずれかでなければならない。X Y または Z
  • 位置センサーには、次のいずれかの値を指定します:緯度、経度、高度、速度
  • 方位センサーには、Pitch、Azimuth、Roll のいずれかを指定する
  • 歩数計の場合、値は以下のいずれかである必要があります。WalkSteps、SimpleSteps、Distance のいずれか
  • 近接センサーの場合、値は距離
  • BluetoothClientの場合、値は値から削除する接頭辞を表します。例えば、値が “t:12 “という形式である場合、"t: “と指定することで、データから接頭辞が取り除かれる。純粋に数値のみを返す場合は、値を指定することはできません

要素ペアデータ系列に使用する要素のカンマ区切りリスト。値は以下のようにフォーマットされます。x1,y1,x2,y2,x3,y3. 値はペアで取得され、xとyの値からエントリーが形成されます。ラベルデータ系列ラベルのテキストを指定します線の種類データコンポーネントがラインベースのチャート(エリアとラインチャートのタイプに適用)に接続されている場合、データシリーズのラインタイプを変更します。有効なタイプは、直線、曲線、階段状です。点の形散布図に設定されている場合、データ系列の点の形を変更します。有効なタイプは、円、四角、三角、十字、xです。ソースデータコンポーネントに使用するソースを設定します。有効な選択肢は、加速度センサー、BluetoothClient、CloudDB、データファイル、ジャイロセンサー、位置センサー、方位センサー、歩数計、近接センサー、TinyDB、Web コンポーネントです。ソース値には、接続されているソースの種類に応じて、有効な DataSourceValue、WebColumn または DataFileColumn プロパティも必要です(必要なプロパティは、ソースを変更した後にプロパティメニューに表示されます)。DataSourceKeyで特定されるデータが接続されたデータソースコンポーネントで更新されると、そのデータはチャートデータコンポーネントでも更新されます。SpreadsheetUseHeadersチェックした場合、スプレッドシートの最初の行がxおよびy列の値の解釈に使用されます。そうでない場合は、x列とy列はAやBのような列参照でなければなりません。SpreadsheetXColumnxの値について、接続されたSpreadsheetコンポーネントから解析する列を設定します。列が指定されない場合、x値のデフォルト値が代わりに生成されます。SpreadsheetYColumny値について、添付されたSpreadsheetコンポーネントから解析する列を設定します。列が指定されていない場合、代わりにy値のデフォルト値が生成されます。WebXColumnWebコンポーネントSourceからデータをインポートする際に使用される値。この値は、データシリーズのXエントリに使用するWebからの列を表します。例えば、WebのコンテンツがJSON形式で取得され、"Time “タグを持つ配列が存在する場合、"Time “列の値を指定することでその配列を使用することができます。WebYColumnWebコンポーネントの Source からデータをインポートする際に使用する値。この値は、Web からデータシリーズの y エントリに使用する列を表します。例えば、WebのコンテンツをJSON形式で取得され、"Temperature “タグを持つ配列が存在する場合、"Temperature “カラムの値としてその配列を使用するように指定することができます。

イベント

データ項目をクリックしたら(any x, number y) チャート内のデータポイントをユーザーがタップしたことを示します。タップされた項目のxとyの値が報告されます。

方法

データ項目追加(x,y)指定されたxとyの値を持つエントリーを追加します。値は、テキストまたは数値で指定できます。ラインチャート、散布図、エリアチャート、バーチャートの場合、両方の値が数値である必要があります。棒グラフの場合、x 値は最も近い整数に丸められます。円グラフの場合、xの値はテキスト値です。ソース変更(ソース,キー値)コンポーネントのデータソースを、指定されたキー値を持つ指定されたコンポーネントSourceに変更します。適用可能なコンポーネントについては、Sourceプロパティを参照してください。keyValueの解釈はDataSourceKeyプロパティを参照してください。DataFileおよびWebコンポーネントの場合、keyValueはCSV形式の文字列であることが期待され、最初の値はx列に対応し、2番目の値はy値に対応します。クリア()データ系列からすべてのエントリを削除します。データ項目があるか(x,y)指定されたxとyの値を持つ項目が存在するかどうかを指定する論理値を返す。値が存在する場合はtrueが返され、そうでない場合はfalseが返される。有効なエントリ値については、AddEntry を参照のこと。すべてのデータ項目を取得()データ系列のすべてのエントリを返します。返される値はリストで、リストの各要素は、エントリの値を順番に含むリストです。x値のデータ項目を取得(x)指定されたxの値に一致するデータ系列のすべてのエントリーを返します。返されるリストの形式の説明については、GetAllEntries を参照してください。y値のデータ項目を取得(y)指定されたy値に一致するデータ系列のすべてのエントリを返します。CloudDBからインポート(cloudDB,タグ)指定されたタグの値によって識別される値を取ることによって、指定されたCloudDBコンポーネントからデータをインポートします。CloudDBの値は、ImportFromListで説明したのと同じ方法でフォーマットされたリストです。データは上書きされません。データファイルからインポート(データファイル,x列,y列)指定されたデータファイルコンポーネントから、指定されたx列をx値として、指定されたy列をy値としてデータを取り込みます。データファイルのソースファイルは、CSVファイルまたはJSONファイルであることが期待されます。列のパラメータに空のテキストを渡すと、エントリのインデックスであるデフォルト値が使用されます。最初のエントリーのデフォルト値は1、2番目のエントリーのデフォルト値は2、などとなります。リストからインポート(list)指定されたリストパラメータからデータをデータ系列にインポートします。リストはリストである要素を含むことが期待されます。各リスト要素は2つの値を持つことが期待され、最初のものはxの値で、2番目のものはyの値です。無効なリストエントリは単にスキップされます。既存のデータはクリアされません。スプレッドシート からインポート(シート,x列,y列,ヘッダー使用)指定されたスプレッドシートコンポーネントから、x値については指定されたx列を、y値については指定されたy列を使用してデータをインポートします。この方法を呼び出す前に、スプレッドシートコンポーネントのシートを読み込むメソッドを呼び出し、データを読み込む必要があります。スプレッドシートコンポーネントのシートを読み込んだらイベントの使用は必要ありません。空の列にはデフォルト値(Entry 1, 2, 3, …に対して1, 2, 3, …)が入力されます。TinyDBからインポート(tinyDB,タグ)指定されたタグ値で識別される値を取ることにより、指定されたTinyDBコンポーネントからデータをインポートします。期待されるTinyDBの値は、ImportFromListで説明したのと同じ方法でフォーマットされたリストです。データは上書きされません。Webからインポート(web,x列,y列)指定された Web コンポーネントから、x 値には指定された x 列を、y 値には指定された y 列を指定してデータをインポートします。この方法を呼び出す前に、Web コンポーネントの Get メソッドを呼び出してデータをロードしておく必要があります。Web コンポーネントで 値を取得したらイベントを使用する必要はありません。この方法が動作するために、Web コンポーネントが期待する応答は、JSON または CSV フォーマットのファイルです。空の列にはデフォルト値(項目 1, 2, 3, …)が入力されます。ソース削除()現在接続されているデータソースをチャートデータコンポーネントから削除します。この操作により、データソースからの更新は送信されなくなりますが、現在のデータは削除されません。データ項目削除(x,y)指定されたxとyの値を持つエントリーが存在する場合に、そのエントリーを削除します。有効な項目値の説明については、データ項目追加を参照してください。

レファレンス

AI2連想配列

前書き

マップ、連想配列、リストなど、他の言語で呼ばれる辞書は、キーと呼ばれることが多い値を別の値に関連付けるデータ構造です。 辞書を表示する一般的な方法は、たとえばJavaScript Object Notation(JSON)を使用することです。

{
"id"
:
1
,
"name"
:
"Tim the Beaver"
,
"school"
:
{
"name"
:
"Massachusetts Institute of Technology"
},
"enrolled"
:
true
,
"classes"
:
[
"6.001"
,
"18.01"
,
"8.01"
]
}

上記の例は、JSONではキー( :前に引用されたテキスト)がさまざまなタイプの値にマップできることを示しています。 許可されるタイプは、数値、テキスト、他の辞書、ブール値、およびリストです。 ブロック言語では、次のようにしてこの辞書を作成できます。

上記の辞書のブロック表現

図1 :上記のJSONコードスニペットのブロック表現。

空の辞書を作成する

create empty dictionarycreate empty dictionaryブロックは、キーと値のペアなしで辞書を作成します。 set value for keyブロックのset value for key使用して、エントリを空の辞書に追加できます。 create empty dictionaryブロックのcreate empty dictionaryは、青色のミューテーターボタンを使用してpairエントリを追加するmake a dictionaryブロックのcreate empty dictionary変えることもできます。

辞書を作る

make a dictionary作成は、事前に既知のpairのセットで辞書を作成するために使用されます。 set value for key使用して、追加のエントリを追加できset value for key 。

ペア

pairブロックは、辞書の作成に使用される特別な目的のブロックです。

キーの値を取得

get value for keyブロックのget value for key 、指定されたキーに対応する値が辞書に含まれているかどうかを確認します。 存在する場合、値が返されます。 それ以外の場合、 not foundパラメーターの値が返さnot foundます。 この動作はlookup in pairsブロックのlookup in pairsの動作に似ています。

キーの設定値

set value for keyブロックの設定値は、 dictionary指定されたkeyに対応する値をvalueに設定しvalue 。 keyのマッピングが存在しない場合、新しいマッピングが作成されます。 それ以外の場合、既存の値は新しい値に置き換えられます。

キーのエントリを削除します

delete entry for keyブロックのdelete entry for keyと、指定されたキーの辞書にあるキーと値のマッピングが削除されます。 キーのエントリがディクショナリに存在しない場合、ディクショナリは変更されません。

キーパスで値を取得

get value at key pathブロックのget value for keyブロックのget value for keyより高度なバージョンです。 特定のキーの値を取得するのではなく、データ構造内のパスを表す有効なキーと数値のリストを代わりに受け取ります。 get value for keyブロックのget value for keyを含む長さ1のキーパスでこのブロックを使用することと同等です。 たとえば、次の2つのブロックは"Tim the Beaver"返します。

複雑なデータ構造に深くネストされた値を取得するために提供されたpathを使用して、最初の辞書から開始してデータ構造をウォークします。 WebサービスからのJSONデータの処理に最適です。 最初の入力から開始して、キーパスの最初の要素を取得し、その時点でキー(入力が辞書の場合)またはインデックス(入力がリストの場合)が存在するかどうかを確認します。 その場合、そのアイテムを入力として選択し、キーパスの次の要素のチェックに進みkey path全体をたどるまで続行し、その時点でその場所にあるもの、または"not found"パラメーターを返します。 。

{
"id"
:
1
,
"name"
:
"Tim the Beaver"
,
"school"
:
{
"name"
:
"Massachusetts Institute of Technology"
},
"enrolled"
:
true
,
"classes"
:
[
"6.001"
,
"18.01"
,
"8.01"
]
}

たとえば、上記のJSONディクショナリが与えられた場合、キーパスでget value at key path次のように使用すると、 "Massachusetts Institute of Technology"という結果が得られます。

get value at key path<すると、辞書とリストが混在している場合に通過する要素のインデックスを表す数値をパスに含めることができます。 たとえば、Timが取っている2番目のクラスを知りたい場合、次のことができます。

"18.01"を返します。

キーパスの値を設定

set value for key pathブロックのset value for key pathは、データ構造内の特定のキーパスの値を更新します。 キーパスのget value for key pathのミラーであり、特定のキーパスで値を取得します。 パス 、マッピングが存在しない場合に新しい値へのマッピングを作成する最後のキーを除き、 有効である必要があります。 それ以外の場合、既存の値は新しい値に置き換えられます。

キーを取得

get keysget keysは、ディクショナリ内のキーのリストを返します。

値を取得

get valuesと、辞書の値を含むリストが返されます。 リスト内の値の内容を変更すると、辞書内の値も変更されます。

辞書のキーは何ですか?

is key in dictionary? キーが辞書に存在するかどうかをテストし、存在する場合はtrueを返し、そうでない場合はfalse返しfalse 。

辞書のサイズ

size of dictionaryブロックのsize of dictionary存在するキーと値のペアの数を返します。

辞書へのペアのリスト

list of pairs to dictionaryブロックへlist of pairs to dictionaryリストは、フォームの連想リスト((key1 value1) (key2 value2) ...)を、キーをその値にマッピングする辞書に変換します。 辞書は連想リストよりも優れたルックアップパフォーマンスを提供するため、データ構造で多くの操作を実行する場合、このブロックを使用して連想リストを辞書に変換することをお勧めします。

ペアのリストへの辞書

dictionary to list of pairsへの辞書は、辞書を連想リストに変換します。 このブロックlist of pairs to dictionarylist of pairs to dictionaryによって実行される変換list of pairs to dictionaryブロックに逆変換します。

辞書のペアのリストブロックが辞書のブロックのペアのリストを逆にする方法の例

コピー辞書

copy dictionaryは、指定された辞書のディープコピーを作成します。 つまり、すべての値が再帰的にコピーされ、コピーの値を変更しても元の値は変更されません。

辞書にマージする

merge into dictionary from dictionaryブロックmerge into dictionary from dictionarymerge into dictionary from dictionary別の辞書にキーと値のペアをコピーし、ターゲット辞書のキーを上書きします。

キーパスを歩いてリストする

list by walking key pathブロックのlist by walking key pathは、 get value at key pathget value at key pathと同様に機能get value at key pathが、単一の値を返すのではなく、値のリストを作成します。 これは、指定された辞書から開始し、指定されたパスに沿ってオブジェクトのツリーをたどることによって機能します。 ただし、 get value at key pathとは異なり、そのパスは、辞書キー、リストインデックス、 walk all at levelブロックでのwalk all at levelwalk all at levelの3つの主要なタイプで構成できます。 キーまたはインデックスが提供される場合、特定のパスがツリーのそのポイントで取得されます。 walk all at levelwalk all at levelが指定されている場合、そのポイントのすべての値が連続して(幅優先)、そのポイントでパスの次の要素からウォークが継続されます。 パス全体に一致するすべての要素が出力リストに追加されます。

次のJSONとブロックを検討してください。

{
"people"
:
[{
"first_name"
:
"Tim"
,
"last_name"
:
"Beaver"
},{
"first_name"
:
"John"
,
"last_name"
:
"Smith"
,
},{
"first_name"
:
"Jane"
,
"last_name"
:
"Doe"
}]
}

global dataにJSONで表されるディクショナリが含まれている場合、キーパスブロックのlist by walking key pathリストはリスト["Tim", "Beaver"]ます。 最初に、 "people"タグの値、つまり人々のリストが選択されます。 次に、リストの最初の要素が選択されます。 最後に、Walk All at Levelブロックは、そのポイントのオブジェクトの値、つまり値"Tim"および"Beaver"ます。

リストを含むwalk all at levelで、レベルwalk all at level使用することもできます。 たとえば、次のブロックは、構造内のすべての人々の名、つまり["Tim", "John", "Jane"]ます。

このブロックは、 Web.XMLTextDecodeAsDictionaryブロックを使用して解析されたXMLでも使用できます。 次のXMLドキュメントを検討してください。

<schedule>
<day>
<room
name=
"Hewlitt"
/>
<room
name=
"Bleil"
/>
</day>
<day>
<room
name=
"Kiva"
/>
<room
name=
"Star"
/>
</day>
</schedule>

次のブロックを使用して、最初の日に部屋の名前のリストを取得できます(例["Hewlitt", "Bleil"] 。

すべてのレベルで歩く

walk all at levelブロックは、キーパスをwalk all at level list by walking key pathキーパスで使用できる特殊なブロックです。 散歩中に遭遇すると、そのレベルのすべてのアイテムが探索されます。 辞書の場合、これはすべての値が訪問されることを意味します。 リストの場合、リスト内の各アイテムが訪問されます。 これを使用して、JSONオブジェクトで表されるデータベース内のすべての人の名など、辞書内のアイテムのリストから情報を集約できます。 例については、 list by walking key pathブロックをlist by walking key pathlist by walking key path参照してください。

辞書ですか?

is a dictionary? ブロックテストは、与えられたものが辞書であるかどうかを確認します。 thingが辞書の場合はtrueを返し、それ以外の場合はfalseを返しtrue 。

レファレンス

AI2の手順

プロシージャは、名前、つまりプロシージャブロックの名前で格納されている一連のブロックまたはコードです。 同じ長い一連のブロックをまとめておく必要はなく、プロシージャを作成して、一連のブロックを実行したいときはいつでもそのプロシージャブロックを呼び出すだけで済みます。 コンピュータサイエンスでは、手続きは関数またはメソッドと呼ばれることもあります。

手続きブロック

手続きは

一連のブロックをまとめてグループにまとめます。 その後、プロシージャを呼び出すことによってブロックのシーケンスを繰り返し使用できます。 手続きに引数がある場合は、ブロックのミューテーターボタンを使用して引数を指定します。 青いプラス記号をクリックすると、追加の引数をプロシージャにドラッグできます。

新しい手順ブロックを作成すると、App Inventorは自動的に一意の名前を選択します。 名前とタイプをクリックして変更できます。 アプリ内のプロシージャ名は一意である必要があります。 App Inventorでは、同じアプリ内で同じ名前の2つの手順を定義することはできません。 ブロック内のラベルを変更することで、アプリの構築中にいつでもプロシージャの名前を変更できます。 App Inventorは、関連付けられたコールブロックの名前を自動的に変更します。

プロシージャを作成すると、App Inventorによって自動的にコールブロックが生成され、それが[My Definitions]ドロワに配置されます。 プロシージャを呼び出すには、コールブロックを使用します。

手続き結果

procedure do blockと同じですが、このプロシージャを呼び出すと結果が返されます。

このプロシージャを作成した後、プラグインする必要があるコールブロックが作成されます。 これは、このプロシージャの実行結果がその呼び出しブロックに返され、その値がプラグに接続されているブロックに渡されるためです。

レファレンス

AI2変数

可変ブロック

可変ブロックには、主に5つのタイプがあります。

グローバル名をに初期化する

このブロックは、グローバル変数を作成するために使用されます。 引数としてあらゆるタイプの値を取ります。 名前をクリックすると、このグローバル変数の名前が変わります。 グローバル変数はすべてのプロシージャまたはイベントで使用されるので、このブロックは独立しています。

グローバル変数は、アプリの実行中に変更することができ、プロシージャやイベントハンドラ内でもアプリの任意の部分から参照したり変更したりできます。 このブロックの名前はいつでも変更でき、古い名前を参照している関連ブロックは自動的に更新されます。

取得する

このブロックはあなたが作成したかもしれない変数を取得する方法を提供します。

に設定

このブロックはgetと同じ規則に従います 。 スコープ内の変数のみがドロップダウンで利用可能になります。 変数vが選択されると、ユーザーは新しいブロックを添付してvに新しい値を与えることができます。

ローカル名を – に初期化する(do)

このブロックは、ブロックのDO部分で実行した手順でのみ使用される新しい変数を作成できるようにするミューテーターです。 このようにして、このプロシージャのすべての変数は、プロシージャが実行されるたびにすべて同じ値で始まります。 注:このブロックは、DOブロックであるため、下記のブロックとは異なります。を添付することができます。 文物事を行います。 このため、このブロック内に文ブロックを添付するためのスペースがあります。

このブロック内の変数はいつでも名前を変更できます。古い名前を参照するプログラム内の他の場所にある対応するブロックは自動的に更新されます。

ローカル名を – inに初期化(return)

このブロックは、ブロックのRETURN部分で実行した手順でのみ使用される新しい変数を作成できるようにするミューテーターです。 このようにして、このプロシージャのすべての変数は、プロシージャが実行されるたびにすべて同じ値で始まります。 注:このブロックは、RETURNブロックであるため、上記のブロックとは異なります。 を付けることができます。 式は値を返します。 そのため、このブロックには式を差し込むためのソケットがあります。

このブロック内の変数はいつでも名前を変更できます。古い名前を参照するプログラム内の他の場所にある対応するブロックは自動的に更新されます。

レファレンス

AI2色

カラーブロックには、主に3つの種類があります。

基本カラーブロック

これは基本的なカラーブロックです。 それは小さな正方形の形をしており、このブロックの内部に保存されている色を表す色が中央にあります。

真ん中の色をクリックすると、選択可能な70色の表がポップアップで表示されます。 新しい色をクリックすると、基本カラーブロックの現在の色が変わります。

ColorsパネルからBlocks Editor画面にドラッグした基本カラーブロックは、クリックすると同じ色のテーブルが表示されます。

色を作る


make colorは3つまたは4つの数のリストを取ります。 このリストのこれらの番号は、RGBコードの値を表します。 インターネット上で色を作るためにRGBコードが使われています。 RGBカラーチャートはこちらです。 このリストの最初の番号はコードのR値を表します。 2番目はGを表し、3番目はBを表します。4番目の値はオプションで、アルファ値または色の彩度を表します。 既定のアルファ値は100です。さまざまな値を試して、このブロックを使用して色がどのように変化するかを確認します。

分割色


スプリットカラーはメイクカラーの反対をします 。 それは色を取ります:色ブロック、色を保持する変数、または色を表すコンポーネントの1つからのプロパティで、その色のRGBコードのRGB値のリストを返します。

App Inventorでは色はどのように機能しますか?

内部的には、App Inventorは各色を単一の番号として格納します。 make colorを使用して引数としてリストを取得すると、内部的にこのリストはApp Inventorの配色を使用して変換され、数値として格納されます。 色の番号がわかっている場合は、そのColorプロパティを特定の番号に設定するだけで、希望する色を指定することもできます。 数字と色のチャートを見たい場合は、 このページをチェックしてください 。

レファレンス

AI2リスト

リストブロック

リストを理解するための追加のヘルプが必要ですか Conceptsページのメーリングリストをチェックしください。

空のリストを作成する

要素なしで空のリストを作成します。

リストを作る

与えられたブロックからリストを作成します。 引数を指定しないと、空のリストが作成されます。これを後で要素に追加できます。 
このブロックはミューテーターです。 青いプラス記号をクリックすると、リストに項目を追加することができます。

リストにアイテムを追加する

与えられたアイテムをリストの最後に追加します。 
thisとappend to listの違いは、 list to appendは項目が単一のリストとして追加されるということです。 
リストにアイテムを追加する間、個々の引数としてアイテムを取ります。 このブロックはミューテーターです。

リストにありますか?

thingがリストの要素の1つであれば、trueを返します。 それ以外の場合はfalseを返します。 リストにサブリストが含まれる場合、 
サブリストのメンバーはそれ自体がリストのメンバーではありません。 たとえば、リスト(1 2(3 4))のメンバーは1、2、リスト(3 4)です。 3と4はそれ自体リストのメンバーではありません。

リストの長さ

リスト内の項目数を返します

リストは空ですか?

リストにアイテムがない場合はtrueを返します。 それ以外の場合はfalseを返します。

ランダムなアイテムを選ぶ

リストからアイテムをランダムに選びます。

リストのインデックス

リスト内のものの位置を返します。 リストにない場合は、0を返します。 

リスト項目を選択

指定されたリストの指定されたインデックスにある項目を選択します。 最初のリスト項目は索引1にあります。

リスト項目を挿入

指定された位置にリストの項目を挿入します

リスト項目を置き換える

指定されたリストの位置インデックスに置換を挿入します。 その位置の前の項目は削除されます。

リスト項目を削除

指定された位置にあるアイテムを削除します。

リストに追加

2番目のリストの項目を最初のリストの末尾に追加します。

コピーリスト

すべてのサブリストをコピーすることも含めて、リストのコピーを作成します。

リストは何ですか?

ものがリストの場合はtrueを返します。 それ以外の場合はfalseを返します。

csv行へのリスト

リストをテーブルの行として解釈し、その行を表すCSV(コンマ区切り値)テキストを返します。 
行リストの各項目はフィールドと見なされ、結果のCSVテキストでは二重引用符で囲まれます。 項目はコンマで区切ります。 
たとえば、リスト(abcd)をCSV行に変換すると、( “a"、 “b"、 “c"、 “d")が生成されます。 
返された行テキストの最後には行区切り文字はありません。

csv行からのリスト

テキストをCSV(カンマ区切り値)形式の行として解析して、フィールドのリストを生成します。 
たとえば、( “a"、 “b"、 “c"、 “d")をリストに変換すると、(abcd)が生成されます。

csvテーブルへのリスト

リストを行優先形式の表として解釈し、その表を表すCSV(コンマ区切り値)テキストを返します。 
リスト内の各項目は、それ自体がCSVテーブルの行を表すリストになります。 
行リストの各項目はフィールドと見なされ、結果のCSVテキストでは二重引用符で囲まれます。 
返されるテキストでは、行の項目はカンマで区切られ、行はCRLF(\ r \ n)で区切られています。

csvテーブルからのリスト

テキストをCSV(コンマ区切り値)形式の表として解析して、それぞれがフィールドのリストである行のリストを作成します。 
行は改行(\ n)またはCRLF(\ r \ n)で区切ることができます。

ペアで検索

リストとして表される辞書のような構造で情報を検索するために使用されます。 
この操作は、3つの入力、 キー 、リストのペア 、およびnotFoundの結果を取ります。これらの結果は、デフォルトで “not found"に設定されています。 
ここでペアはペアのリスト、つまり各要素がそれ自体2つの要素のリストであるリストでなければなりません。 
ペア検索では、リストの最初の要素がキーである最初のペアが検索され、2番目のペアが返されます。 
素子。 たとえば、リストが((a apple)(d dragon)(b boxcar)(cat 100)の場合、 'b’を検索すると 'boxcar’が返されます。 
リストにそのようなペアがない場合、ペアで検索するnotFoundの結果が返されます。 ペアがのリストではない場合 
ペアになると、操作はエラーを通知します。

レファレンス

AI2テキスト

テキストブロック

「」

テキスト文字列を含みます。

この文字列には任意の文字(英字、数字、またはその他の特殊文字)を含めることができます。 App Inventorでは、これはテキストオブジェクトと見なされます。

参加する

すべての入力を追加して単一の文字列を作成します。 入力がない場合は、空の文字列を返します。

長さ

文字列内のスペースを含む文字数を返します。 これは与えられたテキスト文字列の長さです。

空です

文字列に文字(スペースを含む)が含まれているかどうかを返します。 文字列の長さが0の場合はtrue、それ以外の場合はfalseを返します。

テキストを比較する

選択されたドロップダウンに応じて、最初の文字列が辞書式に<、>、または= 2番目の文字列であるかどうかを返します。

ある文字列がアルファベット順で他の文字列よりも大きい場合、その文字列は別のものより辞書的に大きいと見なされます。 基本的に、それは辞書の中でそれの後にくるでしょう。 すべての大文字は、小さいか小文字の前にあると見なされます。 は> 猫になります。

トリム

入力文字列の先頭または末尾のスペースを削除して結果を返します。

大文字

すべての大文字に変換されたテキスト文字列引数のコピーを返します

小文字

すべての小文字に変換されたテキスト文字列引数のコピーを返します

で始まる

pieceの最初の文字がテキストに最初に現れる文字位置を返します。存在しない場合は0を返します。 たとえば、 havana bananaanaの位置は4です。

含む

pieceテキスト内にある場合はtrueを返します 。 それ以外の場合はfalseを返します。

最初に分割

指定されたテキストをatの最初の出現位置を分割点として2つの部分に分割し、分割点の前の部分と分割点の後の部分からなる2項目のリストを返します。 分割点としてコンマを使用して分割したapple、banana、cherry、dogfoodは2つの項目のリストを返します。 それが分割点であるため、appleの後のコンマは結果に現れないことに注意してください。

最初に分割する

リスト内の任意の項目の最初の位置を分割点として使用して、指定されたテキストを2項目リストに分割します。

リスト[ ba 、 ap ]でリンゴのバナナのリンゴのブドウを愛して分割すると、2つのアイテムのリストが得られます 。

スプリット

分割点としてatを使用してテキストを断片に分割し、結果のリストを作成します。 1、2、3、4 at  (コンマ)を分割すると、リスト1 2 3 4が返されます。 one-potato、two-potato、three-potato、four–potato分割すると、リストone two three fourを返します。

任意に分割


/sites/all/files/UserGuide/blocks/text/splitAtAny.png “

指定されたテキストをatの項目のいずれかを分割点としてリストに分割し、結果のリストを返します。

最初の項目がコンマで、2番目の項目がrryである2要素リストとして、 appleberry、banana、cherry、dogfoodを分割すると、4つの項目のリストが返されます。[ applebe、banana、che、dogfood ]

スペースで分割

与えられたテキストをスペースのあるところで分割して、部分のリストを作成します。

セグメント

開始位置から始まり長さの文字まで続くテキストの一部を抽出します。

全部交換

部分文字列のすべての出現箇所を置換で置き換えた新しいテキスト文字列を返します。

彼女を食べるのが大好きです。 彼女は書くのが大好きです。 テキストとしてのコーディング 、セグメントとしてのコーディング 、そして置き換えとしてのハンナは、 ハンナが食べることを愛するという結果になると思います。 ハンナは執筆が大好きです。 ハンナはコーディングが大好きです。

レファレンス

AI2数学

数学ブロック

** 注意:ソケットが抜けているMathブロックは、抜けている箇所を0として読み取ります。

探している数学ブロックが組み込みブロックで見つかりませんか。

いくつかの数学ブロックはドロップダウンであり、それはそれらが異なるブロックに変換されることができることを意味します。 これは各ドロップダウンに含まれるもののリストです:

=、≠、>、≥、<、≤

最小、最大

sqrt、abs、 – 、log、e ^、round、ceiling、floor

のモジュロ、剰余、商

sin、cos、tan、asin、acos、atan

ラジアンから度への変換、度からラジアンへの変換

基本番号ブロック

任意の正数または負数として使用できます(小数点以下を含む)。 ブロック内の “0"をダブルクリックすると番号を変更できます。

=

2つの数値が等しいかどうかを調べ、trueまたはfalseを返します。

=

2つの数値が等しくないかどうかを調べ、trueまたはfalseを返します。

>、

最初の数が2番目の数より大きいかどうかをテストし、trueまたはfalseを返します。

≥、

最初の数が2番目の数以上であるかどうかをテストし、trueまたはfalseを返します。

<、

最初の数が2番目の数より小さいかどうかをテストし、trueまたはfalseを返します。

≤、

最初の数が2番目の数以下であるかどうかをテストし、trueまたはfalseを返します。

+

数値を持つブロックをいくつでも足し合わせた結果を返します。 数値を持つブロックには、基本的な数値ブロック、リストまたはテキストの長さ、数値を持つ変数などが含まれます。このブロックはミューテーターであり、合計でより多くの数値を許可するように拡張できます。

最初の数値から2番目の数値を減算した結果を返します。

*

数値を持つブロックをいくつでも乗算した結果を返します。 これはミューテーターブロックであり、製品内でより多くの数を許可するように拡張できます。

/

最初の数値を2番目の数値で除算した結果を返します。

^

最初の数を2のべき乗で累乗した結果を返します。

ランダム整数

指定された値の間にある乱数整数値を返します。 引数の順番は関係ありません。

ランダム分数

0から1の間のランダムな値を返します。

ランダムにシードを設定

このブロックを使用して、乱数の繰り返し可能なシーケンスを生成します。 最初に同じ値を持つ乱数集合seedを呼び出すことで、同じ乱数列を生成できます。 これは乱数を含むプログラムをテストするのに役立ちます。

一連の数値の最小値を返します。 ブロック内にコンセントが抜けている場合、minはその数字の中で0も考慮します。 このブロックはミューテーターとドロップダウンです。

最大

一連の数値の最大値を返します。 ブロックに未接続のソケットがある場合、maxはその番号のセットに0も考慮します。 このブロックはミューテーターとドロップダウンです。

平方根

与えられた数の平方根を返します。

腹筋

与えられた数の絶対値を返します。

与えられた数の負数を返します。

ログ

与えられた数の自然対数、すなわち基数eの対数(2.71828 …)を返します。

e ^

与えられた数のべき乗でe(2.71828 …)を返します。

円形

与えられた数を最も近い整数に四捨五入して返します。 小数部が0.5未満の場合は切り捨てられます。 それは> 0.5ですそれは切り上げられます。 それが.5と完全に等しい場合、偶数の整数部分を持つ数は切り捨てられ、奇数の整数部分を持つ数は切り上げられます。 (この方法は、偶数への丸めと呼ばれます。)

天井

与えられた数以上の最小の整数を返します。

与えられた数以下の最大の整数を返します。

モジュロ

aとbが正の場合、modulo(a、b)は剰余(a、b)と同じです。 より一般的には、(フロア(a / b)×b)+モジュロ(a、b)= aとなるように、aおよびbに対してmodulo(a、b)が定義されます。 たとえば、modulo(11、5)= 1、modulo(-11、5)= 4、modulo(11、-5)= -4、modulo(-11、-5)= -1です。 モジュロ(a、b)は常にbと同じ符号を持ち、剰余(a、b)は常にaと同じ符号を持ちます。

残り

剰余(a、b)は、aをbで除算して余りを取った結果を返します。 残りは、結果の小数部にbを掛けたものです。

たとえば、residual(11,5)= 1です。 


11/5 = 2 1⁄5 


この場合、 1 / 5が小数部です。 これにb、この場合は5を掛け、残りの1を求めます。 

他の例は、剰余(−11、5)= −1、剰余(11、−5)= 1、および剰余(−11、−5)= −1である。

最初の数値を2番目の数値で除算し、結果の小数部分を破棄した結果を返します。

与えられた数のサインを度数で返します。

cos

与えられた数の余弦を度数で返します。

日焼け

与えられた数の正接を度数で返します。

asin

与えられた数の逆正弦を度数で返します。

アコス

与えられた数の逆余弦を度数で返します。

日焼け

与えられた数のアークタンジェントを度数で返します。

atan2

yとxを指定して、y / xのアークタンジェントを返します。

ラジアンを度に変換する

与えられた数値の度数をラジアンで返します。 結果は[0、360)の範囲の角度になります。

度をラジアンに変換

与えられた度数の値をラジアンで返します。 結果は[-π、+π)の範囲の角度になります。

10進数としてフォーマット

小数点以下の桁数を指定して、数値を10進数としてフォーマットします。 桁数は負でない整数でなければなりません。 結果は、数が四捨五入される(場所が多すぎる場合)か、右側にゼロが追加される(少なすぎる場合)ことによって生成されます。

数値です

指定されたオブジェクトが数値の場合はtrueを返し、それ以外の場合はfalseを返します。

番号を変換

1つの基数で正の整数を表すテキスト文字列を受け取り、同じ数を表す文字列を別の基数で返します。 たとえば、入力文字列が10の場合、基数10からバイナリに変換すると文字列1010が生成されます。 入力文字列が同じ10の場合、2進数から10進数に変換すると文字列2が生成されます。入力文字列が同じ10の場合、10進数から16進数に変換すると文字列Aが生成されます。

レファレンス

AI2ロジック

ロジックブロック

  • 本当の
  • ではない
  • =
  • そして
  • または
  • 2つの数が数値的に等しい場合、たとえば1は1.0に等しい場合、それらは等しいです。
  • 2つのテキストブロックが同じ順序で同じ文字を持ち、同じ大文字と小文字が同じであれば、それらは同じです。 たとえば、 bananabananaと同じではありません。
  • 数字がそのテキストで印刷される数字と数値的に等しい場合、数字とテキストは等しくなります。 例えば、12.0は、 1Aの最初の文字をTeafor2最後の文字に結合した結果に等しくなります。
  • 2つのリストが同じ数の要素を持ち、対応する要素が等しい場合、それらは同じです。

レファレンス

AI2コントロール

制御ブロック

if&ifその他

与えられた条件をテストします。 条件が真の場合、与えられた一連のブロックでアクションを実行します。 それ以外の場合、ブロックは無視されます。

与えられた条件をテストします。 結果が真であれば、一連のブロックでアクションを実行します。 それ以外の場合は、-elseブロックのシーケンスでアクションを実行します。

与えられた条件をテストします。 結果が真であれば、一連のブロックでアクションを実行します。 それ以外の場合は、-else ifセクションの文をテストします。 結果が真であれば、一連のブロックでアクションを実行します。 それ以外の場合は、-elseブロックのシーケンスでアクションを実行します。







以下のgifは、if elseミューテーターブロックの使い方を示しています。 

からまでのそれぞれ

fromで始まりtoで終わる範囲内の数値ごとにdoセクションのブロックを実行します。数値はそれぞれbyの値だけ増加します。 現在の値を参照するには、指定された変数名、 番号を使用してください。 必要に応じて、名前番号を他のものに変更できます。

リストのそれぞれについて

リスト内の各項目に対してdoセクションのブロックを実行します。 現在のリスト項目を参照するには、与えられた変数名itemを使用してください。 必要に応じて、名前の項目を他のものに変更できます。

しながら

-test条件をテストします。 trueの場合、-doで指定されたアクションを実行してから、もう一度テストします。 testが偽のとき、ブロックは終了し、-doで与えられた動作はもう実行されません。

それ以外の場合

与えられた条件をテストします。 ステートメントが真の場合、ブロックのthen-returnシーケンスでアクションを実行し、then-return値を返します。 それ以外の場合は、else-returnシーケンスのブロックでアクションを実行し、else-return値を返します。

行う

プロシージャや他のコードブロックでは、何かを実行して何かを返す必要がある場合がありますが、さまざまな理由から、新しいプロシージャを作成する代わりにこのブロックを使用することを選択できます。

評価するが結果は無視する

手続きのdo部分のブロックのシーケンスの1つやifブロックなど、ソケットがない場所に左側にプラグがあるブロックをはめ込むための「ダミーソケット」を提供します。 フィットしたブロックは実行されますが、返された結果は無視されます。 結果を返すプロシージャを定義していても、結果を受け入れないコンテキストでそれを呼び出したい場合に便利です。

別の画面を開く

提供された名前で画面を開きます。

開始値で別の画面を開く

別の画面を開き、それに値を渡します。

開始値を取得

現在の画面に与えられた開始値を返します。

この値は、開始値で別の画面を開くか、値で画面を閉じるかを使用して指定されます 。

画面を閉じる

現在の画面を閉じます。

値で画面を閉じる

現在の画面を閉じて、この画面を開いた画面に値を返します。

アプリケーションを閉じる

アプリケーションを閉じます。

プレーンテキストを取得

この画面が別のアプリによって起動されたときにこの画面に渡されたプレーンテキストを返します。 値が渡されなかった場合は、空のテキストを返します。 マルチスクリーンアプリの場合は、プレーンテキストではなくget get valueを使用します

プレーンテキストで画面を閉じる

現在の画面を閉じて、この画面を開いたアプリにテキストを渡します。 このコマンドは、App Inventorの画面ではなく、App Inventor以外のアクティビティにテキストを返すためのものです。 App Inventorの画面では、複数画面のアプリケーションと同様に、[画面をプレーンテキストで閉じる]ではなく[画面を値で閉じる]を使用します。