مسیرها
/
Pharo
Pharo
/
تمرین‌ها
/
مسطح کردن آرایه
مسطح کردن آرایه

مسطح کردن آرایه

آسان

مقدمه

یک محموله از لوازم اضطراری رسیده است، اما یک مشکل وجود دارد. برای محافظت در برابر آسیب، اقلام (چراغ‌قوه‌ها، جعبه‌های کمک‌های اولیه، پتوها) داخل جعبه‌ها بسته‌بندی شده‌اند و بعضی از آن جعبه‌ها چند لایه تودرتو درون جعبه‌های دیگر جای گرفته‌اند!

برای آماده بودن در شرایط اضطراری، همه‌چیز باید به‌راحتی در یک جعبه در دسترس باشد. آیا می‌توانید همه‌ی لوازم را از جعبه‌ها بیرون بیاورید و آن‌ها را در یک جعبه‌ی واحد بگذارید، تا در زمانی که بیشترین نیاز به آن‌هاست آماده باشند؟

دستورالعمل‌ها

یک آرایه‌ی تودرتو با هر عمقی را بگیرید و یک آرایه‌ی کاملاً تخت‌شده برگردانید.

توجه داشته باشید که بعضی از مسیرهای زبان ممکن است مقادیر شبیه null را در آرایه‌ی ورودی بگنجانند و شیوه‌ی نمایش این مقادیر از مسیری به مسیر دیگر فرق می‌کند. چنین مقادیری باید از آرایه‌ی تخت‌شده حذف شوند.

علاوه بر این، ورودی بسته به مسیر ممکن است از نوع داده‌ی دیگری باشد و انواع متفاوتی را در خود داشته باشد.

برای جزئیات، مجموعه‌ی آزمون‌ها را بررسی کنید.

مثال

ورودی: [1, [2, 6, null], [[null, [4]], 5]]

خروجی: [1, 2, 6, 4, 5]

نکته

بدون استفاده از متد تخت‌سازی توکار، می‌توانید روش خودتان را بسازید، اما باید تشخیص دهید چه چیزی مجموعه است و چه چیزی نیست. در عوض، اگر تصمیم بگیرید از متدهای تخت‌سازی توکار استفاده کنید، باید یک نوع Stream جدید بسازید تا رفتار نادرست را بازنویسی کنید.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Pharo Exercism

آماده‌اید مسطح کردن آرایه را شروع کنید؟

در Exercism ثبت‌نام کنید تا Pharo را همراه با 50 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.