شرایط دوم: برخی آرگومانها به تابع ارسال نشوند
دراین حالت فرض میکنیم فقط آرگومان نخستین به تابع ()foo ارسال گردیده باشد. در این حالت آرگومان نخستین از مقدار ارسالی به تابع به کارگیری مینماید. با این درحال حاضر آرگومان دوم، یعنی number مقدار پیشفرض را می گیرد، چون آرگومان دوم در زمان فراخوانی تابع ارسال نشده میباشد. داخل تابع ()foo مقادیر letter و number به ترتیب موازی طراحی اپلیکیشن در مشهد با \'y\' و 15 میباشند.
موقعیت سوم: هیچ آرگومانی ارسال نشود
در اینحالت تابع ()foo سوای ارسال هیچ آرگومانی فراخوانی میشود. از این رو در هر دو آیتم از مقادیر پیشفرض استعمال می گردد. به این ترتیب باطن تابع ()foo مقادیر letter و number به ترتیب موازی با \'a\' و 15 می باشند.
مثالی از آرگومان پیشفرض در کاتلین
1fun displayBorder(character: Char = \'=\', length: Int = 15) {
2 for (i in 1..length) {
3 print(character)
4 }
5}
6
7fun main(args: Array) {
8 println("Output when no argument is passed:")
9 displayBorder()
10
11 println("\\n\\n\'*\' is used as a first argument.")
12 println("Output when first argument is passed:")
13 displayBorder(\'*\')
14
15 println("\\n\\n\'*\' is used as a first argument.")
16 println("5 is used as a second argument.")
17 println("Output when both arguments are passed:")
18 displayBorder(\'*\', 5)
19
20}
مشاهده بی نقص کدها
خروجی اپ فوق به طور پایین میباشد:
Output when no argument is passed:
===============
\'*\' is used as a first argument.
Output when first argument is passed:
***************
\'*\' is used as a first argument.
5 is used as a second argument.
Output when both arguments are passed:
*****
آرگومان اسمدار در کاتلین
قبل از آن که راجعبه آرگومان اسمدار در کاتلین سخن کنیم، یک تغییر تحول خرد را در کد فوق آیتم تحقیق قرار میدهیم.
1fun displayBorder(character: Char = \'=\', length: Int = 15) {
2 for (i in 1..length) {
3 print(character)
4 }
5}
6
7fun main(args: Array) {
8 displayBorder(5)
9}
در نرم افزار فوق کوشش می کنیم تا آرگومان دوم را به تابع ()displayBorder ارسال کنیم و از آرگومان پیشفرض برای آرگومان اولیه به کار گیری میکنیم. با این حالا، این کد ساختوساز نادرست خواهد کرد. ادله این فرمان آن میباشد که کامپایلر فکرمیکند که ما کوشش میکنیم مقدار 5 (با نوع Int) را به یک کاراکتر (از نوع Char) ارسال کنیم. برای حل این ایراد می بایست از آرگومانهای اسمدار به کار گیری کنیم:
مثالی از آرگومان اسمدار در کاتلین
1fun displayBorder(character: Char = \'=\', length: Int = 15) {
2 for (i in 1..length) {
3 print(character)
4 }
5}
6
7fun main(args: Array) {
8 displayBorder(length = 5)
9}
خروجی اپلیکیشن فوق به طور پایین میباشد:
=====
در اپ فوق، از یک آرگومان اسمدار به طور length = 5 برای معین ساختن این نکته به کار گیری کردهایم که پارامتر length در تعریفوتمجید تابع بایستی این مقدار را بگیرد. دقت نمایید که دراینصورت، ترتیب آرگومان اهمیتی ندارد.
براین اساس آرگومان در آغاز به اسم character از مقدار پیشفرض \'=\' در نرم افزار استعمال مینماید.
تابعهای بازگشتی در کاتلین
درین نصیب از نوشتهیعلمی یادگرفتن کاتلین به نظارت شیوه ساخت و ساز تابعهای بازگشتی دراین گویش نرمافزارنویسی می پردازیم. «تابع بازگشتی» (Recursive Function) به تابعی گفته میگردد که خودش را فراخوانی نماید. همینطور با مضمون تابع «بازگشتی انتهایی» (Tail Recursion) در کاتلین آشنا خواهیم شد.
کلیک فرمائید
چنان که اشاره کردیم تابعی که خودش را فراخوانی نماید، تابع بازگشتی نامیده می شود و این تکنیک کلاً به اسم «رجوع و برگشت» (recursion) خوانده می گردد. یک نمونه فیزیکی از این پدیده را میقدرت در طول قرار دادن دو آینه در روبروی هم دید. هر شیئی که دربین این دو آینه قرار داشته باشد به طور بازگشتی در آن ها رفلکس می یابد.
شرایط دوم: برخی آرگومانها به تابع ارسال نشوند
دراین حالت فرض میکنیم فقط آرگومان نخستین به تابع ()foo ارسال گردیده باشد. در این حالت آرگومان نخستین از مقدار ارسالی به تابع به کارگیری مینماید. با این درحال حاضر آرگومان دوم، یعنی number مقدار پیشفرض را می گیرد، چون آرگومان دوم در زمان فراخوانی تابع ارسال نشده میباشد. داخل تابع ()foo مقادیر letter و number به ترتیب موازی طراحی اپلیکیشن در مشهد با \'y\' و 15 میباشند.
موقعیت سوم: هیچ آرگومانی ارسال نشود
در اینحالت تابع ()foo سوای ارسال هیچ آرگومانی فراخوانی میشود. از این رو در هر دو آیتم از مقادیر پیشفرض استعمال می گردد. به این ترتیب باطن تابع ()foo مقادیر letter و number به ترتیب موازی با \'a\' و 15 می باشند.
مثالی از آرگومان پیشفرض در کاتلین
1fun displayBorder(character: Char = \'=\', length: Int = 15) {
2 for (i in 1..length) {
3 print(character)
4 }
5}
6
7fun main(args: Array) {
8 println("Output when no argument is passed:")
9 displayBorder()
10
11 println("\\n\\n\'*\' is used as a first argument.")
12 println("Output when first argument is passed:")
13 displayBorder(\'*\')
14
15 println("\\n\\n\'*\' is used as a first argument.")
16 println("5 is used as a second argument.")
17 println("Output when both arguments are passed:")
18 displayBorder(\'*\', 5)
19
20}
مشاهده بی نقص کدها
خروجی اپ فوق به طور پایین میباشد:
Output when no argument is passed:
===============
\'*\' is used as a first argument.
Output when first argument is passed:
***************
\'*\' is used as a first argument.
5 is used as a second argument.
Output when both arguments are passed:
*****
آرگومان اسمدار در کاتلین
قبل از آن که راجعبه آرگومان اسمدار در کاتلین سخن کنیم، یک تغییر تحول خرد را در کد فوق آیتم تحقیق قرار میدهیم.
1fun displayBorder(character: Char = \'=\', length: Int = 15) {
2 for (i in 1..length) {
3 print(character)
4 }
5}
6
7fun main(args: Array) {
8 displayBorder(5)
9}
در نرم افزار فوق کوشش می کنیم تا آرگومان دوم را به تابع ()displayBorder ارسال کنیم و از آرگومان پیشفرض برای آرگومان اولیه به کار گیری میکنیم. با این حالا، این کد ساختوساز نادرست خواهد کرد. ادله این فرمان آن میباشد که کامپایلر فکرمیکند که ما کوشش میکنیم مقدار 5 (با نوع Int) را به یک کاراکتر (از نوع Char) ارسال کنیم. برای حل این ایراد می بایست از آرگومانهای اسمدار به کار گیری کنیم:
مثالی از آرگومان اسمدار در کاتلین
1fun displayBorder(character: Char = \'=\', length: Int = 15) {
2 for (i in 1..length) {
3 print(character)
4 }
5}
6
7fun main(args: Array) {
8 displayBorder(length = 5)
9}
خروجی اپلیکیشن فوق به طور پایین میباشد:
=====
در اپ فوق، از یک آرگومان اسمدار به طور length = 5 برای معین ساختن این نکته به کار گیری کردهایم که پارامتر length در تعریفوتمجید تابع بایستی این مقدار را بگیرد. دقت نمایید که دراینصورت، ترتیب آرگومان اهمیتی ندارد.
براین اساس آرگومان در آغاز به اسم character از مقدار پیشفرض \'=\' در نرم افزار استعمال مینماید.
تابعهای بازگشتی در کاتلین
درین نصیب از نوشتهیعلمی یادگرفتن کاتلین به نظارت شیوه ساخت و ساز تابعهای بازگشتی دراین گویش نرمافزارنویسی می پردازیم. «تابع بازگشتی» (Recursive Function) به تابعی گفته میگردد که خودش را فراخوانی نماید. همینطور با مضمون تابع «بازگشتی انتهایی» (Tail Recursion) در کاتلین آشنا خواهیم شد.
کلیک فرمائید
چنان که اشاره کردیم تابعی که خودش را فراخوانی نماید، تابع بازگشتی نامیده می شود و این تکنیک کلاً به اسم «رجوع و برگشت» (recursion) خوانده می گردد. یک نمونه فیزیکی از این پدیده را میقدرت در طول قرار دادن دو آینه در روبروی هم دید. هر شیئی که دربین این دو آینه قرار داشته باشد به طور بازگشتی در آن ها رفلکس می یابد.

راهکارهای کاهش CPC در کمپینها