本稿では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/ |