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

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

nim チュートリアル (3) (result variable, proc)

つづき

procedures

Javaのメソッド, PHPのfunction、Rubyのdefみたいなものかな

戻り値はreturn を書いたらそれをつかうけど、returnなかったらresultという変数の中身が返却される

proc calc(x: varargs[int]): int = 
    for i in x:
        if i < 0:
            return
    result = result + i

echo calc()          # 0
echo calc(1,2,3)   # 6
echo calc(4,4,5)  # 13
proc calc(x: varargs[int]): int = 
    for i in x:
        if i < 0:
            return
   return 100

echo calc()          # 100
echo calc(1,2,3)   # 100
echo calc(4,4,5)  # 100
proc calc(x: varargs[int]): int = 
    result = 4
    for i in x:
        if i < 0:
            return


echo calc()          # 4
echo calc(1,2,3)   # 4
echo calc(4,4,5)  # 4

resultっていうのが、返却されるってのは暗黙だなーと。... 本家はこちら