|
たけのこです。
>\ の機能が " の本来の意味を外
>すということになるとすると、SetFindPack のパラメータの説明で、検索文字列
>は "" でくくれと書いてあることとの兼ね合いはどのようなことになるんでしょ
>うかね?
二重引用符のマクロ中での本来の意味は、文字列のくくりです。
#n = dllfunc( "SetFindPack", "(\"xxx@def.com\",target=header),flag=
transmit=0日前-指定なし, subfolder=1" );
この例で文字列とされる部分は
SetFindPack
と、
("xxx@def.com",target=header),flag=transmit=0日前-指定なし, subfolder=1
ですね(エスケープされた文字は、単なる文字として文字列に取り込まれます)。
で、
#n = dllfunc( "SetFindPack", "("xxx@def.com",target=header),flag=
transmit=0日前-指定なし, subfolder=1" );
と、した場合はどうかといえば、
SetFindPack
と
(
と
,target=header),flag=transmit=0日前-指定なし, subfolder=1
です。
『"("xxx@def.com",target……』の部分で、二重引用符の本来の意味から開き
カッコだけが文字列と見なされ、続くメールアドレスは、パーサ的には訳のわか
らないもの……従って、『式がおかしいです』というエラーが導かれたわけです。
で、
>SetFindPack のパラメータの説明で、検索文字列
>は "" でくくれと書いてあることとの兼ね合いはどのようなことになるんでしょ
>うかね?
検索『文字列』ですから、文字列のくくりとしては二重引用符でくくらなければ
なりません。が、この文字列自体が、SetFindPackのパラメータ文字列中に存在
しますので、二重引用符はエスケープしてやらないと云うことです(面倒な言い
回しだな……)。
ちなみに、ヘルプを確認したら、例ではきちんとエスケープしていますね。
|
|