একটি ফাংশন সংজ্ঞা উপস্থাপন করে একটি স্ট্রিংয়ের একটি ইনপুট দেওয়া হয়েছে, নিউলাইনগুলি এবং স্পেসগুলি সন্নিবেশ করা হয়েছে যাতে ফাংশনের আর্গুমেন্টগুলি নিউলাইন-পৃথক এবং প্রান্তিক হয়।
ইনপুট স্ট্রিং নিম্নলিখিত প্যাটার্ন অনুসরণ করবে:
প্রথমে এটি একটি উপসর্গ দিয়ে শুরু হবে যা সর্বদা কমপক্ষে একটি অক্ষর দীর্ঘ এবং এতে কোনও অক্ষর থাকে না
,()
।একটি খোলা বন্ধনী (
(
) এরপরে আর্গুমেন্ট তালিকার শুরুটি চিহ্নিত করবে।শূন্য বা আরও বেশি আর্গুমেন্টের একটি তালিকা অনুসরণ করবে। এগুলি স্ট্রিং
", "
(কমা এবং তারপরে একটি স্পেস) দ্বারা পৃথক করা হয় । যুক্তিগুলির কোনওটিতেই কোনও অক্ষর থাকবে না,()
।একটি ঘনিষ্ঠ বন্ধনী (
)
) আর্গুমেন্ট তালিকার শেষ চিহ্নিত করবে।সর্বশেষে, একটি পোস্টসাফিক্স পাওয়া যেতে পারে, যা শূন্য বা তার বেশি অক্ষরের দীর্ঘ এবং হতে পারে অক্ষর
,()
।
ইনপুট স্ট্রিংটি কেবল মুদ্রণযোগ্য এএসসিআইআই (যার অর্থ এটি কখনই কোনও নতুন লাইন ধারণ করে না) নিয়ে গঠিত।
আউটপুট অবশ্যই হবে:
উপসর্গটি, ভার্বাটিম অনুলিপি করে এবং খোলা প্রথম বন্ধনী।
আর্গুমেন্টের তালিকা, এই সময়টি
", "
কমা, নিউলাইন এবং পৃথকভাবে প্রতিটি আর্গুমেন্টের প্রথম অক্ষরকে উল্লম্বভাবে সারিবদ্ধ করার জন্য যতগুলি স্পেস দ্বারা আলাদা করা হয়নি ।নিকটবর্তী পেরেন এবং পোস্টফিক্স (এটি বিদ্যমান থাকলে) ভার্ব্যাটিম।
যেহেতু এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জিতবে।
পরীক্ষার কেসগুলি (ফর্ম্যাট: একক লাইন ইনপুট এর পরে আউটপুট ডাবল নিউলাইন অনুসরণ করে):
def foo(bar, baz, quux):
def foo(bar,
baz,
quux):
int main() {
int main() {
fn f(a: i32, b: f64, c: String) -> (String, Vec<i32>) {
fn f(a: i32,
b: f64,
c: String) -> (String, Vec<i32>) {
function g(h) {
function g(h) {
def abc(def, ghi, jkl, mno)
def abc(def,
ghi,
jkl,
mno)
x y z(x, y, z) x, y, z)
x y z(x,
y,
z) x, y, z)
a>>" "
সত্যিই চতুর ...