F # - เนมสเปซ
ก namespaceได้รับการออกแบบมาเพื่อจัดเตรียมวิธีการแยกชื่อชุดหนึ่งจากชื่ออื่น ชื่อคลาสที่ประกาศในเนมสเปซเดียวจะไม่ขัดแย้งกับชื่อคลาสเดียวกันที่ประกาศในอีกชื่อหนึ่ง
ตามไลบรารี MSDN ก namespace ช่วยให้คุณสามารถจัดระเบียบโค้ดเป็นส่วนต่างๆของฟังก์ชันการทำงานที่เกี่ยวข้องได้โดยให้คุณแนบชื่อเข้ากับการจัดกลุ่มองค์ประกอบของโปรแกรม
การประกาศ Namespace
ในการจัดระเบียบรหัสของคุณในเนมสเปซคุณต้องประกาศเนมสเปซเป็นการประกาศครั้งแรกในไฟล์ เนื้อหาของไฟล์ทั้งหมดจะกลายเป็นส่วนหนึ่งของเนมสเปซ
namespace [parent-namespaces.]identifier
ตัวอย่างต่อไปนี้แสดงแนวคิด -
ตัวอย่าง
namespace testing
module testmodule1 =
let testFunction x y =
printfn "Values from Module1: %A %A" x y
module testmodule2 =
let testFunction x y =
printfn "Values from Module2: %A %A" x y
module usermodule =
do
testmodule1.testFunction ( "one", "two", "three" ) 150
testmodule2.testFunction (seq { for i in 1 .. 10 do yield i * i }) 200
เมื่อคุณคอมไพล์และรันโปรแกรมจะให้ผลลัพธ์ดังต่อไปนี้ -
Values from Module1: ("one", "two", "three") 150
Values from Module2: seq [1; 4; 9; 16; ...] 200