Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Removed |../../index.htm#lansa/return_e.htm]
現在地:

...

7.105.2 RETURN の使用例

以下の例のサブルーチンは、複雑なIF-ELSE構造の代わりに、RETURNコマンドを使用しています。 SUBROUTINE  NAME

   SUBROUTINE  NAME(MATHS)

...

 PARMS(#F1 #OP #F2 #RS)
DEFINE      FIELD(#F1)

...

 TYPE(*DEC)

...

  LENGTH(7)

...

  DECIMALS(0)

...


DEFINE      FIELD(#OP)

...

 TYPE(*CHAR)

...

 LENGTH(1)

...


DEFINE      FIELD(#F2)

...

 TYPE(*DEC)

...

  LENGTH(7)

...

  DECIMALS(0)

...


DEFINE      FIELD(#RS)

...

 TYPE(*DEC)

...

  LENGTH(15)

...

 DECIMALS(5)

...


IF          COND('

...

#OP =

...

 ''+''')

...


CHANGE      FIELD(#RS)

...

 TO('

...

#F1 + #F2')
RETURN

...


ENDIF
IF          COND('#OP = ''-''')

...


CHANGE      FIELD(#RS)

...

 TO('

...

#F1 - #F2')
RETURN

...


ENDIF
IF          COND('#OP = ''*''')

...


CHANGE      FIELD(#RS)

...

 TO('

...

#F1 * #F2')
RETURN

...


ENDIF
IF          COND('#OP = ''/''')

...


CHANGE      FIELD(#RS)

...

 TO('

...

#F1 /

...

 #F2')
RETURN

...


ENDIF
MESSAGE     MSGTXT('Operation specified is not +,-,

...

* or /')

...


ENDROUTINE