مشکل ورودی در تابع های بازگشتی

سلام.

مثلا شما ی تابع بازگشتی رو در نظر بگیرید که قراره ی همچین کاری قراره انجام بده:

حالا ۲ تا روش من میشناسم که نمیدونم از لحاظ کارایی کدوم مناسب تره. اگر شما میدونید یا روش بهتری سراغ دارید ممنون میشم که بهم بگید

راستش روش دوم ی بدی که داره اینه که برای استفاده مجدد باید ریست کرد مقدار هاشو
نظر خودم بیشتر روی روش ۱ هست

اما شما نگفتید کار این تابع چیه!

چرا عزیز اول متن گفتم

بله کاملا روشن بود ببخشید که متوجه نشدم,
راه حل اینه که باید یه تابع بنویسی که همچین کاری بکنه
images

امیدوارم شوخی منو جدی نگیری،
منظورم اینه که به زبون ساده توضیح بدی که فانکشن شما دقیقا چه عملیاتی قراره انجام بده

3 Likes

قراره این رو

{
    "env:db:host": "localhost",
    "env:db:port": 7556,
    "env:public:video": "path/to/directory",
    "app:name": "my app"
}

به این تبدیل کنه

{
    "env": {
        "db": {
            "host": "localhost",
            "port": 7556
        },
        "public":{
            "video": "path/to/directory"
        }
    },
    "app": {
        "name": "my app"
    }
}

سلام. منظور توماج همچین چیزیه:
این فانکشن میاد کلید یک جیسان رو می‌گیره و بر اساس مشابهت کلید میاد یه جیسان داخلی درست میکنه.
مثلا اگه داریم

{
  a:b:c=1
  a:b:d=2
  a:h=3
}

این میاد قسمت a و b رو که عین همدیگه هستن به صورت تو در تو میسازه، بعد c و d رو به عنوان آخرین کلید‌ها مقداردهی می‌کنه. جداکننده مفهومی کلیدها هم کاراکتر : هست که توی خروجی نمیاد.
خروجیش میشه:

{
  a {
    b {
      c=1
      d=2
    }
  h=3
  }
}

(فکر کنم همین کار رو میکنه، من اینطور فهمیدم)
خلاصه حرف توماج اینه که قشنگ توضیح بدید که این تابع با ورودی باید چیکار کنه. ممکنه ورودی و خروجی شما، یه نمونه ناقص باشه و به تبع تابعی که پیشنهاد داده‌میشه هم تابع ناقص و خطاداری میشه.
خلاصه آقا اینطوری قشنگ توضیح بده تا بشه قشنگ راه حل داد. :stuck_out_tongue_winking_eye:

1 Likes

البته منم بد توضیح دادم فک کنم :laughing: