0

マクロを作成するとき、1 桁または 2 桁の数字の後に "." が続く変数 {$#2} があるか、またはそうではありません。そのように開始されたら、番号を rexxvar に入れたいと思います。これを C と呼んでいます。

私が試してみました

#if [ DATATYPE(LEFT({$#2},1), "W") ]                             \
#evaluate ^^ ^parse '{$#2} C '.' .^                              \
#endif                                                           \

これと、考えられるすべてのバリエーションで、 #IF 行に無効な文字が含まれているというエラーが発生します。

どうすればいいですか?

PPWizard と Regina を使用していますが、どちらのタグも作成できません。

ありがとうイアン

4

2 に答える 2

1

私はPPWizardを使用していないので、これはすべて間違っている可能性がありますが、

PPWizard #ifを見ると、 if はどちらかでなければなりません

#if DATATYPE(LEFT({$#2},1), "W")   

また

#if [ DATATYPE(LEFT({$#2},1), "W") <> 0 ]  

しかし、{$#2} を埋め込むことができるかどうかはわかりません (PPWizard はわかりません)。


parse ステートメントの場合、これらのいずれかが必要な場合があります

#evaluate ^^ ^parse value '{$#2}' with C '.' .^ 

また

#evaluate ^^ ^parse var {$#2} C '.' .^ 

rexx 解析構文を参照してください


別の方法として、Define Rexxタグを試して、rexx で実行することもできます。より多くの人が純粋なrexxであなたを助けることができます. つまり、rexx は次のようになります。

if  DATATYPE(LEFT(value_to_process,1), "W") then do
    parse var value_to_process C '.'
end

ここで、value_to_process はチェックする値です (つまり、{$#2})。

于 2013-11-24T00:44:04.987 に答える