পাওয়ারশেল v3 +, 55 বাইট
param($a,$b)1..$b|%{"|$((' ','-')[$_-in1,$b]*($a-2))|"}
ইনপুট নেয় $a
এবং $b
। থেকে loops 1
জন্য $b
। প্রতিটি পুনরাবৃত্তি, আমরা একটি একক স্ট্রিং নির্মাণ। মাঝখানে দুটি একক দৈর্ঘ্যের স্ট্রিংগুলির একটি অ্যারে থেকে নির্বাচিত হয়, তারপরে স্ট্রিং-দ্বারা বহুগুণ হয় $a-2
, যখন এটি পাইপ দ্বারা বেষ্টিত থাকে। ফলস্বরূপ স্ট্রিংগুলি পাইপলাইনে ফেলে রাখা Write-Output
হয় এবং প্রোগ্রামের সমাপ্তির পরে ডিফল্ট নিউলাইন বিভাজক সহ আউটপুট ঘটে।
বিকল্পভাবে, 55 বাইটেও
param($a,$b)1..$b|%{"|$((''+' -'[$_-in1,$b])*($a-2))|"}
এইটি সম্পর্কে এলো কারণ আমি তার পরিবর্তে একটি স্ট্রিং ব্যবহার করে মাঝপথে অ্যারে নির্বাচনকে গল্ফ দেওয়ার চেষ্টা করছিলাম। যাইহোক, [char]
সময়গুলি [int]
সংজ্ঞায়িত না হওয়ায় আমরা পেরেনস এবং স্ট্রিং হিসাবে স্ট্রিং হিসাবে কাস্ট করার প্রয়োজনে সঞ্চয়গুলি হারাতে পারি ''+
।
দুটি সংস্করণ -in
অপারেটরের জন্য v3 বা আরও নতুন প্রয়োজন require
উদাহরণ
PS C:\Tools\Scripts\golfing> .\draw-an-ascii-rectangle.ps1 10 3
|--------|
| |
|--------|
PS C:\Tools\Scripts\golfing> .\draw-an-ascii-rectangle.ps1 7 6
|-----|
| |
| |
| |
| |
|-----|
Ị
:) এর দুর্দান্ত ব্যবহার