Implementing a Stack in F#. Tail Recursion. – The focused generalist

புஷ் அதன் தரவை கையாள அடுக்குகள் தேவைப்படுவதால், இந்த தரவு கட்டமைப்பை செயல்படுத்த வேண்டும். நிச்சயமாக ஒரு .NET செயல்படுத்தல் உள்ளது, இருப்பினும், இது ஒரு “செயல்பாட்டு” தரவு அமைப்பு அல்ல, அது மாறக்கூடியது. எங்களுடைய சொந்த, முற்றிலும் செயல்பாட்டு, மாறாத அடுக்கைச் செயல்படுத்துவது மிகவும் எளிதானது.

F# பட்டியல் என்பது ஒரு அடிப்படை செயலாக்கத்திற்கான தர்க்கரீதியான தேர்வாகும். இது Seq இலிருந்து பெறப்பட்டது (அதாவது அனைத்து IEnumerable சுவைகளையும் செயல்படுத்துகிறது), ஒரு பயனுள்ள நீளமான சொத்து உள்ளது, அதை நாங்கள் எங்கள் ஸ்டேக்கிற்கும் வைத்திருக்க விரும்புகிறோம்:

ஸ்டாக் தொகுதியின் நிலையான உறுப்பினர்களான அடிப்படை செயல்பாடுகளைச் செயல்படுத்துவதுதான் எஞ்சியுள்ளது.

இவை மிகவும் நேரடியானவை. பாப் செயல்பாடு ஒரு சிறிய வினோதத்தைக் கொண்டுள்ளது: ஸ்டாக்கின் தலையின் மதிப்பு மற்றும் “மீதமுள்ள” இரண்டையும் நாங்கள் திரும்பப் பெற விரும்புகிறோம். எனவே இந்த வழக்கில் திரும்பும் வகை ஒரு tuple ஆகும்.

மற்றொரு சிறிய முறைகேடு: ஸ்டேக் செயல்பாடுகள் செயல்படுகின்றன…

Leave a Comment