トップページ > プログラム > 2016年04月26日 > XWVUSc0/

書き込み順位&時間帯一覧

25 位/204 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000010000000012



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
プログラミング言語 Rust

書き込みレス一覧

プログラミング言語 Rust
578 :デフォルトの名無しさん[sage]:2016/04/26(火) 14:06:23.04 ID:XWVUSc0/
>>577 ";"を付けて、この式の値は使わない(unit型)だとプログラマが明示してやると色々便利だから。
";"の有無でその式の値を返す(使う)かどうかをreturnを使わずに指定できる。
もしreturn文が必須ということになると、{}で一連の処理をブロック化して書くときにも"return 値"が必須になって、エラーのため大域脱出したいときに困る。

というのが建前。Algol系列で演算子のユーザー定義ができない文法だから、省略してもいいような箇所、例えばlet文の末尾とかあるとは思う。
元々OCamlで開発されてたせいで、MLの香りが随所に残っているという歴史的経緯と、
構文解析しやすいっていう本音と、先々の拡張に今のコードが耐えうる形にしたいのでは、という推測がある。
プログラミング言語 Rust
582 :デフォルトの名無しさん[sage]:2016/04/26(火) 23:29:34.25 ID:XWVUSc0/
1. Rust
2. Ruby
3. OCaml
Rustは型注釈もML系からもっと輸入すべきだったと思う。
fn foo<T, U>(x: T) -> U より、fn foo: 'T -> 'Uとか fn foo:: T, U => T->Uとかの方が見やすい。
lifetime parameterをどう書くかを考慮する必要はあるけど、
型注釈と変数が一緒になってるより良いと思う。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。