【なるおコラム】IS NUMERICとTEST-NUMVALの処理の違いって?

なるお)係長ぎもーん

係長)なんで軽いんだよ…

な)いやー、TEST-NUMVALは箱の桁を左から一つ一つ判定するって言ってましたけど、NUMERICは違うんすか?

係)うお!なんて質問するんだよ!

な)え、なんか変なこと、放送禁止コード的なこと言いました!?

係)お前がまさかまともな技術質問をしてくると思ってなかった。

な)失敬な!ほんと失敬!マジ失敬!失敬で死刑っすよ!

係)当然違うぞ。

な)なんでスルー!?

係)まず、TEST-NUMVAL の検査方法は、人間と同じで、文字読みしていると。

前のとおり、TEST-NUMVAL は人間のように左から右へ、1文字ずつ読んでいき、そのどこに文字が含まれているか判定する。

だから「3文字目に変なアルファベットがある」というように、エラーの位置を特定して教えてくれるわけだ。

一方で、IS NUMERIC も「数字のビットパターンだけかどうか」というTEST-NUMVALとはちょっと違う処理を行うんだが、判定しかしない。特定もしない。それが数字かどうかのYESかNOだけの世界だ。

だから、IS NUMERIC は「どこが悪いか」なんて探してるわけではない。

純度100%の数字じゃない、って一瞬で弾き飛ばしているだけってことだな。

な)純度って…、それ、よく使ってるワードっすか?純度99.9%の白いアレみたいに。

係)なんでだよ…

な)あ、でもでも、さっきのようにこぼるんはスペースを入れるとかいらないことしちゃう子なんだから、NUMERICは使わないほうが良く良くないっすか?

係)政府や銀行のシステムで「1億人分のデータ」を処理する時、文字がここに含まれているっていう特定がいらないんだったら、ただ処理が遅くなるだけだろ。

そういうときはスピードが欲しいからこそ、判定だけでいいってことになるわけだ。

な)あーだからスピードがうんぬんとか言ってたわけっすか…。スピード狂なのは知ってましたけど

係)どこからどう知るんだよ。

そういった使い分けができるのがCOBOLってわけでもあるからな。

な)はー。わざわざ用意してるんすね…用意周到、準備万端、綿密計画…やっぱ係長が犯人なんじゃ?

係)だからなんでそこに結びつけるんだよ!

な)えー、そのほうが合点がいくから?

係)だからなんの合点なんだよ…

な)いや、それはこちらの方で処理しますので、ええ。通報するかどうかの話ぐらいなもんで…

係)今の話のどこに通報する意味合いが含まれてんだよ!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次