.iniファイルからIDが読み取られます。 各IDは区切り文字として単一のスペースで区切られています。 IDを部分文字列の配列に分割すると、配列は空になりますが、出力変数受信者、、IniReadではありません。AHK - 配列がStrSplitから空です。
some.iniファイル
[IDs]
SampleID1 SampleID2 SampleID3
some.ahkファイル
#Persistent
#SingleInstance, force
SendMode, Input
IniRead, Recipients, some.ini, IDs
StringSplit, aRecipients, Recipients, A_Space
; this code wouldn't work either
; aRecipients := StrSplit(Recipients, A_Space)
F1::
MsgBox % aRecipients[0]
Return
AHKバージョン:1.1.24.01
@ 2501で、これは配列ではなく、擬似配列です。したがって、OPのオリジナルコードは、3番目の数字(長さが0番目の要素)を表示する 'MsgBox%aRecipients0'と最初のID(' SampleID1')を示す 'MsgBox%aRecipients1'のように動作します。 – PGilm
@ 2501が説明した**コマンド**の 'StringSplit、OutputArray、InputVar [、区切り文字、OmitChars]'と**関数** 'StrSplit(String [、区切り文字、OmitChars])の間には違いがあります。 'StringSplit'コマンドは本当に"擬似配列 "を' OutputArray'パラメータに返します。関数 'StrSplit()'はarrayを返します。ここで、 "0"要素はfalseで長さは 'array.Length()'です。 OPは彼の 'StrSplit()'にコメント ";このコードはどちらもうまくいきません"とコメントしました。そうだろう。 – Bob