• [0]
  • 改修予定のJIS非互換

  • 投稿者:管理人
  • 投稿日:2015年 8月 4日(火)07時54分53秒
 
十進BASICの現行バージョンには若干のJIS非互換があります。
その多くはヘルプ等に記述されていますが、もれも存在し、また、改修が必要なものもあります。

  • [1]
  • IF … THEN ~ ELSE ~

  • 投稿者:白石 和夫
  • 投稿日:2015年 8月 4日(火)08時12分45秒
 
現行バージョンは文法のチェックがゆるく,
IF … THEN ~ ELSE ~
の~が空の場合にエラーになりません。

IF a=1 THEN ELSE
IF a=1 THEN ELSE LET b=1
IF a=1 THEN LET b=1 ELSE
将来的に改修の対象となりますので,この機能(バグ)に依存したプログラムを書かないようにお願いします。


  • [2]
  • Re: IF … THEN ~ ELSE ~

  • 投稿者:SECOND
  • 投稿日:2015年 8月18日(火)16時56分9秒
 
! THEN~ELSE の空文を禁止すると、反転論理 に強いられる不都合もあります。
! 下は、同じ動作の文ですが、見易い条件式 の書き方が、選べなくなります。

IF N< 0 OR n$="99" OR k$="SKIP" THEN   !← 無視する条件を、個別にチェックしやすい。
ELSE
   PRINT n$
END IF

IF 0<=N AND n$<>"99" AND k$<>"SKIP" THEN   !← 無視する条件が、個別でなくバグになりがち。
   PRINT n$
END IF

!------------------- 2015.8.21
! 例文を、訂正します。

IF N< 0 OR n$="99" OR k$="SKIP" THEN ELSE PRINT n$   !← 無視する条件を、個別にチェックしやすい。

IF 0<=N AND n$<>"99" AND k$<>"SKIP" THEN PRINT n$   !← 無視する条件が、個別でなくバグになりがち。


  • [3]
  • Re: IF … THEN ~ ELSE ~

  • 投稿者:白石 和夫
  • 投稿日:2015年 8月21日(金)09時13分29秒
 
対象は,IF文のみです。
IF区のIF行とELSE行の間を空文にすることは規格上許されます。

>>2
> ! THEN~ELSE の空文を禁止すると、反転論理 に強いられる不都合もあります。
> ! 下は、同じ動作の文ですが、見易い条件式 の書き方が、選べなくなります。
>
> IF N< 0 OR n$="99" OR k$="SKIP" THEN   !← 無視する条件を、個別にチェックしやすい。
> ELSE
>    PRINT n$
> END IF
>
> IF 0<=N AND n$<>"99" AND k$<>"SKIP" THEN   !← 無視する条件が、個別でなくバグになりがち。
>    PRINT n$
> END IF
>

 戻る