পিবি (ননক্যামেটিং), 125 বাইট
^w[B!0]{>}w[B!45]{<w[B=10]{t[T+1]b[0]}}v[X]vw[T!0]{vb[124]<[X]b[124]>w[B=0]{>}t[T-1]}w[X!1]{<b[95]}<w[B!0]{^}w[Y!-1]{b[47]>^}
আপনার এই উত্তরটি চালানোর জন্য পিবিআইয়ের সংস্করণটি প্রশ্নের চেয়ে নতুন। এটি পুরানো সংস্করণগুলিতে কাজ করত ব্যতীত আমি কখনই ইনপুটটিতে নতুন লাইনের অনুমতি দিতে পারিনি। আচ্ছা ভালো.
প্রথমত, এটি ইনপুটটিতে নতুন লাইন গণনা করে বাক্সের উচ্চতা নির্ধারণ করে। এটি যখন জানা হয়ে যায়, এটি বাক্সের ডান পাশের ওয়াই অবস্থানে যায়, যেখানে এটি হওয়া দরকার সেখানে নেমে যায় এবং wallsাকনা দিয়ে শেষ করে দেয়াল এবং মেঝে আঁকেন।
এই মজাদার অ্যানিমেশনটি দেখুন!
দীর্ঘ বিরতি হ'ল ব্রাশটি ইনপুটটির উপরে চলে over
Ungolfed:
^w[B!0]{>} # Go to the end of the input
w[B!45]{< # Head left until hitting a hyphen
w[B=10]{ # For each newline on the way:
t[T+1] # Count it
b[0] # Delete it
}
}
v[X] # Move down as far as it is right + the number of \n
v # ...plus one
w[T!0]{ # While the counting variable is nonzero:
vb[124] # Go down and draw a pipe
<[X]b[124] # Draw a pipe on the left as well
>w[B=0]{>} # Go back to the right side
t[T-1] # Decrement variable
}
w[X!1]{<b[95]} # Draw the bottom of the box
<w[B!0]{^} # Go up the left wall
w[Y!-1]{b[47]>^} # Go up and right, drawing the lid