7

Const さて、私はの式の制限を理解しようとしていVBScriptます。リテラル以外は使用できませんでした。ドキュメントの内容は次のとおりです。

リテラルまたはその他の定数、またはIsを除くすべての算術演算子または論理演算子を含む任意の組み合わせ

したがって、「すべての算術演算子または論理演算子が含まれている」場合、論理的には次のようなことができると思います。

Const X = (1 + 2)

しかし、それは「期待されるリテラル定数」というエラーをもたらします。私はここで興味深い答えを見つけました。これにより、あるレベルで不正行為を行うことができるため、上記は次のように実行できます。

Execute "Const X = " & (1 + 2)

しかし、私の質問は、標準の定数宣言についてです。たまたまドキュメントが「式は文字通りである可能性がある」のようなものを言った場合、私は決して尋ねません。
それで、私が(文字通り以外に)他に何を使うことができますか?

4

1 に答える 1

4

Script56.chm は、備考セクションで次のように述べています。

定数はデフォルトで public です。プロシージャ内では、定数は常にプライベートです。それらの可視性は変更できません。スクリプト内で、スクリプト レベルの定数の既定の可視性は、Private キーワードを使用して変更できます。

同じ行で複数の定数宣言を組み合わせるには、各定数の割り当てをカンマで区切ります。定数宣言がこのように組み合わされている場合、Public または Private キーワードを使用すると、すべての定数に適用されます。

変数、ユーザー定義関数、または組み込みの VBScript 関数 (Chr など) を定数宣言で使用することはできません。定義上、定数にすることはできません。また、 operator を含む式から定数を作成することもできません。つまり、単純な定数のみが許可されます。Sub または Function プロシージャで宣言された定数は、そのプロシージャに対してローカルです。プロシージャの外で宣言された定数は、それが宣言されているスクリプト全体で定義されます。定数は、式を使用できる場所であればどこでも使用できます。

上記のイタリック体のビットは、「Is 以外のすべての算術演算子または論理演算子を含む任意の組み合わせ」という主張をナンセンスにしています。

于 2013-03-20T03:49:04.037 に答える