ฉันจะเข้าใกล้โครงการ F # ที่ร้ายแรงโดยไม่มีความรู้ C # ได้อย่างไร


11

ดังนั้นโดยพื้นฐานแล้วโครงการที่ฉันต้องการทำคือบรรณาธิการ SVG ฉันต้องการใช้ WPF เพราะจากนั้นฉันสามารถใช้ประโยชน์จาก XAML สำหรับรูปแบบแอปพลิเคชันของฉัน (ผู้ออกแบบรายนั้นดีมาก) น่าเสียดายที่ฉันใช้กรอบงาน. NET เพียงไม่กี่เดือนและยังไม่คุ้นเคยกับชื่อคลาสส่วนใหญ่

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

ฉันได้ดูคำถามนี้แล้ว /software/3129/is-there-a-canonical-book-on-f แต่คำตอบนั้นสำหรับ F # โดยทั่วไปและคิดว่าคุณรู้ C # อยู่แล้วซึ่งไม่เป็นประโยชน์สำหรับฉันโดยเฉพาะ .

หนังสือยอดนิยมในฐานะคำตอบสำหรับคำถามที่อ้างถึงข้างต้นคือการเขียนโปรแกรมฟังก์ชั่นการใช้งานจริง: ด้วยตัวอย่างใน F # และ C # อย่างไรก็ตามรีวิว amazon ระดับ 3 ดาวในหนังสือเล่มนี้ในขณะที่ค่อนข้างรุนแรงและอาจพูดเกินจริงอย่างถูกต้องแสดงให้เห็นถึงปัญหาของฉัน

หากคุณสนใจการเขียนโปรแกรมที่ใช้งานได้ แต่คุณไม่ใช่ C # ที่ต้องการเรียนรู้ F # คุณสามารถข้ามหนังสือเล่มนี้ได้อย่างปลอดภัย

ฉันดูออนไลน์สำหรับตัวอย่าง WPF F # มีตัวอย่างโค้ดที่นี่และที่นั่น แต่ไม่มีอะไรสำคัญหรือแสดงให้เห็นว่ามันถูกใช้นอกไฟล์สคริปต์เดียว. fsx และไม่มีอะไรระดับองค์กรหรือแม้แต่ระดับมืออาชีพอย่างน้อยจริงๆ

ดังนั้นแม้ Microsoft ไม่ได้มีตัวอย่างมากมายเกี่ยวกับวิธีการ. NET ใน F # ตัวอย่างที่ฉันพบมักจะเป็นคุณสมบัติเฉพาะของ F # ดูที่ส่วนพื้นฐานและขั้นสูงของ F # แล้วคุณจะพบว่าพวกเขามีความผิดในการสอนไวยากรณ์เท่านั้น ตัวอย่างเช่น MSDN บน WPF สำหรับคลาส Line ไม่มีตัวอย่างโค้ดใด ๆ ใน F #

เมื่อคุณเลื่อนลงแท็บตัวอย่างรหัสสำหรับ F # เพียงแค่บอกว่า

No code example is currently available or this language may not be supported.

ด้วยตัวอย่างของรหัสที่มีอยู่ไม่กี่ฉันพบว่ามันยากที่จะทำโครงการนี้

คำถามของ
ฉันฉันขอขอบคุณความช่วยเหลือด้วยความเข้าใจว่าฉันควรเข้าใกล้โครงการนี้โดยใช้ F # อย่างไรเมื่อฉันไม่รู้ C # ทั้งหมดนั้นดี

คำตอบ:


10

แบ่งปัญหาออกเป็นสองส่วน

  1. เรียนรู้พื้นฐานของ F # โดยไม่รวมการใช้ WPF เรียนรู้วิธีการเขียนฟังก์ชั่นโดยไม่ต้องใช้mutablesและและการใช้while statements function compositionเมื่อคุณทำสิ่งนี้เสร็จแล้วให้เรียนรู้วิธีการใช้ประโยชน์จาก mutables เพื่ออัพเดทสถานะ

  2. เรียนรู้วิธีใช้ WPF ใน F # โดยการอ่านการเรียนรู้ WPF ผ่าน F # และในทางกลับกันโดย John Liao

หากคุณไม่พบรหัสใด ๆ ที่คุณชอบใน F # โปรดจำไว้ว่า F # เป็นรหัสของ OCaml ดังนั้น Google สำหรับ OCaml และ SVG และคุณอาจพบบางสิ่งที่น่าสนใจ แม้ว่า F # จะไม่สามารถคอมไพล์ OCaml ได้ แต่ก็ใกล้เคียงกันมากและไม่ควรใช้เวลาในการแปลงมากนัก ฉันแปลง OCaml เป็นจำนวนมากเป็น F # และแปลงทั้งหมดแล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.