में फ्लोट मानों के दो सरणी जोड़ना कोई भी उदाहरण प्रदान कर सकता है जिसमें हास्केल में दो सरणी शामिल हैं?हास्केल
मैं हास्केल के लिए बिल्कुल नया हूं, और मुझे आम तौर पर पता चलता है कि मैं एक सरल भाषा सीखकर कुछ सीख सकता हूं और देख रहा हूं कि एक और प्रोग्रामर अपनी भाषा में ऐसा कैसे कर सकता है।
कुछ कोड देखना बहुत अच्छा होगा जो फ्लोट के दो सरणी बनाता है और एक फ़ंक्शन को कॉल करता है जिसके परिणामस्वरूप समेकित मानों के साथ एक सरणी होती है। निम्नलिखित सी कोड के बराबर कुछ।
void addTwoArrays(float *a, float *b, float *c, int len) {
int idx=0;
while (idx < len) {
c[idx] = a[idx] + b[idx];
}
}
int N = 4;
float *a = (float*)malloc(N * sizeof(float));
float *b = (float*)malloc(N * sizeof(float));
float *c = (float*)malloc(N * sizeof(float));
a[0]=0.0; a[1]=0.1; a[2]=0.2; a[3]=0.4;
b[0]=0.0; b[1]=0.1; b[2]=0.2; b[3]=0.4;
addTwoArrays(a,b,c,N);
उसी परिणाम प्राप्त करने वाले हास्केल कोड को देखने से मेरी समझ में बहुत मदद मिलेगी। मुझे लगता है कि हैकेल संस्करण परिणाम सरणी बना देगा और इसे वापस करेगा, जैसे c = addTwoArrays (ए, बी, एन)?
धन्यवाद।
या बस बस 'addTwoArrays = zipWith (+) '। – hammar
आप सही हैं, हालांकि मैंने सोचा कि एक नए शिक्षार्थी के लिए, एक करीबी की तुलना में सामान्य कार्य परिभाषा दिखाना बेहतर होगा। चूंकि ये बाद के अध्यायों में विषय हैं :) –
देखें http://www.willamette.edu/~fruehr/haskell/evolution।एचटीएमएल –