سلام درود خدمت همراهان همیشگی سایت پی وی لرن . با آموزش زبان برنامه نویسی #F همراهتون هستیم. در این قسمت Modules در #F و سینتکس توضیح ماژول در #F رو شرح خواهیم داد.
همانطور که در هر کتابخانه MSDN، در یک #module F یک گروه از ساختارهای کد #F است، مانند انواع تابع مقادیر، values و کد در do bindings. این کلاس به عنوان یک کلاس زبان مشترک (common language runtime (CLR که دارای اعضای استاتیک است اجرا می شود.
بسته به وضعیت که آیا کل فایل در ماژول گنجانده شده است، دو نوع اعلان ماژول وجود دارد.
در یک اعلان ماژول سطح بالا کل فایل در ماژول گنجانده شده است. در این مورد، اولین اعلان در فایل اعلان ماژول است.
در یک اعلان ماژول محلی، تنها اعلان هایی که تحت آن اعلان ماژول قرار دارند، بخشی از ماژول هستند.
سینتکس توضیح ماژول در #F به شرح زیر است.
1 2 3 4 5 6 7 | // Top-level module declaration. module [accessibility-modifier] [qualified-namespace.]module-name declarations // Local module declaration. module [accessibility-modifier] module-name = declarations |
لطفا توجه داشته باشید که accessibility-modifier می تواند یکی از موارد زیر باشد – public, private, internal . پیش فرض public است .
مثال های زیر مفاهیم را نشان می دهند.
فایل ماژول Arithmetic.fs
1 2 3 4 5 6 7 8 9 10 11 12 | module Arithmetic let add x y = x + y let sub x y = x - y let mult x y = x * y let div x y = x / y |
فایل برنامه main.fs
1 2 3 4 5 6 7 8 9 10 11 | // Fully qualify the function name. open Arithmetic let addRes = Arithmetic.add 25 9 let subRes = Arithmetic.sub 25 9 let multRes = Arithmetic.mult 25 9 let divRes = Arithmetic.div 25 9 printfn "%d" addRes printfn "%d" subRes printfn "%d" multRes printfn "%d" divRes |
هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.
1 2 3 4 5 6 7 8 | 34 16 225 2 110 90 1000 10 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | // Module1 module module1 = // Indent all program elements within modules that are declared with an equal sign. let value1 = 100 let module1Function x = x + value1 // Module2 module module2 = let value2 = 200 // Use a qualified name to access the function. // from module1. let module2Function x = x + (module1.module1Function value2) let result = module1.module1Function 25 printfn "%d" result let result2 = module2.module2Function 25 printfn "%d" result2 |
هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.
1 2 | 125 325 |
سلام درود خدمت همراهان همیشگی سایت پی وی لرن . با آموزش زبان برنامه نویسی #F همراهتون هستیم. در این قسمت از سری آموزش های زبان برنامه نویسی اف شارپ، Modules در #F و سینتکس توضیح ماژول در #F رو شرح دادیم.