ઠીક છે, મને તમારી સૂચનાઓ મળી.
સોફ્ટવેર ડેવલપમેન્ટ અને હાસ્કેલ પ્રોગ્રામિંગની દુનિયા ફેશનની દુનિયા જેટલી જ મજબૂત અને જટિલ હોઈ શકે છે, ચાલો મુખ્ય વિષય પર જઈએ, ઇન્ડેક્સ પરના તત્વની સૂચિ. આ, સામાન્ય રીતે, તેના અનુક્રમણિકાના આધારે હાસ્કેલ સૂચિમાંથી ચોક્કસ ઘટકને કેવી રીતે પુનઃપ્રાપ્ત કરવું તે છે. તે ભરેલા રનવે કબાટમાંથી સંપૂર્ણ કપડાના ટુકડાને પસંદ કરવા સાથે તુલનાત્મક છે. કપડાંની જેમ જ, સૂચિમાંના દરેક ભાગનું પોતાનું આગવું સ્થાન છે.
હાસ્કેલમાં તેના ઇન્ડેક્સ દ્વારા સૂચિ તત્વ પુનઃપ્રાપ્ત કરવું
હાસ્કેલ, અન્ય ઘણી વિધેયાત્મક પ્રોગ્રામિંગ ભાષાઓની જેમ, સૂચિઓને લિંક કરેલી સૂચિ તરીકે વર્તે છે જ્યાં તે કાં તો ખાલી સૂચિ છે અથવા એક મુખ્ય તત્વ છે જેના પછી પૂંછડી સૂચિ છે. હાસ્કેલમાં ચોક્કસ ઇન્ડેક્સ પર તત્વ મેળવવા માટે, તમે '!!' નો ઉપયોગ કરી શકો છો. ઓપરેટર કેટવોક કલેક્શનમાંથી તે સ્ટેન્ડ-આઉટ પીસ પસંદ કરવા તરીકે આનો વિચાર કરો.
let a = [1,2,3,4,5,6] elementAtIndex = a !! 3
આ કોડ સ્નિપેટમાં, અમે છ ઘટકો સમાવિષ્ટ 'a' યાદી બનાવીએ છીએ અને પછી '!!' નો ઉપયોગ કરીએ છીએ. ઑપરેટર ઇન્ડેક્સ 3 પર તત્વને પુનઃપ્રાપ્ત કરવા માટે (યાદ રાખો, હાસ્કેલ સૂચિ ઇન્ડેક્સ 0 થી શરૂ થાય છે, 90 ના દાયકાની શરૂઆતના ગ્રન્જ ફેશનના તદ્દન લઘુત્તમવાદની જેમ, તેમાં ચોક્કસ સરળતા અને સીધીતા સામેલ છે).
કોડ પાછળના કાર્યાત્મક પ્રોગ્રામિંગને સમજવું
સંપૂર્ણપણે સમજવા માટે કેવી રીતે '!!' ઓપરેટર કામ કરે છે, તે સમજવા જેવું છે કે કપડાંનું ચોક્કસ સંયોજન રનવે પર કેવી રીતે આકર્ષક પોશાક બનાવે છે. ઑપરેટર સૂચિ ક્રમમાંથી પસાર થાય છે, જો જરૂરી ઇન્ડેક્સ શૂન્ય ન હોય તો હેડ એલિમેન્ટને કાઢી નાખે છે અને ઇન્ડેક્સને એકથી ઘટાડે છે, જ્યારે ઇન્ડેક્સ શૂન્ય પર પહોંચે છે ત્યારે હેડ પરત કરે છે.
(!!) :: [a] -> Int -> a (x:_) !! 0 = x (_:xs) !! n = xs !! (n-1)
પહેલું પેટર્ન જ્યારે ઇન્ડેક્સ શૂન્ય હોય ત્યારે કેસ સાથે મેળ ખાય છે. તે પછી, તે સૂચિમાં પ્રથમ તત્વ પરત કરે છે, કોઈપણ સહાયક સાથે છટાદાર નાના કાળા ડ્રેસને મેચ કરવા જેટલું સરળ. બીજી પેટર્ન સૂચિની પૂંછડી પર ફંક્શન કોલને પુનરાવર્તિત કરે છે અને ઇન્ડેક્સને ઘટાડે છે. આ રીતે, તે શો-સ્ટોપરને અનાવરણ કર્યા પછી બાકીના ફેશન શોને અનુક્રમિત કરવા જેવું છે.
ઈન્ડેક્સીંગ લાઈબ્રેરીઓ અને કાર્યોની યાદી બનાવો
હાસ્કેલ પ્રોગ્રામિંગના વ્યાપક અવકાશમાં, સૂચિ તત્વોનું અનુક્રમણિકા લાઇબ્રેરીઓ દ્વારા સંચાલિત થઈ શકે છે જેમ કે ડેટા.સૂચિ જે નામનું કાર્ય પૂરું પાડે છે genericIndex. તેવી જ રીતે ડેટા.ક્રમ, એ બીજી લાઇબ્રેરી છે જે ફંક્શન પ્રદાન કરે છે ઇન્ડેક્સ, જે બરાબર આના જેવું કામ કરે છે:
import Data.Sequence example = fromList [1,2,3,4,5,6] result = index example 2
આ પુસ્તકાલયોને પ્રખ્યાત ફેશન હાઉસ તરીકે વિચારો, તેમની કલાત્મકતા અને જટિલતા આપવા માટે હંમેશા તત્પર રહે છે, છતાં તમને જોઈતા ગ્લેમર અને ગ્લોમર સાથે પ્રસ્તુત કરે છે. ટૂંકમાં, જેમ ફેશન તમારી વ્યક્તિગત શૈલીને વ્યક્ત કરવા વિશે છે, હાસ્કેલમાં પ્રોગ્રામિંગ એ સમસ્યાઓના ઉકેલોને ભવ્ય અને સંક્ષિપ્ત રીતે વ્યક્ત કરવા વિશે છે. તે તેના અનુક્રમણિકા દ્વારા સૂચિ તત્વ મેળવવા અથવા જટિલ રિકર્ઝન પેટર્ન બનાવવા જેવું સરળ કાર્ય હોય; હાસ્કેલને તે બધું મળી ગયું છે, જેમ કે તમારા સંપૂર્ણ સ્ટોકવાળા રનવે ક્લો
યાદ રાખો, દિવસના અંતે, રનવે પરની સૌથી સુંદર શૈલી અથવા સૌથી કાર્યક્ષમ અને ભવ્ય કોડ નિયમો દ્વારા નહીં, પરંતુ તેની પાછળના સમજદાર મન દ્વારા ડિઝાઇન કરવામાં આવે છે.