generated at
Nim


実行
コンパイルして実行
$ nim c -r hoge.nim
build
$ nimble build
test
$ nimble test
nimのバージョンを上げる
$ brew upgrade nim
外部ライブラリを使う
わからん..

Nimのメタプログラミング
Nimのstrfmt
fmt を使うか、 & を使うか
開業の取扱が異なる ref
デバッグ
echo repr(hoge)
forward declaration
{.reorder: on.} を使う?


詳しい

2023/8/1にv2.0


Nimのメモリ管理
Nimにもmove semanticsあるんや

コーディングルール

変わった機能
マイナスインデックス配列
nim
var a : array[-50..50,int] a[-10] = 72
repr() 関数で値の中身を確認することができる
jsのconsole.log, PHPのvar_dump的なやつ

オブジェクト指向

Webフレームワーク
asynchttpserver
httpbeast
jester
prologue
basolato
phoon
akane
rosencrantz
whip
servy
geminim



Parameters~のところ
Javascriptとのあれ
nimbleのパッケージ管理
リスト内包表記
discard文
do記法
列挙型
ordinal types
Subranges
集合型
型変数
デバッグ
タプル
レファレンス型とポインタ型
Distinct type


nim
import typetraits echo hoge.type.name
型のチェックができる
型クラス
pragma

メモのメモ後で調べるやつ
concepts
nil型
ポインタ例

理解していないところ
おもろそうな記事
coding rule
非同期処理
プロファイリング
macro,templateを競プロで使っている人t
2引数時の関数型っぽい書き方
Nim
m.sort(cmp) sort m, cmp # 同じ

typeやletと同じようにprocも一気に宣言できれば便利なのでは
こうすれば、あるオブジェクトに生えるメソッドと独立している関数を隔離することができるので、可読性もあがる
Nim
proc hoge(s: int) = s - 2 piyo(s: int) = s + 2 fuga(s: int) = s * 2

moe
Nim製エディタ

フロントもバックもNim

PythonをNimに置き換える

書籍


参考