تابعی در روبی بنویسید که یک رشتهٔ قالب شامل جاینماهایی به شکل #{name} و یک هش از مقادیر بگیرد و با جایگذاری مقادیر متن نهایی را بازگرداند.
3.0 بازدید آخرین ویرایش در 223 روز قبل ساعت 01:03 0.0
با استفاده از روبی و امکانات پردازش رشته و عبارات منظم میتوانید این کار را انجام دهید: از String#gsub همراه با یک رجکس مثل /\#\{(\w+)\}/ برای پیدا کردن جاینماها استفاده کنید و در بلاک رجکس نام کلید را استخراج کرده و مقدار متناظرش را از هش بگیرید (با to_s برای جلوگیری از nil). نکات: کلیدها ممکن است به صورت رشته یا سمبل باشند—از fetch با مقدار پیشفرض استفاده کنید و برای مقادیر ناشناخته تصمیم بگیرید که جاینما را دستنخورده بگذارید یا با رشتهٔ خالی جایگزین کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جلوگیری از تفسیر خودکار #{...} در رشتهٔ قالب، آن را با escaping یا با استفاده از %q(...) بسازید تا Ruby این بخشها را دستنخورده بگذارد. بهتر است از fetch با مقدار پیشفرض استفاده کنید تا کلیدهای ناوجود در هَش بهطور ایمن به رشته تبدیل شوند. کلیدها ممکن است به صورت سمبل یا رشته باشند، پس پیش از دستکاری، آنها را به یک قالب واحد تبدیل کنید. همچنین تصمیم بگیرید اگر کلید یافت نشد، جاینما را با مقدار خالی یا همان placeholder نگه دارید و از to_s برای تبدیل مقادیر استفاده کنید.
گزارش