Lua:
স্ট্রিং এর দৈর্ঘ্য চিহ্নিত করা
কিভাবে:
Lua-তে, একটি স্ট্রিংয়ের দৈর্ঘ্য আপনি #
অপারেটর ব্যবহার করে পেতে পারেন। সহজ এবং দ্রুত।
local myString = "Hello, Lua!"
print(#myString) -- আউটপুট: 11
আপনার স্ট্রিং যদি নিউলাইন অক্ষর বা খালি থাকে তাহলে কি হবে?
local stringWithNewline = "Hello\nLua!"
local emptyString = ""
print(#stringWithNewline) -- আউটপুট: 10
print(#emptyString) -- আউটপুট: 0
নিউলাইন সহ, Lua-তে প্রতিটি অক্ষর গণনা করা হয়। এবং হ্যাঁ, একটি খালি স্ট্রিং এর দৈর্ঘ্য ০।
গভীর ডুব
আগের দিনে, কিছু ভাষায় স্ট্রিংগুলি ব্যবহার করা আরও জটিল ছিল। আপনার একটি স্ট্রিংয়ের দৈর্ঘ্য পেতে ফাংশন বা মেথড প্রয়োজন হতে পারে। আজ, Lua-তে, এটি #
অপারেটর ব্যবহার করে সরাসরি সম্ভব।
বিকল্প? যদি আপনি ইউনিকোড অক্ষরগুলি নিয়ে কাজ করছেন, #
অপারেটর মাল্টি-বাইট অক্ষরগুলির সাথে সমস্যা তৈরি করতে পারে। এই ক্ষেত্রে, আপনি utf8
এর মতো লাইব্রেরিগুলি অন্বেষণ করবেন। Lua 5.3 থেকে এই অন্তর্নির্মিত লাইব্রেরিটি চালু হয়েছে।
local unicodeString = "こんにちは" -- এটি জাপানিতে "হ্যালো"
print(#unicodeString) -- আউটপুট আপনাকে চমকে দিতে পারে যদি আপনি মাল্টি-বাইট অক্ষরের জন্য প্রস্তুত না থাকেন!
print(utf8.len(unicodeString)) -- আউটপুট: 5 অক্ষর যেমনটা প্রত্যাশিত
উল্লেখযোগ্য একটি বিস্তারিত: Lua স্ট্রিংগুলিকে অপরিবর্তনীয় এবং আভ্যন্তরীণভাবে পুনর্ব্যবহার করার একটি প্রক্রিয়া ব্যবহার করে যাকে স্ট্রিং ইন্টার্নিং বলা হয়। এটি মেমরি সাশ্রয় করে এবং স্ট্রিং দৈর্ঘ্য অপারেশনগুলোকে দ্রুত করে তোলে।
আরও দেখুন
- Lua 5.4 রেফারেন্স ম্যানুয়াল: স্ট্রিং ম্যানিপুলেশন – https://www.lua.org/manual/5.4/manual.html#6.4
utf8.len
ফাংশন – ইউনিকোড স্ট্রিংগুলি যথাযথভাবে হ্যান্ডল করার ডাইভ – https://www.lua.org/manual/5.4/manual.html#pdf-utf8.len- Lua-র কিছু ইতিহাস এবং স্ট্রিং ইন্টার্নিং তথ্য – https://www.lua.org/doc/hopl.pdf