উত্তর:
গ্রোভির যেমন ইওল চিহ্নিতকারী নেই (যেমন ;
) আপনি নিম্নলিখিত লাইনে অপারেটরটি রাখেন তা বিভ্রান্ত হয়ে পড়ে
এটি পরিবর্তে কাজ করবে:
def a = "test" +
"test" +
"test"
গ্রুভি পার্সার যেমন নিম্নলিখিত লাইনে কিছু আশা করতে জানেন
গ্রোভি আপনার মূলটিকে def
তিনটি পৃথক বিবৃতি হিসাবে দেখবে । প্রথমটি নির্ধারিত test
হয় a
, দ্বিতীয় দুটি "test"
ইতিবাচক করার চেষ্টা করে (এবং এটি এখানে ব্যর্থ হয়)
সঙ্গে new String
কন্সট্রাকটর পদ্ধতি, খাঁজকাটা পার্সার, কন্সট্রাকটর এখনও (যেমন বক্রবন্ধনী এখনো বন্ধ হয় নি) তাই এটা কথাটি একটি একক বিবৃতি মধ্যে একসঙ্গে তিন লাইন যোগ দিতে পারেন
সত্যিকারের বহু-লাইন স্ট্রিংগুলির জন্য, আপনি ট্রিপল উদ্ধৃতিটি ব্যবহার করতে পারেন:
def a = """test
test
test"""
তিনটি লাইনে পরীক্ষা দিয়ে একটি স্ট্রিং তৈরি করবে
এছাড়াও, আপনি এটিকে আরও সুন্দর করে তৈরি করতে পারেন:
def a = """test
|test
|test""".stripMargin()
stripMargin
পদ্ধতি বাম ছাঁটা হবে (প্রয়োজন এবং সহ |
প্রতিটি লাইন থেকে গৃহস্থালির কাজ করা)
stripMargin()
।
|
অতিরিক্ত লাইনে
"""
স্ট্রিংয়ের ভিতরে ডাবল উক্তি ব্যবহার করতে পারেন
stripIndent()
কাজটি করার জন্য আপনাকে কীভাবে কোডটির সামান্য পুনরায় ফর্ম্যাট করতে হবে তা উত্তর দেওয়ার জন্য আমি সম্পাদনা করেছি ।
আপনি গ্রোভিকে বলতে পারেন যে বিবৃতিতে এক জোড়া বন্ধনী যুক্ত করে শেষের লাইনটি মূল্যায়ন করা উচিত ( ... )
def a = ("test"
+ "test"
+ "test")
দ্বিতীয় বিকল্পটি হ'ল \
প্রতিটি লাইনের শেষে একটি ব্যাকস্ল্যাশ ব্যবহার করা :
def a = "test" \
+ "test" \
+ "test"
এফডাব্লুআইডাব্লু, পাইথন মাল্টি-লাইন স্টেটমেন্টগুলি কীভাবে এটি কাজ করে তার সমান।
এর মতো stripMargin()
, আপনি স্ট্রিপইন্ডেন্ট () পছন্দও ব্যবহার করতে পারেন
def a = """\
test
test
test""".stripIndent()
কারণে
সর্বাধিক সংখ্যক শীর্ষস্থানীয় স্পেস সহ লাইনটি সরানোর জন্য সংখ্যা নির্ধারণ করে।
আপনাকে প্রথম "পরীক্ষা" ইনডেন্ট করতে হবে এবং সরাসরি ইনিটাল পরে লাগাতে হবে না """
(এটি \
নিশ্চিত করে যে মাল্টি-লাইনের স্ট্রিংটি একটি নতুন লাইন দিয়ে শুরু হবে না)।
def a = b + + "/" + c
। এই ক্ষেত্রে দুটি + চিহ্ন অবশ্যই স্পষ্টতই সমস্যা।