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

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

nim lang チュートリアル(readLine,if,case,let,const)

こちらの写経 -> https://nim-lang.org/docs/tut1.html

echo "What's your $name ?"
var name = readline(stdin)
echo "Hi, " , name , " !"

標準入力

readline(stdin) で標準入力を受け付けるもよう JavaSystem.inみたいなものかな

コンパイルは下記コマンドで

$ nim c Hello.nim
$ ./Hello

変数宣言はTypescriptっぽい感じ

var 変数名: 型

// 代入の場合
var 変数名: 型  =  値

// まとめて指定もできる
var x , y : int

// 改行で指定もできる
var
  x , y: int
    a,b,c: string

// まとめて代入もできる
var
  x , y: int = 1
    a,b,c: string = "abcdefg"

const と let

constが使える。Javaでいうstatic final な感じかな

const x = "abc"
x = "def"  // <- エラーになる

letも使える。Javaでいfinalな感じかな。

let x = "abc"
x = "def"

上の2つの例をみるとconstとletの違いが無いように思えるが、constはコンパイル時に値が決定している。 letは使用時に1度だけ値を入れることが可能になる

let x = readLine(stdin)     // OK

const x = readLine(stdin)  // NG

このような感じである

if statement

if文では、Pythonと同じようにインデントで制御されるので、イ... 本家はこちら