Telegram Web Link
توی فرم پایتون، یه ایده به اشتراک گذاشتم و راجع به اضافه کردن فیچر Immediately Invoked Function (IIF) در پایتون صحبت کردم. احتمالا توی جاوا اسکریپت این مدل ساختار رو دیدین:

(function (a, b, c) {
console.log(a+b+c);
})(1, 2, 3);


فرض کنید که یه دیکوریتور functools.invoke وجود داشت که چنین قابلیتی رو فراهم می‌کرد.
اینکه موقع تعریف کردن یه فانکشن، اون رو ران کنه. مثلا اگه یه فایل main.py داشتیم و درش این محتوا قرار داشت:

from functools import invoke

@invoke(1, 2, 3)
def main(a, b, c):
print(a+b+c)


وقتی فایل main.py رو ران می‌کردیم خروجی ۶ به ما می‌داد. این درحالیه که فانکشن main هیچ‌جای این فایل صدا زده نشده! همچنین مثال زیر:

@invoke  # no parentheses
def main():
print("Hello There")


Output:
Hello There


من این ایده رو با کامیونیتی به اشتراک گذاشتم و نقطه نظرات جالب و آموزنده بود. پیشنهاد می‌کنم ابتدا سعی کنید چنین چیزی رو پیدا کنید. یعنی یه decorator بسازید که چنین عملکردی داشته باشه. بعد فرم رو باز کنید و نظر مردم رو بخونید.

Forum: https://discuss.python.org/t/invoke-built-in-decorator-for-immediately-invoked-function-iif-ability/55815
👍14
خوشم اومد. 😁
🤣27😁5🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
خیلی #متفرقه ولی شادی‌آور

اگه گذاشتین ازدواج نکنیم.. 😂🥹
😍27🥰3🗿2
Someone's refactoring level is someone's over-engineering limit.

~ Sadra
11👍4🔥3🐳1
+ مگه نگفتی منطق داره؟

- امم.. هیچوقت قرار نیست 0 رو در منفی 1 ضرب کنی. پس ندید بگیر. 🥸

= دلیل
This is because numbers in JavaScript are represented using the IEEE 754 floating-point standard which requires zeros to have an associated sign. Floating point numbers include a sign bit (0 for positive, 1 for negative). In the case of +0, the sign bit is 0 while in the case of -0 the sign bit is 1.
🤣16👍6🗿1
That's why I had to learn Vim: 😂
🤣22😁2
فقط یادتون باشه، یه سریا سالهاست که (قلبن) می‌خوان رأی بدن ولی هنوز شناسنامه ندارن.
💔35🤔16😁12👌8👎4🤡4🗿2🐳1👨‍💻1
میدونستید پایتون ۳.۱۳ بصورت کاملا رسمی از iOS ساپورت می‌کنه؟ :)

به‌زودی پچ نوت ۳.۱۳ رو می‌ذارم واستون. خعلی خوبه. 🤟❤️
😍19👍8
بودجه: "حالا باهم کنار میایم" تومن!
🤣47😁8👍2🤬1👌1🗿1
2025/07/09 20:03:28
Back to Top
HTML Embed Code: