கணிதஆய்வுகளில் சிக்கலான கோட்டு சமன்பாடுகள் தீர்வுசெய்ய பயன்படும் Octave எனும் கட்டற்ற கணினிமொழி

தற்போது கணிதஆய்வுகள் மட்டுமல்லாது அறிவியல் ஆய்வுகளிலும் சிக்கலான கோட்டு சமன்பாடுகளையும் சாதாரண சமன்பாடுகளையும் தீர்வுசெய்யவேண்டிய நிலை உள்ளது அவ்வாறான சிக்கலான கணக்குகளை மிகஎளிதாக தீர்வுசெய்திட Octave எனும் கட்டற்ற கணினிமொழி உதவுகின்றது இந்த Octave எனும் மேம்பட்ட கட்டற்ற கணினிமொழியானது கட்டற்ற கணினி குழுவின்மூலம் கட்டளைவரிகளின் வாயிலாக சிக்கலான கோட்டு சமன்பாடுகளையும் சாதாரண சமன்பாடுகளையும் தீர்வுசெய்வதற்கான வழிமுறைகள் காணப்படுகின்றன Matlab ஐ பற்றி அறிந்தவர்கள் மிகசுலபமாக அதன் தொடர்ச்சியான இந்த Octave எனும் கட்டற்ற கணினிமொழியை தெரிந்துகொள்ளமுடியும் மிகஅனுபவம் வாய்ந்த கணிதஅறிஞர்கள்கூட தீர்வுகாண அவதிப்படும் சிக்கலான கோட்டு சமன்பாடுகளை மிகஎளிதாக தீர்வுசெய்வதற்கான பலஅரிய கருவிகளை இது தன்னகத்தே கொண்டுள்ளது அடுக்குக்கோவைகள் ,ஒருங்கமைவு சமன்பாடுகள் வேறுபாட்டு சமன்பாடுகள்,வெவ்வேறு இயற்கணித சமன்பாடுகள் போன்ற மிக சிக்கலான சமன்பாடுகளை இதிலுள்ள செயலிகளின் வாயிலாக மிகச்சுலபமாக தீர்வுகாணமுடியும் மேலும் இது சி ,சி++, போர்ட்ரான் போன்ற கணினிமொழிகளில் எழுதபட்ட தகவமைவுகளோடு ஒருங்கிணைந்து செயல்படும் திறன்வாய்ந்ததாகவுள்ளது. இது மிகமேம்பட்ட கணித தீர்வுகாணும் கட்டற்ற கணினிமொழிஎன்பதால் Matlab அல்லது Fortran போன்றவற்றை நன்கு அறிந்தவர்கள் இந்த Octave எனும் கட்டற்ற கணினிமொழியை பயன்படுத்திடுமாறு கேட்டுகொள்ளபடுகின்றது ஏனெனில் மிகச்சிக்கலான கணித சமன்பாடுகளை மணிகணக்கில் முயன்றாலும் தீர்வுசெய்திடமுடியாமல்திண்டாடி சோர்வும் வெறுப்பும் ஏற்படுகின்ற சூழலில் புதியவர்களும் இதன்மூலம்எளிதாக தீர்வுசெய்து கொள்ளமுடியும் என்ற செய்தியை மனதில் கொள்க
இதனுடைய வரைகலையை பயன்படுத்தி தரவுகளை வரைபடமாகவும் அதனைதொடர்ந்து இடைமதிப்புகள் குறிப்பிட்ட மதிப்பு எவ்வாறுஇருக்கும் என யூகித்து கண்டுபிடிக்கவும் முடியும் இது பொது அனுமதிபயன்பாடாக (GNU General Public License)கையடக்கநிலையில் கிடைக்கின்றது.

துவக்கநிலையாளர்கள் Mu எனும் பயன்பாட்டின் உதவியுடன் பைத்தான் எனும் கணினிமொழியை எளிதாக கற்கலாம்

