Python හි callback ශ්රිත
Python හි ශ්රිත අනෙක් ශ්රිතවල පරාමිතීන් ලෙස යැවිය හැකිය. මෙමගින් ශ්රිත විචල්යයන් ලෙස (වක්ර කොටු යට ගත නොකර) යවනු ලබන අතර ඒවා callback ලෙස හැඳින්වේ. මෙම callback ශ්රිත ප්රධාන ශ්රිතයේ ශරීරය තුළ ක්රියාත්මක වේ.
අප සතුව test ලෙස ශ්රිතයක් ඇතැයි සිතමු,
එය පරාමිතියක් ලෙස අංකයක් සහ
ශ්රිතයක් ගනී:
def test(num, func):
pass
දැන් අපි func ලෙස ශ්රිතයක් නිර්මාණය කරමු,
එය අංකයක් වර්ග බලයට
ඉහළ නංවයි:
def func(num):
return num ** 2
දැන් අපි test වෙත ආපසු යමු සහ එහි
ශරීරයට කේතය එක් කරමු, එවිට පරාමිතියට
යවන ලද callback ශ්රිතය ද පරාමිතියක් ලෙස
අංකයක් ගනී. අවසානයේදී, test හි ප්රතිඵලය වන්නේ වෙනත්
ශ්රිතයක ක්රියාකාරීත්වයයි, ඒ සඳහා අංකය
test හි පළමු පරාමිතියෙන් ගනු ලැබේ:
def test(num, func):
print(func(num))
ඊළඟට අපි test ශ්රිතය කැඳවමු සහ
එයට පළමු පරාමිතිය ලෙස 3, සහ
දෙවන පරාමිතිය ලෙස - func යවමු:
test(3, func) # 9 ප්රතිදානය කරයි
පහත කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය කුමක්ද:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)