Products/ylang
ylang 0.0.3 - yet another programming language — retro, C-like, and Pythonic
swJman
2025. 11. 18. 02:54
일주일 만에 또 릴리즈. 신난다.
https://github.com/jman-9/ylang/releases/tag/v0.0.3
Release ylang 0.0.3 - yet another language · jman-9/ylang
yet another programming language — retro, C-like, and Pythonic Highlights Supported module system Added built-in modules: json, file, rand, math, sys Enhanced primitive modules See README.md fo...
github.com
큰 변화는 바로 모듈 시스템 제공이 되시겠다.
그러면서 빌트인 모듈도 몇개 제공하게 되었고, 이제 조금은 그럴 듯한 코딩을 해 볼만 하다.
아래 예시를 통해 부연을 대신하겠다.
println("=== string example ===");
a = "hello world";
println(a);
println(a.len());
println(a.find("world"));
println(a.substr(0, 5));
b = a.replace("world", "ylang");
println(b);
println("a b c d".split());
println("apple,banana,,grape".split(","));
println("\n\n");
println("=== list-dict mixed example ===");
users = {
'alice': [10, 20, 30],
'bob': [5, 15, 25]
};
println(users.keys());
users['alice'].append(40);
println(users['alice']);
v = users['bob'].pop_back();
println(v);
include math;
include rand;
include sys;
fn main() {
println("\n\n");
println("=== Built-in Module Showcase ===");
println('This example demonstrates how to use sys, rand, and math modules.');
println();
println("[1] System Information:");
println("Executable: " + sys.executable);
println("Arguments: {sys.argv}");
println();
println("[2] Random Number Example:");
rand.randomize_timer();
r = rand.get(1, 10);
println("Random number between 1 and 10: {r}");
println();
println("[3] Math Functions:");
x = 1.57079632679; // ~ pi/2
println("sin(pi/2) = {math.sin(x)}");
println("sqrt(2) = {math.sqrt(2.)}");
println();
println("=== End of Example ===");
}
아래는 위 코드를 직접 실행한 모습이다.
