このように定義された Inno Setuo Preprocessor 配列があります
#dim MYARRAY[3]
#define MYARRAY[0] 'foo'
#define MYARRAY[1] 'bar'
#define MYARRAY[1] 'baz'
いいえ、その配列を反復処理して、その内容を翻訳に入れたいと思います (動作しない):
#define i 0
#define NUMBERELEMENTS 3
#for {i = 0; i < NUMBERELEMENTS; i++} {#MYARRAY[i]}
ただし、次のことが機能していることがわかりましたが、これが唯一の実行可能な方法ですか? i
「グローバル」変数として使用するのは気分が悪く、 a を単純に使用するのは#sub
間違っています。
#sub mysub
{#MYARRAY[i]}
#endsub
#for {i = 0; i < NUMBERELEMENTS; i++} mysub
編集:
私を困惑させたのは、以下は翻訳で何も生成しないということです:
#define GetElement() MYARRAY[i]
#for {i = 0; i < NUMBERELEMENTS; i++} GetElement(i)
MYARRAY
翻訳の要素ごとに 1 行のコンテンツが生成されると思っていました。