Dynamic Scoping چیست؟؟؟ - نسخهی قابل چاپ |
Dynamic Scoping چیست؟؟؟ - mostafa2012 - 26 دى ۱۳۹۳ ۰۹:۴۱ ق.ظ
سلام ببخشید من static Binding یا همون static Scoping که سوال گفته رو میدونم (مثل توضیحات خودش) {درست گفتم که static bidingآیا مساویstatic scoping هس؟؟} حال سوال من اینجاست که :» Dynamic دیگه چطوریه؟؟ باتشکر |
RE: Dynamic Scoping چیست؟؟؟ - bluebaran - 26 دى ۱۳۹۳ ۱۱:۴۳ ق.ظ
(۲۶ دى ۱۳۹۳ ۰۹:۴۱ ق.ظ)mostafa2012 نوشته شده توسط: سلام ما دو تا حوزه دستیابی داریم ۱- ایستا ۲- پویا در حوزه پویا وقتی ارجاع غیر محلی داریم برای اینکه مقدار متغیرو بفهمیم چیه باید رد فراخوانی رو دنبال کنیم مثلا ما تو این سوال تو تابع f1 داریم n=n+m n که پارامتر رسمی f1 هستش و میشه متغیر محلی برای f1 در اینجا مقدارش ۳ هست حالا m تو تابع f1 غیر محلی هستش باید ببینیم کجا این تابع فراخوانی شده داخل main پس main میشه والدش و اونجا میگردیم ببینیم که آیا اعلانی برای متغیر m پیدا میکنیم یا نه اگه بود که هیچی اگه نبود میگردیم ببینیم کی والد رو فراخوانی کرده و همین طور تا آخر اینجا اعلان m رو پیدا میکنیم و مقدار m میشه ۳ پس شد n=3+3, n=6 و مقدارو برمیگردونه m داخل main میشه ۶ حالا تو main تابع f2 اجرا شده داخل f2 داریم n=n*m n که محلی هستش میشه ۳ و m که غیر محلی هستش و می گردیم ببینیم کی فراخوانیش کرده main اونجا m= 6 هستش n=n*m ۳*۶=n حالا بر میگردیم (m=m*f(3 که (f(3 شد ۱۸ و m که محلی هستش و مقدارش ۶ هست پس نتیجه میشه ۲۴ ایستا که گفتی بلدی |
RE: Dynamic Scoping چیست؟؟؟ - mostafa2012 - 26 دى ۱۳۹۳ ۰۳:۲۴ ب.ظ
(۲۶ دى ۱۳۹۳ ۱۱:۴۳ ق.ظ)bluebaran نوشته شده توسط:(26 دى ۱۳۹۳ ۰۹:۴۱ ق.ظ)mostafa2012 نوشته شده توسط: سلام سلام واقعا از توضیحاتتون ممنون ...... کافی و کامل توضیح دادین.... موفق وموید! التماس دعا.. |