பொதுவாக கணினிமொழிகளுக்கான கருவிகள் அனைத்தும் ஏற்கனவே கணினிமொழியை நன்கு அறிந்தவர்கள் தங்களுடைய திறனை மேலும் மேம்படுத்தி கொள்ளவும் பிழைகளை களையவும் பயன்படுத்தி கொள்ளுமாறு மட்டுமே வெளியிடப்பட்டுவருகின்றன ஆயினும் குறிப்பிட்ட கணினிமொழியை பற்றி அறியாத எந்தவயதுடைய புதியவர்களும் அல்லது துவக்கநிலையாளர்களும் பைத்தான் மொழியை எளிதாகவும் விரைவாகவும் கற்று சிறந்த பைத்தான் மொழி நிரலாளர்களாக வளர உதவவருவதுதான் Mu எனும் பயன்பாடாகும் இது GNU GPLv3என்ற அனுமதியின் அடிப்படையில் Nicholas Tollervey என்பவரால் உருவாக்கப்பட்டு வெளியிடப்பட்டதொரு கட்டற்ற பயன்பாடாகும் இது துவக்கத்தில் Micro:bitஎனும் சிறு கணினியுடன் உருவாக்கப்பட்டிருந்தாலும் இதனுடைய பயன் பரவலாக வளர்ந்து பைத்தான் கணினிமொழியை கற்கும்சிறந்த கருவியாக தற்போது உயர்ந்து-விட்டது இது விண்டோ லினக்ஸ் மேக் ராஸ்பெர்ரி பிஐ ஆகிய எந்தவொரு தளத்திலும் செயல்படும் திறன்மிக்கது இதனை https://codewith.mu/en/download எனும் தளத்திலிருந்து பதிவிறக்கம் செய்தபின் இதனை நிறுவுகை செய்வதற்காக இதில்கூறும் அறிவுரைகளை பின்பற்றி நிறுவுகை செய்து கொள்க அதன்பின்னர் இதனுடைய திரையில் Python 3 என்பதை போன்று தேவையானதை தெரிவுசெய்து கொண்டு நேரடியாக பைத்தான் குறிமுறைரிகளை எழுதத்துவங்கலாம் இதிலுள்ள பட்டிகள் நாம் பயன்படுத்தி கொள்வதற்கு மிகஎளிமையாக உள்ளன மேலும் விவரங்களுக்கு https://codewith.mu/en/tutorials/ என்ற இணையமுகவரிக்கு சென்று அறிந்து கொள்க மேலும் https://www.oreilly.com/programming/free/python-in-education.csp என்ற முகவரியில் கிடைக்கும் பைத்தான் மொழியை கற்பதற்கான கட்டணமற்ற புத்தகத்தை பதிவிறக்கம்செய்து பயன்பெறுக

Decoratorsஐ பயன்படுத்தி பைத்தான் குறிமுறைவரிகளை மேம்படுத்தி கொள்க

