本稿ではNim言語 (旧称: Nimrod) の構文を紹介します。
Nim言語の概要やインストール方法については、ブログ記事があるのでそちらをご参照下さい。
| #!/usr/bin/env bash | |
| remove() { | |
| if [ -e $1 ]; then | |
| rm -rf $1 | |
| fi | |
| } | |
| remove c | |
| echo "c (not optimized) compile" |
| from os import path | |
| print(path.relpath('/a/b', '/a')) # >>> b | |
| print(path.relpath('/a', '/a/b')) # >>> .. | |
| from pathlib import Path | |
| a = Path('/a') | |
| b = Path('/a/b') | |
| print(b.relative_to(a)) # >>> b |
| snippet import | |
| alias imp | |
| abbr import ... | |
| options head | |
| import ${0:#:module} | |
| snippet from | |
| abbr from ... import ... | |
| options head | |
| from ${1:#:package} import ${0:#:module} |
本稿ではNim言語 (旧称: Nimrod) の構文を紹介します。
Nim言語の概要やインストール方法については、ブログ記事があるのでそちらをご参照下さい。
| # これはコメント | |
| const f: string = "Fizz" # 定数(変更不可) | |
| var b = "buzz" # 変数(変更可) 型指定は必須ではない | |
| b = "Buzz" # 変数の値を変更 | |
| for i in 1..100: # 1から100までforループ | |
| if i mod 15 == 0: # == で比較 | |
| echo(f & b) # 文字列連結(&) して標準出力へ | |
| elif i mod 5 == 0: # else if な時はPython同様elif | |
| echo b # echoは括弧なしでもOK | |
| elif i mod 3 == 0: |
| proc fib(n: int): int = | |
| if n < 2: | |
| return n | |
| else: | |
| return fib(n - 1) + fib(n - 2) | |
| echo(fib(30)) |
| echo "Hello, world!" |
| <?xml version="1.0" encoding="utf-8" ?> | |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
| <!-- This file is generated by Nimrod. --> | |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
| <!-- Favicon --> | |
| <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD/ |