特定の変数 x が数字か文字かを判断する (非常に) 小さなコードを作成しようとしています。type(x) のようなものなしで手動で行う必要があります-Pascalにそのようなものがあると仮定します-。
私の計画は、x が数字ではないことを 1 つずつ検証することでした。次に、次のように書きました。
(*let ischar be a boolean and let x be a letter or a number.*)
for i:=0 to 9 do
begin
if (x=i) then
ischar = false;
end;
if ischar then
write('x is a number!');
else
write('x is a letter');
x が文字の場合、テスト "x=i" が false を返すことを期待していましたが、ここでは次のエラーのためにコンパイルすることさえできません: "Got char, expected long int". x と i を比較できないようですが、それはわかっていましたが、その状況下で false を返すと思いました。これを「手で」行う別の方法はありますか?