本家はこちら
つづき
distinct
これは他の言語でもあるのかな。理解するまで時間がかかったものだが、どうやらある型をベースに 異なる型を生成するもよう。
下記の例だとエラーになる
type Dollar = distinct int
var d: Dollar
echo d + 1 // Error: type mismatch: got (Dollar, int literal(12))
int型をベースにDollar型を生成している。 だが、演算子までは使えない
modules
nimはmodule機構がある
import
おなじみimport
import strutils
モジュール内の関数を読み込まないこともできる
import strutils expect isDigit
var a: string = "1"
echo isDigit(a) // Error: undeclared identifier: 'isDigit'
コンパイルエラーになる
from statement
moduleの中からなにを使えるようにするか選択できる
from mymodule import x ,y ,z
x() # OK
from mymodule import nil
x() # error
mymodule.x() # OK
aliasも指定できる
from mymodule as m import nil
m.x() # OK
include statement
モジュールのファイル分割時に使用するみたい
include fileA , fileB , fileC