ソフトウェアエンジニアの日常の雑記

日々思ったことをまとめます

nim lang チュートリアル (2) ( while , for , scope , block , break,whenstatement)

nim lang チュートリアルの つづき

while statement

while文は普通にある 書き方も目新しくはない

echo "What's your name?"
var name = readLine(stdin)

while name == "":
    echo "Please tell me your name: "
    name = readLine(stdin)

for statement

for文もある

## countup
for i in countup(1,10):
    echo i

## countdown
for i in countdown(10,1):
    echo i

## incでincrement
var i = 1
while i <= 10:
    echo i
    inc(i)

## レンジ指定 昇順
for i in 1..10:
    echo i  # 1 2 3 4 5 6 7 8 9 10

## レンジ指定 降順
for i in 0..<10:
    echo i  # 1 2 3 4 5 6 7 8 9

var str = "some string"
for i in 0..<str.len:
    echo i 

Scope and block statement

block内で宣言したものは、blockの外では使えない JavaとかJSとかと同じ

block myblock:
    var x
echo x   # Error: undeclared identifier: 'x'

blockステートメントがある。機能としては何もしないが、名前付きのblockスコープが作れる。 whileとかの中で、breakにblockスコープを指定するとそのblockの外に出られる

block myblock1:
    echo "in myblock1"
    while true:
        ...
本家はこちら