بحث الگو:یادکرد/آزمایش واحد/تاریخ فارسی
ماههای فارسی
ویرایش@Huji: دلیل خطا ندادن موارد آخر این است که من برای سازگار کردن با نام ماههای خورشیدی از یک work-around استفاده کرده بودم. بدین صورت که پودمان در پودمان:Citation/CS1/en/Configuration/sandbox در قسمت نامهای local ماههای میلادی، یک نام short هم میگیرد که قرار است همان مخفف نام ماههای میلادی در فارسی باشد. اما چون چنین چیزی وجود ندارد من به جای آنها نام ماههای خورشیدی را دادم. در واقع الان راستیآزمایی تاریخ را طبق شمارش روزهای ماههای میلادی انجام میدهد (مثلا مثال آخر را که افزودم ببینید که برای ماه دوم بیش از ۲۸ روز قبول نمیکند). راه درستش این است که پودمان:Citation/CS1/en/Date_validation/sandbox را ویرایش کنیم و این قابلیت را اضافه کنیم، اما باید مطمئن شد که این میزان بومیسازی ارزشش را دارد یا خیر. Mensis Mirabilis (بحث) ۹ ژانویهٔ ۲۰۱۹، ساعت ۱۳:۰۳ (UTC)
- @Mensis Mirabilis: به نظر من دارد. بررسی میکنم. — حجت/بحث ۹ ژانویهٔ ۲۰۱۹، ساعت ۱۳:۲۶ (UTC)
- @Mensis Mirabilis: من سواد لوای خوبی ندارم. میشود پودمان:Sandbox/Huji/testmodule و بحث پودمان:Sandbox/Huji/testmodule را ویرایش کنید تا کار کند؟ — حجت/بحث ۱۰ ژانویهٔ ۲۰۱۹، ساعت ۰۲:۱۵ (UTC)
- من هم وضعیتم تعریفی ندارد، با آزمون و خطا پیش میروم. ببینم چهطور میشود. Mensis Mirabilis (بحث) ۱۰ ژانویهٔ ۲۰۱۹، ساعت ۰۷:۵۷ (UTC)
- @Huji: فعلا برای آزمون و ... getArgs را حذف و ورودیها را مستقیم از frame گرفتم. الان کد کار میکند فقط حواستان باشد اگر خواستید تابع دیگری را از پودمان:Citation/CS1/en/Date validation/sandbox استفاده کنید در آخر آن پودمان return اش کنید (الان همه local هستند) Mensis Mirabilis (بحث) ۱۰ ژانویهٔ ۲۰۱۹، ساعت ۰۹:۲۷ (UTC)
- @Mensis Mirabilis: ممنون. کدام عملگر (function) در پودمان sandbox تاریخهای شمسی را چک میکند؟ — حجت/بحث ۱۰ ژانویهٔ ۲۰۱۹، ساعت ۱۹:۱۸ (UTC)
- @Huji: هیچکدام. پودمان اول عبارت دادهشده به عنوان تاریخ را تحلیل میکند تا بفهمد تاریخ است یا بازه تاریخ و سپس آن را با استفاده از جدول معادلها به ماههای میلادی برگردان میکند. (فقط با میلادی سازگار است)
- برای پیاده کردن اعتبارسنجی تاریخ شمسی باید دو تا از پودمانها تغییر کنند، البته به نظرم تغییر سرراستی است چون خودِ کد خیلی تر و تمیز نوشته شده. اگر واقعا موافق هستید من طی روزهای آینده انجامش میدهم، چون دیگر به قدر کافی با این کد آشنا شدهام و از نظر زمانی به صرفهتر است. Mensis Mirabilis (بحث) ۱۰ ژانویهٔ ۲۰۱۹، ساعت ۲۰:۳۵ (UTC)
- @Mensis Mirabilis: حتماً!
- اما الان پس آن پودمان از کجا دارد میفهمد که ۰ فروردین یک روز مجاز نیست و خطا میدهد؟ (در الگو:یادکرد/آزمایش واحد/تاریخ فارسی) — حجت/بحث ۱۰ ژانویهٔ ۲۰۱۹، ساعت ۲۳:۱۰ (UTC)
- @Huji: اول از تناظرهایی که من به آن دادهام (در قالب مخفف ماههای میلادی) تبدیل را انجام میدهد (فروردین = ژانویه).
- بعد درستی را چک میکند. Mensis Mirabilis (بحث) ۱۰ ژانویهٔ ۲۰۱۹، ساعت ۲۳:۳۱ (UTC)
- @Huji: الان تاریخ شمسی را هم درست چک میکند. برای تشخیص سال کبیسه هم از شرحی که در مقاله سال کبیسه آمده استفاده کردم (باقیمانده بر ۳۳). Mensis Mirabilis (بحث) ۷ مارس ۲۰۱۹، ساعت ۲۰:۲۳ (UTC)
- @Mensis Mirabilis: عالی!
- به نظر میرسد که سالهای قبل از ۱۲۵۰ و بعد از ۱۴۵۰ را نادیده میگیرید؛ این را باید در توضیحات الگو/پودمان وارد کنید. — حجت/بحث ۷ مارس ۲۰۱۹، ساعت ۲۰:۴۰ (UTC)
- @Huji: از کجا فهمیدید؟! (کد را نگاه کردید یا تاریخ امتحان کردید؟)
- این کار را برای این کردم که مواردی که تاریخ به صورت تمامعددی مثل ۱۳۹۷-۴-۱۵ داده میشود راهی برای تشخیص شمسی یا میلادی بودن آن نیست، غیر از آنکه از روی سال حدس بزنیم. از آنجایی که احتمال وجود یک تاریخ میلادی مثل ۳۱ آوریل ۱۳۹۰ که تعداد روزهای ماهش (آوریل = ۳۰ روز) با تعداد روزهای ماه متناظر شمسی (تیر=۳۱ روز) تفاوت داشته باشد و نیاز به خطا دادن پیش بیاید، بسیار کم است، این کار را کردم. Mensis Mirabilis (بحث) ۷ مارس ۲۰۱۹، ساعت ۲۱:۱۵ (UTC)
- در نظر دارم که توضیحات مناسب و دقیقی برای بومیسازی پودمان ایجاد کنم که افراد دیگر راحت بتوانند بهروزش کنند. الان متاسفانه اکثر پودمانهای بزرگی که بومیسازی شدهاند بالایشان فقط یک هشدار بومیسازی گذاشته شده که تنها فایدهاش این است که آدم جرأت نمیکند به پودمان دست بزند! Mensis Mirabilis (بحث) ۷ مارس ۲۰۱۹، ساعت ۲۱:۱۷ (UTC)
- @Huji: این را هم یادم رفت بگویم، ۱۲۵۰ را برای این گذاشتم که طبق مقاله سال کبیسه، روش باقیمانده بر ۳۳ فقط برای سالهای بعد از ۱۲۴۴ کار میکند. Mensis Mirabilis (بحث) ۷ مارس ۲۰۱۹، ساعت ۲۱:۲۵ (UTC)
- @Mensis Mirabilis: کد را نگاه کردم :) تصمیمتان هم منطقی است. فقط باید مستندسازی بشود. — حجت/بحث ۷ مارس ۲۰۱۹، ساعت ۲۱:۳۷ (UTC)
- در راهنما:خطاهای الگوی یادکرد به آن اشاره کردم.
- Mensis Mirabilis (بحث) ۷ مارس ۲۰۱۹، ساعت ۲۳:۱۸ (UTC)
- @Mensis Mirabilis: کد را نگاه کردم :) تصمیمتان هم منطقی است. فقط باید مستندسازی بشود. — حجت/بحث ۷ مارس ۲۰۱۹، ساعت ۲۱:۳۷ (UTC)
- @Huji: این را هم یادم رفت بگویم، ۱۲۵۰ را برای این گذاشتم که طبق مقاله سال کبیسه، روش باقیمانده بر ۳۳ فقط برای سالهای بعد از ۱۲۴۴ کار میکند. Mensis Mirabilis (بحث) ۷ مارس ۲۰۱۹، ساعت ۲۱:۲۵ (UTC)
- @Huji: الان تاریخ شمسی را هم درست چک میکند. برای تشخیص سال کبیسه هم از شرحی که در مقاله سال کبیسه آمده استفاده کردم (باقیمانده بر ۳۳). Mensis Mirabilis (بحث) ۷ مارس ۲۰۱۹، ساعت ۲۰:۲۳ (UTC)
- @Mensis Mirabilis: ممنون. کدام عملگر (function) در پودمان sandbox تاریخهای شمسی را چک میکند؟ — حجت/بحث ۱۰ ژانویهٔ ۲۰۱۹، ساعت ۱۹:۱۸ (UTC)
- @Huji: فعلا برای آزمون و ... getArgs را حذف و ورودیها را مستقیم از frame گرفتم. الان کد کار میکند فقط حواستان باشد اگر خواستید تابع دیگری را از پودمان:Citation/CS1/en/Date validation/sandbox استفاده کنید در آخر آن پودمان return اش کنید (الان همه local هستند) Mensis Mirabilis (بحث) ۱۰ ژانویهٔ ۲۰۱۹، ساعت ۰۹:۲۷ (UTC)
- من هم وضعیتم تعریفی ندارد، با آزمون و خطا پیش میروم. ببینم چهطور میشود. Mensis Mirabilis (بحث) ۱۰ ژانویهٔ ۲۰۱۹، ساعت ۰۷:۵۷ (UTC)