つづき
parameters
var変数をproceduresに渡すと参照渡しになるっぽい
proc divmod(a, b: int; res, remainder: var int) =
res = a div b # integer division
remainder = a mod b # integer modulo operation
var
x, y: int
divmod(8, 5, x, y) # modifies x and y
echo x # 1
echo y # 3
discard
voidっていうのはないので、戻り値を無視する場合は、discardをつけて呼び出す
proc yes(question: string) bool =
return true
# yes("question") # Error: expression 'yes("question")' is of type 'bool' and has to be discarded
discard yes("question")
discardable をつけても戻り値を無視できる
proc p(x, y: int): int {.discardable.} =
return x + y
p(3, 4)
ただ無視するだけなので、echo とかつけたら表示はできる
proc p(x, y: int): int {.discardable.} =
return x + y
echo p(3, 4) # 7
... 本家はこちら