मैं पिछले कुछ वर्षों में AdventOfCode समाधानों को देखकर मुझे कुछ F # सीखने की कोशिश कर रहा था। मैं इस neat peice of code, जो मैं बिल्कुल पार्स नहीं कर सकता भर में आया था:डिबगिंग Seq.sumBy
i 1|>Seq.sumBy(" (".IndexOf)
ध्यान दें, मेरा मानना है कि मैं पहले लाइन (लिंक में) को समझते हैं:
let i n=System.IO.File.ReadAllText(sprintf "%s/input/input%d.txt"__SOURCE_DIRECTORY__ n)
कौन सा एक समारोह i
कि एक लेता है बनाता है integer n
और फ़ाइल inputN.txt को पढ़ता है और इसे एक स्ट्रिंग के रूप में देता है। इसलिए i 1
एक स्ट्रिंग के रूप में input1.txt
देता है।
फिर |>
सिर्फ स्ट्रिंग पाइप (या वर्ण की सरणी?) अगले समारोह के लिए सबसे पहले परम है, जो है Seq.sumBy
लेकिन फिर चीजें टूट शुरू के रूप में ...
sumBy सीधे लगता है आगे पर्याप्त:
सूची के प्रत्येक तत्व में फ़ंक्शन को लागू करके उत्पन्न परिणामों का योग देता है।
लेकिन स्ट्रिंग " ("
के IndexOf
ने मुझे परेशान किया है।
अब, मुझे वास्तव में कोई मछलियों को नहीं चाहिए, मैं यह जानना चाहता हूं कि यह क्या है। इस विदेशी भाषा के लिए नौसिखिया के रूप में, जैसा कि मैं एफ # के अधिक बिट्स काम करना सीखता हूं, मैं इस कोड का टुकड़ा कैसे ले सकता हूं और इसे समझने के लिए इसे छोटे टुकड़ों में विघटित कर सकता हूं कि क्या हो रहा है? यह मुझे पागल कर रहा है कि मेरे पास समाधान है, google/so है, और मैं अभी भी इस कोड को समझ नहीं पा रहा हूं।
क्या कोई मुझे कुछ छोटे स्निपेट दिखा सकता है ताकि मैं स्वयं जवाब खोज सकूं?
मैं शुरू में रीड का जवाब है, जो मुझे बेहद मदद मिली स्वीकार कर लिया। लेकिन मार्क का जवाब एफएसआई में अपने वर्णनात्मक उदाहरणों के साथ शानदार रूप से "मेरी मदद डीबग" पर हिट हुआ। दोनों उत्कृष्ट हैं। और मेरी मदद करने के लिए एक महान एफ # समुदाय क्या है। एक बातचीत से दूर चलना मजेदार है! इस समुदाय में हर किसी के लिए महान काम। धन्यवाद! –