คำถามติดแท็ก f#

F # เป็นภาษาเชิงวัตถุที่ใช้งานได้สั้นกระชับและมีประสิทธิภาพสำหรับ. NET ซึ่งช่วยให้คุณเขียนโค้ดง่ายๆเพื่อแก้ปัญหาที่ซับซ้อน

2
เหตุใด F # Core จึงกำหนดประเภทอาร์เรย์ทั่วไป
ฉันเพิ่งสังเกตเห็นว่าเนมสเปซ FSharp.Core มีประเภทอาเรย์ทั่วไปที่มีขนาดสูงสุด 4 มิติคือCore [] <'T> , Core. [,] <' T> ฯลฯ C # และ VB ดูเหมือนจะทำได้ดี ด้วย System.Array - แม้ว่ามันจะไม่ชัดเจนสำหรับฉันว่าพวกเขาจัดการเพื่อสนับสนุนประเภทอาเรย์พิเศษที่พิมพ์อย่างรุนแรงเช่น int [], string [] ฉันเดาว่านี่เป็นคำถามสองข้อแล้ว: C # สนับสนุนประเภทอาเรย์พิเศษที่พิมพ์อย่างรุนแรงเช่น int [] โดยใช้ System.Array ที่ไม่ใช่แบบทั่วไปอย่างไร เนื่องจาก C # จัดการเพื่อทำสิ่งนี้เหตุใด F # จึงกำหนดประเภทอาร์เรย์ทั่วไป
11 c#  .net  f# 

1
ฉันจะเข้าใกล้โครงการ F # ที่ร้ายแรงโดยไม่มีความรู้ C # ได้อย่างไร
ดังนั้นโดยพื้นฐานแล้วโครงการที่ฉันต้องการทำคือบรรณาธิการ SVG ฉันต้องการใช้ WPF เพราะจากนั้นฉันสามารถใช้ประโยชน์จาก XAML สำหรับรูปแบบแอปพลิเคชันของฉัน (ผู้ออกแบบรายนั้นดีมาก) น่าเสียดายที่ฉันใช้กรอบงาน. NET เพียงไม่กี่เดือนและยังไม่คุ้นเคยกับชื่อคลาสส่วนใหญ่ เป้าหมายคือการใช้ F # เนื่องจากเป็นภาษาโปรแกรมที่ใช้งานได้และการเรียกซ้ำของ F # และการดำเนินการรายการที่ยอดเยี่ยมรวมกับ tuples จะทำงานได้ดีสำหรับสิ่งที่ฉันพยายามบรรลุ และเป้าหมายคือการใช้. NET เพราะห้องสมุดขนาดใหญ่ของคลาสที่มีอยู่และมีเอกสารพร้อมตัวอย่าง ฉันได้ดูคำถามนี้แล้ว /software/3129/is-there-a-canonical-book-on-f แต่คำตอบนั้นสำหรับ F # โดยทั่วไปและคิดว่าคุณรู้ C # อยู่แล้วซึ่งไม่เป็นประโยชน์สำหรับฉันโดยเฉพาะ . หนังสือยอดนิยมในฐานะคำตอบสำหรับคำถามที่อ้างถึงข้างต้นคือการเขียนโปรแกรมฟังก์ชั่นการใช้งานจริง: ด้วยตัวอย่างใน F # และ C # อย่างไรก็ตามรีวิว amazon ระดับ 3 ดาวในหนังสือเล่มนี้ในขณะที่ค่อนข้างรุนแรงและอาจพูดเกินจริงอย่างถูกต้องแสดงให้เห็นถึงปัญหาของฉัน หากคุณสนใจการเขียนโปรแกรมที่ใช้งานได้ แต่คุณไม่ใช่ C # ที่ต้องการเรียนรู้ …
11 wpf  f# 

4
ออกแบบในภาษา“ แบบผสม”: การออกแบบเชิงวัตถุหรือการโปรแกรมเชิงฟังก์ชันหรือไม่?
ในช่วงไม่กี่ปีที่ผ่านมาภาษาที่ฉันชอบใช้นั้นเพิ่มมากขึ้น ตอนนี้ฉันใช้ภาษาที่เป็น "ลูกผสม": C #, F #, Scala ฉันชอบที่จะออกแบบแอปพลิเคชันของฉันโดยใช้คลาสที่สอดคล้องกับวัตถุโดเมนและใช้คุณสมบัติการทำงานที่ทำให้การเขียนรหัสง่ายขึ้นตรงและปลอดภัยยิ่งขึ้น (โดยเฉพาะอย่างยิ่งเมื่อทำงานกับคอลเลกชัน อย่างไรก็ตามทั้งสองโลก "ปะทะกัน" เมื่อมาถึงรูปแบบการออกแบบ ตัวอย่างเฉพาะที่ฉันเผชิญเมื่อเร็ว ๆ นี้คือรูปแบบการสังเกตการณ์ ฉันต้องการให้ผู้ผลิตแจ้งรหัสอื่น ๆ ("ผู้บริโภค / ผู้สังเกตการณ์" พูดที่เก็บข้อมูล DB ตัวบันทึกและอื่น ๆ ) เมื่อรายการถูกสร้างหรือเปลี่ยนแปลง ตอนแรกฉันทำมัน "ตามหน้าที่" เช่นนี้: producer.foo(item => { updateItemInDb(item); insertLog(item) }) // calls the function passed as argument as an item is processed แต่ตอนนี้ฉันสงสัยว่าฉันควรใช้วิธีการ "OO" …

7
อาร์กิวเมนต์สำหรับการเขียนโปรแกรมฟังก์ชั่น [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเพิ่งเรียนรู้ F # เพื่อความสนุก (ฉันเป็น VB.NET/C# dev) และฉันชอบสิ่งที่มีให้ ในทางทฤษฎีนั่นคือ แต่ฉันมีปัญหาในการพิจารณาสถานการณ์ที่ฉันจะเลือกรหัสใน F # มากกว่าใน C # ความคิดใด ๆ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.