কমান্ড লাইন থেকে Bnlang স্ক্রিপ্ট চালানো

bnl CLI রানটাইমের একমাত্র এন্ট্রি পয়েন্ট। এটি একটি স্ক্রিপ্ট ফাইল চালাতে পারে, -e দিয়ে ইনলাইন কোড ইভ্যালুয়েট করতে পারে, অথবা কোনো আর্গুমেন্ট ছাড়া কল করলে REPL-এ ঢোকে।


Running a Script File

# Run a script
bnl hello.bnl
// file: hello.bnl
print("Hello, World!");

Inline Code with -e

bnl -e 'print(1 + 2);'
# 3

Starting the REPL

bnl কোনো আর্গুমেন্ট ছাড়া চালালে একটি ইন্টারেক্টিভ প্রম্পট খুলে। ভাষা যাচাই বা stdlib কল ট্রাই করতে কাজে লাগে।

bnl
> print("hi");
hi
> 1 + 2
3

Passing Arguments

স্ক্রিপ্ট পাথের পরে (বা -e কোডের পরে) যা কিছু থাকে, তা স্ক্রিপ্টের কাছে ফরওয়ার্ড হয়। sys.arg(i) / sys.argc() দিয়ে পড়ুন।

// file: greet.bnl
import "sys" as sys;

var name = "Guest";
if (sys.argc() > 0) {
    name = sys.arg(0);
}
print("Hello,", name);
bnl greet.bnl Alice
# Output: Hello, Alice

Best Practices

  • স্ক্রিপ্ট ছোট এবং নির্দিষ্ট রাখুন — প্রতিটি ফাইলে একটি এন্ট্রি পয়েন্ট।
  • কয়েকটির বেশি আর্গুমেন্ট হলে, প্রপার ফ্ল্যাগ পার্সিং-এর জন্য sys.arg থেকে cli মডিউলে শিফট করুন।
  • CI লগে bnl --version ব্যবহার করুন, যাতে জানা যায় কোন ইন্টারপ্রেটার কোন আউটপুট তৈরি করেছে।