பைத்தான் நிரலாளர்கள் பலரும் இந்த Decorators ஐ பயன்படுத்திடுகின்றனர் ஆனால் அதனை பயன்படுத்திடுவதால் என்ன இறுதி விளைவு ஏற்படும் எனஒருசிலர் மட்டுமே புரிந்து கொண்டு அதற்குதக்கவாறு பயன்படுத்திடுகின்றனர் மற்றஅனைவரும் வழக்கம்-போன்று பயன்படுத்துவதுதானே என அதன் இறுதி விளைவுகளைபற்றி தெரிந்து கொள்ளாமலேயே பயன்படுத்தி கொள்கின்றனர் பெரும்பாலும் இந்த Decorators என்பதின் பொதுவான @decorator syntax. சேர்த்து பயன்படுத்தப்படுகின்றது வழக்கம்போன்ற நம்முடைய முதன்முதல் நிரல்தொடரை பைத்தானில் எவ்வாறு உருவாக்குகின்றனர் எனஇப்போது காண்போம்
def get_அனைவருக்கும்_வணக்கம்_function(punctuation):
“””Returns a அனைவருக்கும்,வணக்கம் function, with or without punctuation.”””
def அனைவருக்கும்_வணக்கம்():
print(“அனைவருக்கும்_வணக்கம்”)
def அனைவருக்கும்_வணக்கம்_punctuated():
print(“அனைவருக்கும் வணக்கம்!”)
if punctuation:
return அனைவருக்கும்_வணக்கம்_punctuated
else:
return அனைவருக்கும்_வணக்கம்
if __name__ == ‘__main__’:
ready_to_call = get_அனைவருக்கும்_வணக்கம்_function(punctuation=True)
ready_to_call()
# “அனைவருக்கும்வணக்கம்!” is printed
இந்த துனுக்கு குறிமுறைவரிகளில் get_அனைவருக்கும்_வணக்கம்_function எனும் செயலியானது ஒரு செயலியை திருப்புகின்றது.பின்னர் இந்த திருப்பபட்ட செயலியானது முதலில் அதற்கான செயல்ஒன்று ஒதுக்கீடு செய்யப்பட்டு அதன்பின்னர் அழைக்கப்-படுகின்றது இவ்வாறான நெகிழ்வுதன்மையின் வாயிலாக செயலிகளை பயன்படுத்திக் கொள்ளவும் உருமாற்றுதல் செய்திடவும் திறவுகோலாக இந்த Decoratorsஇன் செயல்கள் அமைகின்றன அடுத்து ஒரு எடுத்துகாட்டினை காண்போம்
import datetime
import time
from app_config import log
def log_performance(func):
def wrapper():
datetime_now = datetime.datetime.now()
log.debug(f”Function {func.__name__} being called at {datetime_now}”)
start_time = time.time()
func()
log.debug(f”Took {time.time() – start_time} seconds”)
return wrapper
@log_performance
def calculate_squares():
for i in range(10_000_000):
i_squared = i**2
if __name__ == ‘__main__’:
calculate_squares()
மேலே கானும் துனுக்கு குறிமுறைவரிகளில் log_performancedecorator என்பதை ஒரு செயலிக்குள் பயன்படுத்திடுகின்றோம் இது எண்களில் வர்க்கமூலங்களை 0 முதல் 10000000வரை கணக்கீடுசெய்கின்றது இதனுடைய வெளியீடு பின்வருமாறு இருக்கும்
$ python decorator_test.py
Function calculate_squares being called at 2018-08-23 12:39:02.112904
Took 2.5019338130950928 seconds
decorator என்பது நம்முடைய குறிமுறைவரிகளில் நெகிழ்வானதும் பராமரிக்க எளிதானதாகவும் செய்ய ஒரு சிறந்த வழியாகஅமைகின்றது. செயல்பாடுகளை இயக்கநேரத்தில் இது சரிபார்ப்பு செய்திடுகின்றது பிழைத்திருத்தவும் செய்வதற்கும் இது பயன்படுகின்றது தனிப்பயன்decoratorஐ நம்முடைய குறிமுறைவரிகளில் எழுதுவது மிகஎளிது, மூன்றாம் தரப்பு குறியீட்டைப் புரிந்துகொள்வதும், ஏற்கனவே எழுதப்பட்ட decoratorஐ புரிந்துகொண்டும் பயன்படுத்தி கொள்க
குறிப்பு இங்குஇந்த python decorator ஐ பற்றி முழுமையாக விளக்கமுற்பட்டால் அதிக பக்கங்களுக்கு நீளும் என்பதால் இரண்டு எடுத்துகாட்டுகளை மட்டும் வழங்கியுள்ளேன் மேலும் விவரங்களுக்கு https://www.learnpython.org/en/Decorators/ எனும் இணைய பக்கத்திற்கு சென்றறிந்து பயன்படுத்தி கொள்க.

பொருட்களுக்கான இணையத்(IOT)திற்கான சிறந்த கட்டற்ற கணினிமொழிகள்

