GoSub...Return Statement
একটি সাবরুটিন কল করা হয় যা একটি সাবরুটিন অথবা ফাংশনের একটি লেবেলের মাধ্যমে নির্দেশিত হয়। পরবর্তী প্রদান স্টেটমেন্ট পর্যন্ত লেবেল অনুসরণকারী স্টেটমেন্ট চালানো হয়। পরবর্তীকালে, GoSub স্টেটমেন্ট অনুসরণকারী স্টেটমেন্ট সহ প্রোগ্রাম চালনা বহাল রাখে।
সিনট্যাক্স:
প্যারামিটার দেখুন
প্যারামিটার:
সাব/ফাংশন
স্টেটমেন্ট ব্লক
লেবেল
স্টেটমেন্ট ব্লক
GoSub লেবেল
Exit Sub/Function
লেবেল:
স্টেটমেন্ট ব্লক
প্রদান
End Sub/Function
একটি সাবরুটিন অথবা ফাংশন থেকে একটি লেবেল দ্বারা নির্দেশিত লোক্যাল সাবরুটিন GoSub স্টেটমন্টের সাহায্যে কল করা হয়। লেবেলের নামটি অবশ্যই একটি কোলন (":") দ্বারা শেষ হবে।
যদি প্রোগ্রামটিতে এমন একটি প্রদান স্টেটমেন্ট থাকে যার পূর্বে GoSub বিদ্যমান নয়, তাহলে LibreOffice বেসিক একটি ত্রুটি বার্তা প্রদান করে থাকে। পরবর্তী প্রদান স্টেটমেন্টে পৌঁছার পূর্বে সাব অথবা ফাংশন থেকে একটি প্রোগ্রাম অপসারণ নিশ্চিত করার জন্য 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