「変数」の版間の差分
(同じ利用者による、間の15版が非表示) | |||
1行目: | 1行目: | ||
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/general/variable/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}} | |||
変数は、AliceScriptにおける主要な概念の一つです。変数は、任意の場所で宣言定義でき、その値を取り出したり代入することができます。 | 変数は、AliceScriptにおける主要な概念の一つです。変数は、任意の場所で宣言定義でき、その値を取り出したり代入することができます。 | ||
この記事では、多くの変数に共通する事項を説明した後、それぞれの型の特徴について説明します。 | この記事では、多くの変数に共通する事項を説明した後、それぞれの型の特徴について説明します。 | ||
6行目: | 8行目: | ||
var a = 123; | var a = 123; | ||
print(a); | print(a); | ||
通常、変数に代入されるのは常にその値です。つまり、ある変数に式の値を代入するとその値への参照が代入されます。 | |||
通常、変数を定義する際は次の形で宣言します。 | 通常、変数を定義する際は次の形で宣言します。 | ||
var (修飾子) 名前 = 値; | var (修飾子) 名前 = 値; | ||
=ローカル変数とスコープ= | =ローカル変数とスコープ= | ||
変数はその有効な範囲内で、一意な名前である必要があります。この範囲をその変数のスコープと呼びます。スコープの範囲内では、同じ名前の変数を定義することはできませんし、反対にスコープの外に出ると、その範囲内で定義した変数は使用できません。 | 変数はその有効な範囲内で、一意な名前である必要があります。この範囲をその変数のスコープと呼びます。スコープの範囲内では、同じ名前の変数を定義することはできませんし、反対にスコープの外に出ると、その範囲内で定義した変数は使用できません。 | ||
41行目: | 44行目: | ||
型には次の種類があります。 | 型には次の種類があります。 | ||
==variable型== | ==variable型== | ||
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/api/variable/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}} | |||
<code>variable</code>型は、すべての変数の値を表します。<code>variable</code>型は等値演算子をサポートします。この型から文字列型にのみ暗黙的な変換をサポートします。<code>variable</code>型のメソッドは次の通りです。 | <code>variable</code>型は、すべての変数の値を表します。<code>variable</code>型は等値演算子をサポートします。この型から文字列型にのみ暗黙的な変換をサポートします。<code>variable</code>型のメソッドは次の通りです。 | ||
*[[variable型のメソッド#Dispose|variable.Dispose]] | *[[variable型のメソッド#Dispose|variable.Dispose]] | ||
50行目: | 56行目: | ||
*[[variable型のメソッド#Type|variable.Type]] | *[[variable型のメソッド#Type|variable.Type]] | ||
*[[variable型のメソッド#Convert|variable.Convert]] | *[[variable型のメソッド#Convert|variable.Convert]] | ||
==number型== | ==number型== | ||
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/api/number/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}} | |||
数値型は実数を表します。数値型は算術、比較、等値演算子をサポートしています。 | 数値型は実数を表します。数値型は算術、比較、等値演算子をサポートしています。 | ||
58行目: | 68行目: | ||
数値型への暗黙的な変換は存在しません。型変換演算子を使用するか<code>Convert</code>メソッドを使って、文字列型、<code>bool</code>型、<code>bytes</code>型からの明示的な変換がサポートされています。また、数値型専用のメソッドは存在しません。この型の型指定修飾子は<code>number</code>です。 | 数値型への暗黙的な変換は存在しません。型変換演算子を使用するか<code>Convert</code>メソッドを使って、文字列型、<code>bool</code>型、<code>bytes</code>型からの明示的な変換がサポートされています。また、数値型専用のメソッドは存在しません。この型の型指定修飾子は<code>number</code>です。 | ||
AliceScriptの数値型では小数点以下の計算が予想通りにいかない場合があります。[[数値型の計算誤差]]の記事を参照してください。 | |||
==bool型== | ==bool型== | ||
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/api/bool/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}} | |||
<code>bool</code>型は、ブール値の論理数を表します。<code>bool</code>型は論理、比較、等値演算子をサポートしています。 | <code>bool</code>型は、ブール値の論理数を表します。<code>bool</code>型は論理、比較、等値演算子をサポートしています。 | ||
65行目: | 81行目: | ||
<code>bool</code>型への暗黙的な変換は存在しません。特に、WSOFTScriptとは違い数値型の代わりに値を使用することはできません。また、文字列型、数値型、<code>bytes</code>型からの明示的変換がサポートされます。<code>bool</code>型専用のメソッドは存在しません。この型の型指定修飾子は<code>bool</code>です。 | <code>bool</code>型への暗黙的な変換は存在しません。特に、WSOFTScriptとは違い数値型の代わりに値を使用することはできません。また、文字列型、数値型、<code>bytes</code>型からの明示的変換がサポートされます。<code>bool</code>型専用のメソッドは存在しません。この型の型指定修飾子は<code>bool</code>です。 | ||
==bytes型== | ==bytes型== | ||
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/api/bytes/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}} | |||
<code>bytes</code>型は、バイナリデータ配列を表します。<code>bytes</code>型は比較、等値演算子をサポートしています。 | <code>bytes</code>型は、バイナリデータ配列を表します。<code>bytes</code>型は比較、等値演算子をサポートしています。 | ||
71行目: | 91行目: | ||
<code>bytes</code>型への暗黙的な変換は存在しません。また、文字列型、数値型、<code>bool</code>型からの明示的変換がサポートされます。<code>bytes</code>型専用のメソッドは存在しません。 | <code>bytes</code>型への暗黙的な変換は存在しません。また、文字列型、数値型、<code>bool</code>型からの明示的変換がサポートされます。<code>bytes</code>型専用のメソッドは存在しません。 | ||
==none型== | ==none型== | ||
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/api/none/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}} | |||
<code>none</code>型の有効な値は唯一<code>null</code>です。この型は<code>null</code>をとります。また、<code>null</code>型は比較演算子のみをサポートします。 | <code>none</code>型の有効な値は唯一<code>null</code>です。この型は<code>null</code>をとります。また、<code>null</code>型は比較演算子のみをサポートします。 | ||
<code>null</code>の値を表す定数が<code>null</code>として定義されています。 | <code>null</code>の値を表す定数が<code>null</code>として定義されています。 | ||
77行目: | 101行目: | ||
==string型== | ==string型== | ||
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/api/string/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}} | |||
文字列型は、テキストを一連のUTF-16コード単位として表現します。文字列型は結合、比較、等値演算子をサポートしています。 | 文字列型は、テキストを一連のUTF-16コード単位として表現します。文字列型は結合、比較、等値演算子をサポートしています。 | ||
文字列型の規定値は空の文字列<code>””</code>です。また、この型の型指定修飾子は<code>string</code>です。 | 文字列型の規定値は空の文字列<code>””</code>です。また、この型の型指定修飾子は<code>string</code>です。 | ||
104行目: | 131行目: | ||
==array型== | ==array型== | ||
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/api/array/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}} | |||
配列型は、インデックスを使用してアクセスできる変数のリストを表します。配列型は、結合、比較、等値演算子をサポートしています。 | 配列型は、インデックスを使用してアクセスできる変数のリストを表します。配列型は、結合、比較、等値演算子をサポートしています。 | ||
配列型の規定値は空の配列<code>[]</code>です。この型は<code>null</code>をとり得ます。この型の型指定修飾子は<code>array</code>です。 | 配列型の規定値は空の配列<code>[]</code>です。この型は<code>null</code>をとり得ます。この型の型指定修飾子は<code>array</code>です。 | ||
128行目: | 158行目: | ||
==delegate型== | ==delegate型== | ||
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/api/delegate/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}} | |||
デリゲート型は、匿名関数のように一連のステートメントのまとまりを表します。デリゲート型は結合、比較、等値演算子をサポートしています。 | デリゲート型は、匿名関数のように一連のステートメントのまとまりを表します。デリゲート型は結合、比較、等値演算子をサポートしています。 | ||
デリゲート型の規定値は空のステートメント<code>{}</code>です。この型は<code>null</code>をとり得ます。デリゲート型への暗黙的な変換と明示的な変換の両方はサポートされていません。この型の型指定修飾子は<code>delegate</code>です。 | デリゲート型の規定値は空のステートメント<code>{}</code>です。この型は<code>null</code>をとり得ます。デリゲート型への暗黙的な変換と明示的な変換の両方はサポートされていません。この型の型指定修飾子は<code>delegate</code>です。 | ||
139行目: | 172行目: | ||
==type型== | ==type型== | ||
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/api/alice/interpreter/type/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}} | |||
<code>type</code>型は、変数の型を表します。<code>type</code>型は比較、等値演算子をサポートしています。<code>type</code>型の規定値は、<code>type.None</code>です。<code>type</code>型への暗黙的な変換はサポートされていませんが、文字列型からの明示的な変換はサポートされます。この型の型指定修飾子は<code>type</code>です。<code>type</code>型のメソッドには次のものがあります。 | <code>type</code>型は、変数の型を表します。<code>type</code>型は比較、等値演算子をサポートしています。<code>type</code>型の規定値は、<code>type.None</code>です。<code>type</code>型への暗黙的な変換はサポートされていませんが、文字列型からの明示的な変換はサポートされます。この型の型指定修飾子は<code>type</code>です。<code>type</code>型のメソッドには次のものがあります。 | ||
*[[Type型のメソッド#Activate|type.Activate]] | *[[Type型のメソッド#Activate|type.Activate]] | ||
[[Category:基本]] | [[Category:基本]] |