|
あるサブルーチンの最後に、文字列の比較を行い、同じ場合は 1 を返し、違う場
合は0を返す。んで、呼び出し元で、返り値によって、処理を分岐するというよう
なマクロコードを書いてます。
loaddll "tkinfo.dll";
call test;
#r = result;
if(#r){
message "同じだった!";
endmacro;
}else{
message "違ってた!";
endmacro;
}
test:
$str1 = "A";
$str2 = "B";
if($str1 == $str2){
message "同じ!";
return 1;
}else{
message "違う!";
return 0;
}
たとえば上記のようなコードで、
$str1 = "A";
$str2 = "A";
として、実行すると、
「同じ!」「同じだった!」となって、こちらは期待する動作なのですが、
$str1 = "A";
$str2 = "B";
として実行すると
「違う!」「同じだった!」となってしまいます。つまりどちらの場合も、サブ
ルーチンからの result は 1 が返っているようなのです。
どのようなコードを書けば、0 を返すことができるのでしょうか?
----
ぱと
|
|