இன்றைய நவீனஉலகில் தானியங்கியான பொருள் போக்குவரத்துகள், தானியங்கியான வண்டிகள், திறன்மிகுந்த வீடுகள் ,திறன்மிகுந்த நகரங்கள் என அங்கிங்கெனாதபடி எங்கெங்கும் இந்த பொருட்களுக்கான இணையத்(IOT)தினை நோக்கி மாறிகொண்டே வருகின்றன இவ்வாறான பொருட்களுக்கான இணையத்திற்கான மென்பொருளை உருவாக்குவதற்கு அடிப்படையாக ஒருசில கணினிமொழிகள் அத்தியாவசிய தேவையாகும் ஜாவா, சி, ஜாவாஸ்கிரிப்ட், பைத்தான், பிஹெச்பி ஆகியன அவ்வாறானவைகளில் கட்டற்ற கணினிமொழிகளாகும்
1.ஜாவா எங்கும் எடுத்துசென்று கையாளமுடிந்த கையடக்கமானதாகவும் எளிதாக கற்று பயன்படுத்தி கொள்ளமுடிந்ததாகவும் இருப்பதால் இதுபொருட்களுக்கான இணையத்(IOT)தில் பயன்பாட்டினை உருவாக்கி சாதனங்களுடன் அல்லது கருவிகளுடன் மிகஎளிதாக பயன்படுத்தமுடிந்தவொரு எளிய கணினிமொழியாக விளங்குகின்றது. கணினியிலிருந்து அல்லது கைபேசியிலிருந்து எந்தவொரு வன்பொருளையும் பொருட்களுக்கான இணையத்(IOT)துடன் இணைக்கும் திறன் மிக்கது .நம்பதகுந்ததாகவும் பாதுகாப்பானதாகவும் குறைந்த செலவாகக்-கூடியாதகவும் அதிகவளங்களை கொண்டதாகவும் பல்வேறு வகையான வன்பொருட்களையும் கையாளுவதை ஆதரிக்கும் தன்மைகொண்டதாகவும் சந்தையில் எளிதாக கிடைக்ககூடியதாகவும் நீண்டகால நோக்கில் பயன்பாடுகளை உருவாக்கிடும் தன்மை மிக்கதாகவும் இது விளங்குகின்றது
2.சி இது அனைத்துவன்பொருட்களோடும் மிகநெருக்கமான அடிப்படையான கணினி மொழியாகும்மேலும் உட்பொதிந்த பயன்பாடுகளை உருவாக்குவதில் திறன்மிக்கதாக விளங்குகின்றது அதனால் பொருட்களுக்கான இணைய(IOT)மென்பொருட்களை விரைவாகும் எளிதாகவும் உருவாக்கமுடியும் பல்வேறு கணினிமொழிகளுக்கும் அடிப்படையாக இந்த சி எனும் கணினிமொழியே இருந்துவருகின்றது இதுஎங்கும் எடுத்துசென்று கையாளமுடிந்த கையடக்கமானதாக இருந்துவருகின்றது முன்கூட்டியே கட்டமைக்கப்பட்ட நிரல்தொடர்கணினிமொழியாக தேவைக்கேற்ப விரிவாக்கதன்மை கொண்டது 32 விசைசொற்களை மட்டும்கொண்டுமுன்கூட்டியே கட்டமைக்கப்பட்ட செயலிகளை கொண்டது
3.பைத்தான் இது பெரும்பாலும் இணைய பயன்பாடுகளை உருவாக்குவதில் பெரும்பங்கு வகிக்கின்றது ஆயினும் பொருட்களுக்கான இணைய(IOT)மென் பொருட்களை உருவாக்குவதில் மிகமுக்கிய பபங்காற்றுகின்றது ஒருசில குறிமுறை-வரிகளை கொண்டு நாம் விரும்பிய பயன்பாடுகளை உருவாக்கி கொள்ள-முடியும் பொதுவாக தரவுகளின் அடிப்படையிலான அட்டவணை தரவுதளம் போன்றவை-களுக்கான பயன்பாடுஎனில் பைத்தான் முதல் வாய்ப்பாகதெரிவுசெய்து கொள்ளலாம் இதனை எளிதாகவும் விரைவாகவும் கற்கவும் அதன்பின்னர் நடைமுறைபடுத்தவும் முடியும் இது கையடக்கமானது எந்தவொரு அமைவையும் சாராதது சிறிய அட்டையிலும் செயல்படும் திறன்மிக்கது மிகச்சிறிய பொருட்களை கையாளுவதற்கான மென்பொருளிற்கு இது மிகவும் பொருத்தமானதாகும்
4.பிஹெச்பி தொழிலகங்கள் அனைத்தும் தானியங்கியாக மாறுகின்ற சூழலில் மையபடுத்தப்பட்ட பயன்பாடுகளை அதன் வழங்கல் பயன்பாடுகளுடன் இணைந்து மேககணினியுடன் ஒத்தியங்குவதற்கு அடிப்படையாக இது அமைகின்றது இதனை நாமேமுயன்று கற்று பயன்படுத்திட எளிதானது அதிக நெகிழ்வுதன்மையுடன் கூடியது ஒருங்கிணைந்துசெயல்படுவதிலும் ஒத்தியங்கவதிலும் எளிதானது மிகத்திறன்மிகுந்த முடிவை வழங்குகின்றது மிககுறைந்த செலவே ஆககூடியது மிக்சசிறு சென்ஸாரிலும் செயல்படும் சேவையாளர் கட்டுப்பாட்டு பயன்பாட்டினை இதன் வாயிலாகவே இதுவரையில் எளிதாக உருவாக்கி பயன்படுத்தபபட்டுவருகின்றது
5.ஜாவாஸ்கிரிப்ட் இணையத்தில் சிறுசிறு மேல்மீட்பு பட்டிகளை உருவாக்குவதில் இது முதன்மையாக இருக்கின்றது அனைத்து இணையஉலாவி பயன்பாடுகளையும் உருவாக்குவதற்காக இதனையே பயன்படுத்தி கொள்ளப்படுகின்றது மிகச்சிறிய ஹப்களையும் சென்ஸார்களையும் செயல்படுத்த உதவும் Node.Jsஎன்பதுஇந்த ஜாவாஸ்கிரிப்ட்டால் இயக்கப்படுகின்றது இது அனைத்து இணையஉலாவிகளையும் ஆதரிக்கின்றது இது பொருட்களுக்கான இணைத்திற்கு மிகபொருத்தமான கணினிமொழியாகும்

