मैं विशेषज्ञ एफ में एक उदाहरण के माध्यम से काम करने के लिए कोशिश कर रहा हूँ #, जो v1.9.2, लेकिन सीटीपी विज्ञप्ति पर आधारित है कि के बाद पर्याप्त उनमें से कुछ भी नहीं है कि बदल गया है अब संकलित करें।विशेषज्ञ एफ # वेब क्रॉलर उदाहरण
मैं 13-13 लिस्टिंग के साथ कुछ परेशानी में भाग रहा हूं। यहाँ urlCollector
वस्तु परिभाषा का टुकड़ा है:
let urlCollector =
MailboxProcessor.Start(fun self ->
let rec waitForUrl (visited : Set<string>) =
async { if visited.Count < limit then
let! url = self.Receive()
if not (visited.Contains(url)) then
do! Async.Start
(async { let! links = collectLinks url
for link in links do
do self <-- link })
return! waitForUrl(visited.Add(url)) }
waitForUrl(Set.Empty))
मैं संस्करण 1.9.6.16 साथ संकलन कर रहा हूँ, और संकलक thusly शिकायत: पर या में इस बिंदु से पहले
- अधूरा संरचित निर्माण अभिव्यक्ति [अंतिम माता पिता के बाद]
- इस 'चलो' के लिए वापसी अभिव्यक्ति में त्रुटि। संभावित गलत इंडेंटेशन [
waitForUrl
परिभाषित करने के लिए संदर्भित करता है]
कोई भी यहां क्या गलत हो रहा है?
सहमत ... कभी कभी परिभाषा ब्लॉक खरोज सहायक की तुलना में अधिक अस्पष्ट है द्वारा। मुझे शुरूआत/अंत टोकन जोड़ने की आदत में मिल गया है, जहां लंबे या गहरे घोंसले वाले ब्लॉक शुरू होते हैं और समाप्त होते हैं। उन्हें # प्रकाश वाक्यविन्यास में आवश्यक नहीं है लेकिन अभी भी उपलब्ध हैं। – flatline
धन्यवाद - मैं इसे आज़मा दूंगा। मुझे लगता है कि एक चीज जो भ्रामक थी, और सबसे दुर्भाग्यपूर्ण उचित इंडेंटेशन के महत्व को देखते हुए, यह था कि किताब में उदाहरण एक पेज ब्रेक फैलाता है, इसलिए यह कहना मुश्किल है कि इंडेंटेशन लाइन कहां है। –
यह फिर से टूटा हुआ है :( – Benjol