હલ: સૂચિમાં આઇટમની ગણતરી મેળવો

ચોક્કસ, ચાલો તેમાં ડૂબકી મારીએ.

પ્રોગ્રામિંગ ઘણી બધી ચિંતાઓથી ભરેલું છે અને તેમાંથી એક લિસ્ટ સાથે કેવી રીતે કામ કરવું તે શીખી રહ્યું છે. હાસ્કેલમાં **સૂચિઓ** એ સજાતીય ડેટા માળખું છે જે એક જ પ્રકારની બહુવિધ વસ્તુઓને સંગ્રહિત કરી શકે છે, જે તેમને વિવિધ સમસ્યાઓના ઉકેલ માટે યોગ્ય બનાવે છે. આજે, અમે યાદીઓ પર એક સરળ છતાં ઉપયોગી કામગીરીની ચર્ચા કરવા જઈ રહ્યા છીએ - એક વસ્તુની ગણતરી.

**Haskell** માં, અમે આ સુંદર અને કાર્યક્ષમ પ્રોગ્રામિંગ ભાષાની કેટલીક બિલ્ટ-ઇન કાર્યક્ષમતાનો ઉપયોગ કરીશું.

import Data.List (genericLength)
itemCount :: Eq a => a -> [a] -> Int
itemCount a = fromIntegral . genericLength . filter (== a)

વિગતવાર ઉકેલ

ઉપરોક્ત કોડ સ્નિપેટ હાસ્કેલ ટૂલ્સના સંયોજનનો ઉપયોગ કરે છે, જેમ કે સામાન્ય લંબાઈ, ફિલ્ટર અને સમાનતા ઓપરેટર. ફંક્શન `આઇટમકાઉન્ટ` સૂચિમાં આઇટમ કેટલી વખત આવે છે તેની ગણતરી કરે છે.

ફંક્શન `આઇટમકાઉન્ટ` બે પેરામીટર્સ લે છે: `a`, શોધવા માટેનું એક તત્વ અને ઘટકોની સૂચિ `[a]`. ફંક્શન પછી ફિલ્ટર લાગુ કરે છે જે એક નવી સૂચિ બનાવે છે જેમાં ફક્ત એવા ઘટકોનો સમાવેશ થાય છે કે જેના માટે અનુમાન `== a` સાચું છે. તે પછી genericLength નો ઉપયોગ કરીને અનુસરવામાં આવે છે, જે લંબાઈ કાર્યનું વધુ સામાન્ય સંસ્કરણ છે, જે ચોક્કસ આઇટમની ગણતરી મેળવવા માટે સૂચિની લંબાઈને માપે છે.

અહીં એક્ઝેક્યુશનનો ક્રમ છે:

1. સૂચિ સ્કેન કરવામાં આવે છે અને ફિલ્ટરનો ઉપયોગ કરીને 'a' ના તમામ ઉદાહરણો કાઢવામાં આવે છે.
2. સામાન્ય લંબાઈનો ઉપયોગ કરીને આ ઉદાહરણોની ગણતરી કરવામાં આવે છે.

હાસ્કેલ પુસ્તકાલયો અને કાર્યો વિશે

સોલ્યુશન પ્રમાણભૂત **હાસ્કેલ લાઇબ્રેરીઓ અને ફંક્શન્સ** જેમ કે જેનરિક લેન્થ અને ફિલ્ટરનો ઉપયોગ કરે છે.

`genericLength` ફંક્શન એ Haskell માં Data.List લાઇબ્રેરીનો ભાગ છે. તે નિયમિત લંબાઈના કાર્યનું વધુ સામાન્યકૃત સંસ્કરણ છે કારણ કે તે કોઈપણ પ્રકારની સૂચિ લઈ શકે છે અને સૂચિમાં વસ્તુઓની કુલ સંખ્યાને રજૂ કરતી સંખ્યા પરત કરી શકે છે.

બીજી તરફ `ફિલ્ટર` ફંક્શન, પ્રસ્તાવનાથી સંબંધિત છે. તે ઉચ્ચ-ક્રમનું કાર્ય છે જે પૂર્વધારણા અને સૂચિ લે છે અને પૂર્વધારણાને સંતોષતા તત્વોની સૂચિ પરત કરે છે.

હાસ્કેલમાં 'Eq' નો ઉપયોગ

કોડ સ્નિપેટમાં, તમે જોશો કે અમે ફંક્શન સિગ્નેચરમાં Eq a નો ઉલ્લેખ કરીએ છીએ. હાસ્કેલમાં `Eq` એ ટાઇપક્લાસ છે. તે સમાનતા વિધેયોને વ્યાખ્યાયિત કરે છે જેમાં `==` અને `/=`નો સમાવેશ થાય છે, સમાનતા પરીક્ષણનો ઉપયોગ કરવા માંગતા તમામ પ્રકારો આ વર્ગનો દાખલો હોવો જોઈએ.

છેવટે, સકારાત્મકતા અને સુઘડતા એ ફેશનની જેમ શક્તિશાળી કોડના કેન્દ્રમાં છે. હાસ્કેલ જેવી કાર્યાત્મક ભાષાઓ અને ઉચ્ચ ફેશન વચ્ચે મજબૂત સમાનતા એ છે કે તે બંને આપણને આપણી જાતને વ્યક્ત કરવા માટે સાધનો અને સંમેલનો પ્રદાન કરે છે અને આપણે જે ભાષાઓનો ઉપયોગ કરીએ છીએ તે અંતિમ પરિણામને આકાર આપે છે.

તે નોંધ પર, અન્વેષણ કરવાનું ચાલુ રાખો, કોડિંગ કરતા રહો અને ફેશન રનવે પરના શો સ્ટોપરની જેમ, તમારી વિચિત્ર અને અનન્ય કોડ શૈલી સાથે માથું ફેરવતા રહો.

સંબંધિત પોસ્ટ્સ:

પ્રતિક્રિયા આપો