நிரல்தொடர் எழுதிடும்திறனை மேம்படுத்தி கொள்வதற்கான வாய்ப்புகள்

பொதுவாக பயனாளர்களாகிய நாமனைவரும் நமக்கு தேவையான கணினி பயன்பாடுகளை உருவாக்குவதற்காக அதற்கென சிறப்பு தகுதிபெற்ற நிரலாளர்களையே நம்பியுள்ளோம் அதிலும் நாம் விரும்பும் குறிப்பிட்ட பயன்பாட்டினை பெற்றுகொண்ட பிறகு அதனை செயல்படுத்திடும்போது எழும் ஏதேனும் சிறுசிறு பிரச்சினைகளையும் சரிசெய்வ-தற்காக அதனை உருவாக்கிய நிரலாளர்தான் நேரில் வந்து சரிசெய்து தீர்வுசெய்திட வேண்டும் எனகாத்திருப்போம் அதற்கு பதிலாக அவைகளைபற்றிய ஒருசில அடிப்படைகளை மட்டும் தெரிந்து வைத்து கொண்டால் பெரியஅளவு சிக்கலிற்கு மட்டும் குறிப்பிட்ட நிரலாளர் வந்தால் போதும் மற்றவைகளை நாமே தீர்வுசெய்து பயன்பாடு தடங்கலில்லாமல் தொடர்ந்து செயல்படசெய்து பயன்படுத்தி கொள்ளலாமே அவ்வாறான நிரல்தொடரின் அடிப்படைகளை அறிந்து தெரிந்து நம்முடைய அறிவை சிறிதளவு மேம்படுத்தி கொள்வதற்காக பின்வரும் இணையதளங்கள் உதவுகின்றன
1.Code Academy என்பது ஒருமிகவும் பிரபலமான நிரல்தொடர்களின் குறிமுறை-வரிகளை எழுதகற்றுகொள்ளஉதவும் இணையதளமாகும் இதில் தற்போது 25மில்லியன் மக்கள் JavaScript ,Command Line, HTML, Angularjs, CSS, Ruby, PHP, Python, jQuery. என்பன போன்றவற்றில் எவ்வாறு குறிமுறைவரிகளை எழுதுவதென கற்றறிந்து பயன்-பெற்றுள்ளனர் இது எளிதான இடைமுகத்துடன் கூடிய குறிமுறைவரிகளை எழுதும் திறனை வளர்த்து கொள்ளச் செய்கின்றது
2.Free Code Camp என்பது மிகவும் கட்டமைக்கப்பட்ட 800 மணிநேரத்தில் நிரலாளர் ஆகுமாறான பாடதிட்டங்களையும் அவைகளை நேரடியாக செயல்படுத்தி பயன்பாட்டு திறனை மேம்படுத்தி கொள்ளும் தன்மையை கொண்டதாகவும் உள்ளது இதுவும் CSS, DevTools, jQuery, HTML5, CSS, React, Node.js, QA testing, Databases, என்பன போன்றவற்றில் குறிமுறைவரிகளை எழுதும் திறனை வளர்த்து கொள்ளஉதவுகின்றது
3.Khan Academyஎன்பதுJS, SQL,Javascript, HTML , CSS என்பன போன்றவைகளின் வாயிலாக நாமே நம்முடைய இணையபக்கத்தினை உருவாக்கி சரிபார்த்து கொள்ளும் வசதியை வழங்குகின்றது இது ஒரு இடைமுக வடிவமைப்பை கொண்டது முன்அனுபவமே இல்லாதவர்கள்கூட எளிதாக குறிமுறைவரிகளை எழுதி அதனை செயல்படுத்தி முடிவு என்னவென அறிந்து கொள்ள இது உதவுகின்றது
4.Code Wars என்பது JavaScript, Clojure, Ruby, CoffeeScript, Haskell, Python போன்றவைகளின் அடிப்படைகளை தெரிந்து கொண்டு இதில் நடத்தபெறும் kata எனும் குறிமுறைவரி போட்டிகளில் கலந்து கொண்டு நமக்கு வழங்கபெறும் மதிப்பெண்களில் படிப்படியாக முன்னேறி வெற்றிபெறலாம்
5.EdXஎன்பது 107 இற்கும் அதிகமான வகை கணினிஅறிவியல் கல்வியை வழங்கு-கின்றது மிகமுக்கியமாகJava, Python, C#, என்பன போன்ற கணினிமொழிகளில் நம்முடைய திறனை மேம்படுத்திட உதவுகின்றது
6.MIT Open Course ware என்பது புதியவர்கள் முதல் அனுபவமிக்கவர்கள் வரை கணினிமொழியில் தங்களின் அறிவை மேம்படுத்தி கொள்ளஇந்த தளம் மிகபயனுள்ள-தாக விளங்குகின்றது மிகமுக்கியமாக சந்தைபடுத்துபவர்கள் வரைகலையாளர்கள் வரகலை-வடிவமைப்பாளர்கள் போன்றவர்கள் தங்களுடைய குறிமுறைவரிகளை மேம்படுத்தி கொள்ள இது பேருதவியாய் இருந்துவருகின்றது

