- 44x1carbon
- 1152
- 2
- 0
- 0
Rustのパッケージを管理するCargoというパッケージマネージャがあります。 コメントをドキュメント化してくれる機能、実行、テスト、ベンチマークも決まった書き方をしているとやってくれる。自分のパッケージ配布も可。 #frontkansai
2016-08-28 16:21:38Rustの文法をサラッと見ていきましょう 型は厳密な割に推論してくれるのでletで変数を宣言するだけです。 #frontkansai
2016-08-28 16:23:44この「丁寧に説明してるのに、全員を置き去りにする」感じこそが、おのうえさんの真髄だと思ってる。 #frontkansai
2016-08-28 16:24:01サーバーサイドの話になっていってるしこれは最終フロントエンドで書きたいからRust.js書きました来るのかな(こない) #frontkansai
2016-08-28 16:24:18変数はデフォルトでイミュータブルで、宣言した後に値を変更したりすることが出来ません。 let mut xxxxと宣言することで、定義後に入れ替えたり一部変更したりといったことが可能になります。 #frontkansai
2016-08-28 16:25:17関数の宣言 引数を取る場合は型を明示する必要がある。 戻り値がある場合も型を明示する必要がある。 returnは不要で、最後に評価されたものが返る。 簡単ですね? #frontkansai
2016-08-28 16:26:09あー、でもこうやって聞いてるとRust、便利だなぁ。コンパイル言語もいいよね、という気持ちになっていく。 #frontkansai
2016-08-28 16:31:27"from origin"まで縛れるなら、かなり処理の高速化というか実行時コストの削減がされてるんじゃないかなぁ。 #frontkansai
2016-08-28 16:32:37共通処理をSuperClassに実装すると思うが、クラスベースの関数呼び出しは処理が遅い。処理がどこにあるのかコンパイル時に決めることが出来ない。Rustはそれを嫌ってコンパイル時にtraitを使って処理の抽象化を行う #frontkansai
2016-08-28 16:33:03演算子のオーバーロードをtraitベースで可能。 struct Point {} へのAddメソッド実装は impl Add for Point {} #frontkansai
2016-08-28 16:34:04