GoSub...Return Statement

์„œ๋ธŒ๋ฃจํ‹ด ๋˜๋Š” ํ•จ์ˆ˜์—์„œ ๋ ˆ์ด๋ธ”์ด ๋‚˜ํƒ€๋‚ด๋Š” ์„œ๋ธŒ๋ฃจํ‹ด์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ด๋ธ” ๋’ค์— ์˜ค๋Š” ๋ฌธ์€ ๋‹ค์Œ Return ๋ฌธ์„ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ GoSub ๋ฌธ ๋’ค์— ์˜ค๋Š” ๋ฌธ๋ถ€ํ„ฐ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์ด ๊ณ„์†๋ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ฌธ:

๋งค๊ฐœ ๋ณ€์ˆ˜ ์ฐธ์กฐ

๋งค๊ฐœ ๋ณ€์ˆ˜:

Sub/Function

๋ฌธ ๋ธ”๋ก

๋ ˆ์ด๋ธ”

๋ฌธ ๋ธ”๋ก

GoSub Label

Exit Sub/Function

Label:

๋ฌธ ๋ธ”๋ก

Return

End Sub/Function

GoSub ๋ฌธ์€ ์„œ๋ธŒ๋ฃจํ‹ด ๋˜๋Š” ํ•จ์ˆ˜์—์„œ ๋ ˆ์ด๋ธ”์ด ๋‚˜ํƒ€๋‚ด๋Š” ๋กœ์ปฌ ์„œ๋ธŒ๋ฃจํ‹ด์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ด๋ธ” ์ด๋ฆ„์€ ์ฝœ๋ก (":")์œผ๋กœ ๋๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๊ณ  ์•„์ด์ฝ˜

Return ๋ฌธ ์•ž์— <GoSub๊ฐ€ ์—†์„ ๊ฒฝ์šฐ LibreOffice Basic์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ Return ๋ฌธ์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— Sub ๋˜๋Š” Function์„ ๋๋‚ด๋ ค๋ฉด Exit Sub ๋˜๋Š” Exit Function์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


๋‹ค์Œ์€ GoSub ๋ฐ Return ์‚ฌ์šฉ์„ ๋ณด์—ฌ ์ฃผ๋Š” ์˜ˆ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์—ญ์„ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•จ์œผ๋กœ์จ ํ”„๋กœ๊ทธ๋žจ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋‘ ์ˆซ์ž์˜ ์ œ๊ณฑ๊ทผ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ:

Sub ExampleGoSub

Dim iInputa As Single

Dim iInputb As Single

Dim iInputc As Single

    iInputa = Int(InputBox("Enter the first number: ","NumberInput"))

    iInputb = Int(InputBox("Enter the second number: ","NumberInput"))

    iInputc=iInputa

    GoSub SquareRoot

    Print "The square root of";iInputa;" is";iInputc

    iInputc=iInputb

    GoSub SquareRoot

    Print "The square root of";iInputb;" is";iInputc

    Exit Sub

SquareRoot:

    iInputc=sqr(iInputc)

    Return

End Sub