கோ எனும் கணினிமொழியில் கோப்புகளை நகலெடுத்திடும் வழிமுறை

கோ எனும் கணினிமொழியில் கோப்புகளை நகலெடுத்து கொண்டுவந்து சேர்த்திடுவதற்காக பல்வேறு வழிமுறைகள் உள்ளன அவற்றுள் இந்த கோஎனும் கணினிமொழியின் துவக்கப்பதிப்புகளின் நூலகத்தில் உள்ள செயலியான io.Copy()என்பதை கொண்டு செயல்படுத்திடலாம் இது முதலில்உள்ளீடு செய்திடும் கோப்பினை உடனடியாக படித்தறிந்து கொண்டு அதனடிப்படையில் வேறொருகோப்பினை எழுதுகின்றது இவ்வாறு கோப்பினை நகலெடுத்து பிரிதொரு கோப்பாக எழுதி உருவாக்குவதற்கான cp1.goஎனும் குறிமுறைவரிகள் பின்வருமாறு
func copy(src, dst string) (int64, error) {
sourceFileStat, err := os.Stat(src)
if err != nil {
return 0, err
}
if !sourceFileStat.Mode().IsRegular() {
return 0, fmt.Errorf(“%s is not a regular file”, src)
}
source, err := os.Open(src)
if err != nil {
return 0, err
}
defer source.Close()
destination, err := os.Create(dst)
if err != nil {
return 0, err
}
defer destination.Close()
nBytes, err := io.Copy(destination, source)
return nBytes, err
}
இதனைபரிசோதித்து பார்த்திடும்போதுos.Stat(src) எனும் நடப்பு கோப்பானது நகலெடுக்கப்பட்டு sourceFileStat.Mode().IsRegular() எனும் வழக்கமான கோப்பாக செய்யப்படுகின்றது தேவையெனில் இதனை திறந்து படித்து சரிபார்த்து கொள்ளமுடியும் இதில் நகலெடுத்து கொண்டுவந்து சேர்த்திடும்அனைத்து செயல்களும் io.Copy(destination, source)எனும் கட்டளைவரியில் செயல்படுத்தப்படுகின்றது இந்த பணி-முடிவடையும் போது இதுவரை எத்தனை பைட்கள் நகலெடுக்கப்பட்டன அவ்வாறான செயலின்போது ஏற்பட்ட பிழைகள்யாவை எனும்பிழைச்செய்தி பொதுவாக திரையில் காண்பிக்கும்ஆனால் கோஎனும் மொழியில் இவ்வாறான பிழைமதிப்பானது nilஎன்றே காண்பிக்கும்இந்த குறிமுறைவரிகளை செயல்படுத்தினால் அதனுடைய வெளியீடு பின்வருமாறு இருக்கும்
$ go run cp1.go தொடர்ந்து பின்வருமாறான இருகட்டளைவரிகளை செயல்படுத்திடுக
$ go run cp1.go fileCP.txt /tmp/fileCPCOPY , $ diff fileCP.txt /tmp/fileCPCOPY
அதனைதொடர்ந்து அதன் வெளியீடு பின்வருமாறு இருக்கும்
Copied 3826 bytes!
இந்த io.Copy எனும் செயலி பற்றி மேலும் விவரங்களுக்கு https://golang.org/pkg/io/என்ற இணையபக்கத்திற்கு சென்றறிந்து கொள்க

பைத்தான் எனும் கணினிமொழியில் உருவாக்கப்படும் குறிமுறைவரிகளில் எழும் பிரச்சினைகளுக்கு நேர்த்தியான தீர்வைகாணலாம்

ஒருசில வழிமுறைகளை கொண்டு பைத்தான் எனும் கணினிமொழியில் உருவாக்கப்படும் குறிமுறைவரிகளில் எழும் பிரச்சினைகளுக்கு நேர்த்தியான தீர்வைகண்டு மேலும் மேம்படுத்தி கொள்ளமுடியும்
பைத்தான் எனும் கணினிமொழியில் குறிமுறைவரிகளை உருவாக்கிடும்போது இந்த வழிமுறைகளை கொண்டு அக்குறிமுறைவரிகளை மிகமேம்பட்டதாக உயர்த்திகொள்ளமுடியும் எடுத்துகாட்டு குறிமுறைவரிகள் பின்வருமாறு
classMoney:
currency_rates={
‘$’:1,
‘€’:0.88,
}
def__init__(self,symbol,amount):
self.symbol=symbol
self.amount=amount
def__repr__(self):
return’%s%.2f’%(self.symbol,self.amount)
defconvert(self,other):
“”” Convert other amount to our currency “””
new_amount=(
other.amount/self.currency_rates[other.symbol]
*self.currency_rates[self.symbol])
returnMoney(self.symbol,new_amount)
இந்த குறிமுறை வரிகளில் _init__()எனும் வழிமுறையின் வாயிலாக பணத்தினை அதற்கான குறியீட்டின் வாயிலாகவும் பரிமாற்றவிகிதத்தின் வாயிலாகவும் வரையறுத்திடுகின்றோம் தொடர்ந்து _repr__எனும்வழிமுறையின் வாயிலாக அதனை செயல்படுத்திடுகின்றோம். அதனை தொடர்ந்து இதனை அச்சிடமுயலும்போதுMoney எனும் இனத்துடன் Money(‘$’, 2.00) என்றவாறு பணத்திற்கான குறியீட்டுடன் தொகையும் அச்சிடுகின்றது இந்தவழிமுறையானது வெவ்வேறு பணத்திற்கானகுறியீடுகளையும் வெவ்வேறு பணபரிமாற்ற விகிதங்களையும் எளிதாக கையாளுகின்றது என்ற தகவலை மனதில்கொள்க அவ்வாறே வெவ்வேறு உணவுப்-பொருட்களுக்கான பணத்தின் குறியீடுகளையும் அதற்கன பணபரிமாற்ற விகிதங்களையும் இந்த வழிமுறையானது எளிதாக கையாளுகின்றது
>>>soda_cost=Money(‘$’,5.25)
>>>soda_cost
$5.25
>>>pizza_cost=Money(‘€’,7.99)
>>>pizza_cost
€7.99
மேலும்__add__எனும் வழிமுறை நம்முடையMoney எனும் இனத்துடன் இடைமுகம் செய்கின்றது
classMoney:
# … previously defined methods …
def__add__(self,other):
“”” Add 2 Money instances using ‘+’ “””
new_amount=self.amount+self.convert(other).amount
returnMoney(self.symbol,new_amount)
அதுமட்டுமல்லாது இருதொகைகளின்கூடுதலை பின்வருமாறு காணமுடியும்
>>>soda_cost=Money(‘$’,5.25)
>>>pizza_cost=Money(‘€’,7.99)
>>>soda_cost + pizza_cost
$14.33
>>>pizza_cost + soda_cost
€12.61
என்றவாறு புதியதாக தொகைக்கான கூடுதல் அந்தந்த குறியீடுகளின் அடிப்படையில் காணமுடியும் இங்கு __add__எனும் வழிமுறைக்கு பதிலாக +எனும்கூடுதல் குறியீடு அதே பணியை சிறப்பாக செய்கின்றது
இரு தொகைகளை கழித்துவிடை காண __sub__ எனும் வழிமுறையும் பெருக்கிவிடை காண __mul__எனும் வழிமுறையும் உதவுகின்றன
பட்டியலில் குறிப்பிட்டதை காண __getitem__எனும் வழிமுறை பயன்படுகின்றது உதாரணமாக
>>>d={‘one’:1,’two’:2}
>>>d[‘two’]
2
>>>d.__getitem__(‘two’)
2
அதேபோன்று__len__()எனும் வழிமுறையானது
classAlphabet:
letters=’ABCDEFGHIJKLMNOPQRSTUVWXYZ’
def__len__(self):
returnlen(self.letters)
>>>my_alphabet=Alphabet()
>>>len(my_alphabet)
26
என்றவாறு காண உதவுகின்றதுஇவ்வாறு பைத்தான் எனும் கணினிமொழியில் முன்கூட்டியே கட்டமைக்கப்பட்டுள்ள ஒரு சில வழிமுறைகளை கொண்டு நம்முடைய குறிமுறைவரிகளில் எழும் பிரச்சினைகளுக்கு நேர்த்தியான தீர்வைகண்டுமேம்படுத்தி கொள்க

Previous Older Entries