- 1 名前:デフォルトの名無しさん [2017/10/14(土) 17:38:14.04 ID:uWD69LeP.net]
- Mozilla発のプログラミング言語「Rust」のスレです
公式 https://www.rust-lang.org/ https://blog.rust-lang.org/ https://github.com/rust-lang/rust 前スレ プログラミング言語 Rust 3 https://mevius.5ch.net/test/read.cgi/tech/1495343069/
- 252 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 19:53:35.95 ID:FoN8LV5Y.net]
- あー分かった
ノベルゲームだろ?
- 253 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:33:57.00 ID:Vllmf8cf.net]
- ノベルゲームだったらスクリプトやマルチメディア系のタグを殺す意味が判らない
- 254 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 22:15:49.83 ID:bWSaVEO9.net]
- >>243 librsvgでSVGをいじくり回すんじゃダメ?
・Rustバインディング(rsvg-rs)あり ・CSS,XSLT,DOM操作で加工可能
- 255 名前:243 mailto:sage [2017/11/25(土) 01:18:11.42 ID:P27kKgvI.net]
- >>246
ありがとう。SVGって文字を扱えるんだっけ・・・って調べてみたら扱えるみたいですね 行けそうな気がしますがGPL/LGPL系のライセンスは使えるライブラリを制限するので避けたいです C++だけどsvgrenとか?情報少なすぎてちゃんと動くのかすら不明。日本語フォントとか大丈夫なのだろうか CでラップしてさらにRustでラップするようなのかな
- 256 名前:デフォルトの名無しさん [2017/11/25(土) 05:40:17.26 ID:lbdvAXfn.net]
- Javaも最初の頃はマトモに書いてもコンパイル通らなかったこといくらでもあったもんな。
- 257 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 12:29:42.95 ID:r7AGpeaJ.net]
- >>215
本気の荒らしと本気の自演と本気の無自覚アスペはいいのか…? 自分に都合がよいものだけが都合よく残るって都合よく考えるなって言われてるんだろ
- 258 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 13:02:12.25 ID:kotn+Cy/.net]
- 終わった話題に粘着する人キター
- 259 名前:デフォルトの名無しさん [2017/11/25(土) 13:14:26.95 ID:lbdvAXfn.net]
- RustでGUIってイケてる?っていうか、GUIライブラリ多すぎるだろ・・、
GtkとQtメインでやってるけど、JavaFXもいいし、Pythonなんてバインディング沢山あるし、 Rustなんてやりだしたら、もうキリがないよ・・・
- 260 名前:デフォルトの名無しさん [2017/11/25(土) 13:15:21.53 ID:lbdvAXfn.net]
- もうどれか一つでGUI決めてくれねえかな・・。スゲエ、面倒。
- 261 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 13:19:24.38 ID:ZL0yjpO8.net]
- おじいちゃん、GUIはブラウザってきまったでしょ?
- 262 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 13:39:30.15 ID:alyoZhJV.net]
- GUIはElectronみたいな方向に行ったほうがいいのかね
- 263 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 13:42:04.43 ID:kotn+Cy/.net]
- Blink を Servo で置き換えた Selectron 来い
- 264 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 14:09:00.72 ID:OgtFvRib.net]
- >>238
バカが調子に乗って新しい言語使って書き散らしたコードをメンテする経験をすればわかるようになるよ。
- 265 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 14:37:28.91 ID:mxSpQEHX.net]
- 言語じゃなくてそのバカをdisれよw
- 266 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 14:41:23.39 ID:P27kKgvI.net]
- 個人的に検討するGUIフレームワーク
簡単な奴→MS HTAやElectronなど。Webで使われている技術で実装できる 凝った奴→wxWidgets。高機能かつ高速、大抵の物は作れるが罠もある。もしくはAPI直叩き 昔結構悩んだけど結局上記あたりに落ち着いた。当時検討した物 GTK→LGPLウザイ。パフォーマンスが良くない(最近は良くなった?) Tk→低機能で作れない物がある。パフォーマンスが良くない Qt→LGPLウザイ。パフォーマンスが良くない JavaFX→パフォーマンスは悪くないがJREの初期化(≒起動)に時間がかかる >>256 バカに無計画にコードを書かせているバカが問題なのであって言語が悪いわけではないだろう
- 267 名前:あ mailto:sage [2017/11/25(土) 14:57:49.91 ID:UfRnLBpA.net]
- >>249
良いだろ。というか、それらを止めるのは現実的な方法では不可能。イエスマンを集めて楽しくワイワイ()になるぞ。 記名制のフォーラムでも本気の荒らしや本気のアスペや本気の無自覚は幾らでも居たんだから。
- 268 名前:デフォルトの名無しさん [2017/11/25(土) 17:24:23.29 ID:oLmjygAJ.net]
- hyperってシングルスレッドなんなね
ベンチマークも結果がバラバラでよう分からん
- 269 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 21:02:37.96 ID:OgtFvRib.net]
- >>258
まあそうなんだが、 言語によって弾けるとする linus の意見には賛同するところはある。
- 270 名前:デフォルトの名無しさん [2017/11/25(土) 21:09:22.03 ID:3zoUsuFj.net]
- >>256
そういうやつって言語関係なく台無しにしてるんじゃね?
- 271 名前:デフォルトの名無しさん [2017/11/25(土) 21:22:20.34 ID:LOgLWN1+.net]
- >>262
確かに、そういう奴ってどの言語使っても大体はクソコードを書くだろうな。 ただし、ベストプラクティスを教えてくれるやつがいるかどうかで差はあると思う。 新興言語はベストプラクティスを教えてくれる奴が極端に少ないから、余計にひどくなる。 対して、普及している言語は周りにベストプラクティスを教えてくれる人がいれば バカでもある程度はマシなコードを書く(書くことを強制される)んじゃないかな。
- 272 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 21:32:32.35 ID:OgtFvRib.net]
- >>262
関係ないんだが 「関係ない」ということを理解せずに無駄に新しい言語推しで 現場嵐してくることが問題。まずはてめーのコードを直せと。
- 273 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 21:34:35.12 ID:WRH8mdq5.net]
- そのバカと言語disに走るID:OgtFvRibは同レベルだよ。
- 274 名前:デフォルトの名無しさん [2017/11/25(土) 23:18:19.74 ID:3zoUsuFj.net]
- >>265
単語の断片に反応してるだけの思い付き厨だろうな。
- 275 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 00:38:40.95 ID:FoFKguj9.net]
- >>264
それって人事が無能なだけじゃあ。まぁ日本にそういう会社は多いんだけどな
- 276 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 01:44:59.31 ID:prdTxomD.net]
- いうほど言語disに走ってる訳ではないけどね。
ただ言語disに走る気持ちは理解できるってこと。 他の言語disパターンとしては単純に自分があんまり知らんから 理解する時間の節約のための dis かな。
- 277 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 02:00:15.38 ID:zvEdo3BX.net]
- rustは組み込み向けの新言語になると思ったけど、全然流行らんな
早くC++から脱したいのに
- 278 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 02:37:39.20 ID:8lbYkPLC.net]
- 昔の一部の組み込み系では製品の安定を求めるために
コンパイラのバージョンアップすら信用しない(=古いバージョンを使用し続ける)ことがあったなー
- 279 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 02:50:50.14 ID:FcDi9KjV.net]
- 『"(Rustが売りにしてるような部分に関して)良いコード"を書きたいと思っているh人』にとっては素晴らしい言語となる可能性の高い言語がRust
『"良いコード"の定義が違う人』にとっては 『"良いコード"を書きたいと思っているわけではない人』にとっては
- 280 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 02:52:44.07 .net]
- Rustがコケると得するのは誰か
- 281 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 03:23:13.42 ID:FoFKguj9.net]
- >>269
目的より手段を優先する日本じゃ無理だろw どうしてもやりたいなら自分で立ち上がるしかないんじゃないか
- 282 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 03:57:56.67 ID:2SXqucAT.net]
- >>273
rustが使いたいからその仕事を立ち上げるって明らかに手段と目的が入れ替わってますよね
- 283 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 09:03:05.51 ID:d0SJzNDY.net]
- >>272
世界中のプログラマ モジラのクソ提灯で言語未満の自称言語がひとつ減る訳だから
- 284 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 09:09:55.82 ID:4gwTKbSY.net]
- この糖質「提灯」って言葉に執着してるね。
- 285 名前:デフォルトの名無しさん [2017/11/26(日) 11:03:05.21 ID:2p4Fc6MR.net]
- >>276
執着というより単に語彙力がないだけかと。 コイツいつも大体同じようなことしか言ってないよ。
- 286 名前:デフォルトの名無しさん [2017/11/26(日) 11:11:18.98 ID:d1Efc0fJ.net]
- >>263
ガウディ本とかで計算モデルを理解してれば、慣れてるという理由で合わない用途に無理矢理押し込もうとしないんだろうけどね。
- 287 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 11:35:06.02 ID:chAORxhD.net]
- 当人は必死だけどすっかり珍獣扱い
- 288 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 16:10:47.30 ID:F1AvYoB1.net]
- 少なくともswiftに採用しようとしてる機能を先行実装しているだけでも価値ある
- 289 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 22:44:13.85 ID:mC/sVuBh.net]
- Rustが成功したから真似されたんじゃw
Apple信者さすがの言い草
- 290 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 22:54:59.36 ID:hn9uvYDF.net]
- >>281
成功?成功ってなんだっけ?
- 291 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 23:15:44.20 ID:4gwTKbSY.net]
- Swift の仕様変更と比べると、Rust のアップデートはかなり大人しいよな。
- 292 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 23:36:42.57 ID:BDpjXZu3.net]
- >>282
Rustのメモリ管理の仕組みが破綻してないことを証明しただろ! しかも実務にも耐えてる これが成功でないわけがない
- 293 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 01:38:36.80 ID:A6Q33Aj/.net]
- >>284
循環グラフとか動的計画法とか書けない言語のどこが破綻がないのかいってみろ工作員
- 294 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 01:55:07.26 .net]
- RustでDPできないの?
- 295 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 02:01:44.73 ID:Kmvld91s.net]
- 出来ない人がいるだけ
- 296 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 07:36:56.24 ID:30J1+TRs.net]
- 簡単にwasmコンパイルできる環境が整ってきたな
https://twitter.com/badboy_/status/934742946754244613 今、試したけど、Windowsでも動いた。 cargo-wa は動かんかったけど。
- 297 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 16:32:30.04 ID:UGzoAGct.net]
- このエラーメッセージ、表示されるときと(当該箇所の修正をしていないのに)も関わらず表示されないときがある
Why? error[E0605]: non-primitive cast: `{integer}` as `f64` = note: an `as` expression can only be used to convert between primitive typ es. Consider using the `From` trait このエラーメッセージが表示されるのは このエラーメッセージの示す箇所と全然無縁な箇所でコンパイルエラーが出たときに同時に表示される そしてその他所であるコンパイルエラーを解消するとこのエラーメッセージも同時に消える
- 298 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 22:23:59.13 ID:0avMxfTz.net]
- 言語構文とツーリングを改善したRust 1.21
https://www.infoq.com/jp/news/2017/11/rust-1-21-released 「Rust 1.22」リリース 2017年11月27日17:00 https://mag.osdn.jp/17/11/27/170000
- 299 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 22:38:51.64 ID:zgUQvI9i.net]
- >>270
実際、g++ なんかはバージョン違うと相当挙動違うけどね。
- 300 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 01:05:16.27 ID:oL6iYiK7.net]
- >>289 エラー時には情報足りなくてusize等に推論してるから、かなあ
構文チェック -> 型推論&チェック -> ボローチェッカーって順番でエラー出してる感じだけど、 関係無い場所でのエラーのせいでas f64してるローカル変数の型推論が不十分な可能性がある 型推論は重い処理だから何らかの最適化のせいでエラー時の挙動が分からないのではないか
- 301 名前:デフォルトの名無しさん [2017/11/28(火) 01:05:23.35 ID:YEKXo1x2.net]
- Rustでイミュータブルに拘る人は何なの?ミュータブル使えよ
- 302 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 01:26:37.66 ID:9rdMMleK.net]
- ミュータブルなんて怖いもの使えないよ〜><
- 303 名前:デフォルトの名無しさん [2017/11/28(火) 01:38:14.99 ID:YEKXo1x2.net]
- ミュータブルにする必要のない箇所をイミュータブルにする
基本はミュータブルで使え、ミュータブルしてなかったらコンパイラが教えてくれる、そのときイミュータブルに変更すればいい
- 304 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 02:15:45.91 ID:OnNJR7WO.net]
- ID:YEKXo1x2
完全に頭おかしいな
- 305 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 05:26:38.97 ID:9EzjspMa.net]
- Rustでイミュータブルに拘るのは、TypeScriptで型付けることに拘るようなもん
- 306 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 06:36:09.88 ID:oe1VgQrD.net]
- いミューダブルって、Cellの話をしているの?
- 307 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 06:49:49.21 ID:WfYnw+8u.net]
- 最近勉強し始めたんだけど、デフォでイミュータブルなのに思いのほかmutキーワード使う局面が多くて面食らってる。
- 308 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 06:56:41.60 ID:9EzjspMa.net]
- イミュータブルに拘ると、Scalaとかでもそうだが、コピーだらけになる
コピーを恐れてるとイミュータブルを徹底できないよ
- 309 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 06:59:54.84 ID:bNHGW3XK.net]
- コピーってmut並みに最適化してくれんの?
- 310 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 07:35:10.58 ID:oe1VgQrD.net]
- あ、そういうこと。むりやりイミュータブルにする人たちがいるのか
- 311 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 09:28:24.80 ID:L9vMnZgT.net]
- 静的型付け初めてなんだけどいきなりRustは敷居高いだろうか
- 312 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 10:02:32.22 ID:hv4LFVGU.net]
- >>300
> イミュータブルに拘ると、コピーだらけになる > コピーを恐れてるとイミュータブルを徹底できない 例出してみ
- 313 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 12:38:41.40 ID:Q+QzpY2X.net]
- イミュータブルとかメモリを富豪的に使うだけで性能はなんら上がらない、いかにもお偉いさんが机の上だけで考えたクソ手法だろ
なんでFortranやCが現役なのか考えたこともないやつがイミュータブルをもてはやす
- 314 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 12:59:41.96 ID:ZfJDlsQ3.net]
- メモリが富豪的って、それお前の設計が悪いだけやで
- 315 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 13:02:27.70 ID:318e3gj2.net]
- それは言い過ぎだろ
なんでもイミュータブルにするべきとは思ってないが、 並列性が必要なプログラムではイミュータブルは重要視しているよ 並列性が性能に直結しない(難しい)のは残念な話だけど……
- 316 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 13:47:27.77 ID:Q+QzpY2X.net]
- >>306
値変えないならコピーするしかないだろ。それが富豪的でなくてなんなんだ? >>307 並列計算で必要なのはイミュータビリティじゃなくて、変数スコープ分離と外部依存性の無いアルゴリズムだ 大方MPIすら使ったことないんだろうが、 共有リソースにアクセスしなきゃいけない並列プログラム組んでる時点で 設計が破綻してるとみなせると思うがそこんとこどう考える?
- 317 名前:デフォルトの名無しさん [2017/11/28(火) 14:26:25.75 ID:iQnRQ46Kx]
- 実際には、中卒でも、普通に、戒律壊せるやつがうろついてることを、まず認めろ
- 318 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 14:14:02.57 ID:hv4LFVGU.net]
- このバカ、コンパイラが良きに計らうってことを知らんのか?
- 319 名前:デフォルトの名無しさん [2017/11/28(火) 14:27:41.71 ID:iQnRQ46Kx]
- いらない仕事するな
- 320 名前:デフォルトの名無しさん [2017/11/28(火) 14:28:34.63 ID:iQnRQ46Kx]
- バカと、優秀の二元論から解放されろ
- 321 名前:デフォルトの名無しさん [2017/11/28(火) 14:36:10.62 ID:iQnRQ46Kx]
- 大人になると、rustがダメなんだ、と頭ごなしに言ってみたくなるものだなぁ
- 322 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 14:26:19.19 ID:GpBjXyhn.net]
- >>292
thx なるほど、コンパイル途中でエラーすると一部の推論に失敗してしまうのか
- 323 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 14:42:06.12 ID:LCKhcLzq.net]
- const に異常にこだわるくせに異常に長い関数書く馬鹿は見たことあるな。
その前に関数切り出せと。 たぶん Rust が一般に広まるとボローイングルールをまともに理解できなくて コンパイルできないから関数に切り出さないバカが増えると思われる。
- 324 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 15:17:40.57 .net]
- イミュータブルにすることでコンパイラによる最適化の余地が増えるんでないの?
ミュータブル派とイミュータブル派の宗教戦争勃発なの?
- 325 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 15:25:32.16 ID:Q+QzpY2X.net]
- コンパイラが善きに計らうって、
つまりconstついてた(mut非指定の)変数がレジスタ割り当ての結果変更され得る最適化が起こるってことか? さすかにそんな最適化は聞いたこと無いがソースあるのか? 即値展開ならわからんでもないが、それと並列は関係ないし
- 326 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 16:00:32.21 ID:lii/QdBe.net]
- アマゾンでオライ
- 327 名前:梶[のProgramming Rust出てるのな
アーリー版じゃ無い完全版かな? どうでも良いけど蟹座の俺が心惹かれる表紙 [] - [ここ壊れてます]
- 328 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 16:21:14.75 ID:318e3gj2.net]
- >>308
「使ったことない」って人を判断したがるのは使ったことを自慢したいから? ある数学上の問題を高速に解くために 2000年ぐらいにMPI を数ヶ月触ったことある程度で 以降は関わってないけど、それはなんか関係あるのか? 設計が破綻しているかどうかは問題によるだろ どんなに考えても共有リソースにアクセスしなきゃいけない並列プログラムなんて山ほどある 共有リソースへのアクセス削減なんてみんな取り組んでる そのための一ツールとしてイミュータビリティは重要な概念だろJK > 並列計算で必要なのはイミュータビリティじゃなくて、変数スコープ分離と外部依存性の無いアルゴリズムだ 「重要視」と言ってるのに「必要」と解釈するのか…… 変数スコープ分離という用語は知らん
- 329 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 18:02:39.24 ID:wSmX/jVF.net]
- >>318
kindle版の話か 紙版を注文しちゃってるんだが
- 330 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 18:17:27.07 ID:oL6iYiK7.net]
- ガーガー言うほど文句が出るもんでも、全力擁護すべきもんでもないと思うがね>デフォルトでimmutable
Haskellほどやり方が変わるわけでもない、C/C++のconstより明快、letとvarで分けるほど使い心地が違うものにはならない、 https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/box-syntax-and-patterns.html ↑にあるようなBoxを使って大きい構造体を関数に渡すのはRustじゃ悪手ってとこだけ知ってればいい
- 331 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 18:18:12.38 ID:Q+QzpY2X.net]
- >>319
MPIは不変性は並列化に必ずしも必要じゃないって話の例に出しただけだから、 さわった上で不変性が必要って主張するならまあそうなんだろう データを不変にして触るノードの分だけコピーすりゃそりゃデータ競合は起きないだろうが、 その分ノードへの転送量だってかかるし、メモリも食う だから富豪的で、額面上の並列度は上がっても性能には寄与しないと言ってる 俺が知らないだけでもっと良い最適化が不変変数にかかるなら完全に俺が無知晒したでめでたしなんだが
- 332 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 20:36:19.23 ID:nHLuJ5vk.net]
- 業務のDBとかででっかいBeanやテーブルさわってるとImmutableこだわると死ぬ気がする
ライブラリレベルだとImmutableすごいよさそうなんだが
- 333 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 20:40:51.18 ID:7DSslbhb.net]
- immutableがいいのはソースの可読性が高まるのと、マルチスレッド化したときにリソースアクセスに問題ないのが保証できることでしょう。バグらなない自信があるなら効率を求めてmutableにするがよろし。
- 334 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 21:07:28.65 ID:LCKhcLzq.net]
- mut にするのもそこまで困難な言語設定ってわけでもないし、
デフォルトが immutable でもいいんじゃねとは思う。 まあ大規模に作ったことはないからその際の困難はわからんけど、そこまで問題にならんのでは?
- 335 名前:デフォルトの名無しさん [2017/11/28(火) 21:37:26.40 ID:RsLfLMGU.net]
- let mutって書くのめんどくせーしvar
- 336 名前:デフォルトの名無しさん [2017/11/28(火) 21:37:34.07 ID:RsLfLMGU.net]
- 追加してほしい
- 337 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 22:58:48.40 ID:91xy27Pm.net]
- mutにするのをめんどくさくするというのが
let mut構文を採用した理由なので varはよっぽど何かない限り入らないと思う
- 338 名前:デフォルトの名無しさん [2017/11/29(水) 00:16:55.36 ID:ZRmpNQ2i.net]
- Haskellのイミュータブルは永続データ構造?参照の使いまわし?
Rustのイミュータブルは?コピーしないと使いまわせない?
- 339 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 00:58:38.85 ID:RLTBNHC0.net]
- wasmに出力するのって、依存ライブラリも全部pure Rustじゃないとダメなの?
- 340 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 03
]
- [ここ壊れてます]
- 341 名前::28:58.51 ID:wq9Dycsx.net mailto: 1.22でOptionにも?使えるようになって、haskellのMaybeモナドっぽく使えて捗るわ
ブロック内だけでも使えたら良いんだけど仕組み的に無理そうか [] - [ここ壊れてます]
- 342 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 12:04:01.36 ID:TbD0G3jq.net]
- try catchみたいな構文検討されていたような
- 343 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 19:35:23.16 ID:PZaIONIl.net]
- Rustを叩いている奴ってミラーレスカメラを叩いている一眼レフカメラ信奉者と同類に見える
大抵の場合は合理的な方が最終的に選択されるけどな
- 344 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 20:42:06.07 ID:FCGUeU3g.net]
- mutable変数扱うなバーカ、というメッセージだと思ってる
必要なら再宣言させるようにして人為バグを減らそうという魂胆は分かるぞ(Javaのfinal教徒感
- 345 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 20:50:40.91 ID:wq9Dycsx.net]
- BufReaderとかReadするStringとかにもmut必要何だからmut禁止とか無理じゃね?
不要なmutだったらワーニング出るでし、必要だったらコンパイルエラーになるでしょ 必要な形で使えば良いだけなのに一体何を議論してるんだ? ミュータブルが気に入らないならhaskellおすすめ
- 346 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 22:01:09.26 ID:pXSSowmn.net]
- Readした結果はmutableでいいのにlet mutと書かなければならんの面倒
人によってはletで再宣言するのかな
- 347 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 01:36:34.69 ID:zpCxrqzF.net]
- 例えばさ
mutな変数1つ宣言してそこに足し上げていくのと、 非mutな計算結果同士を足して新しい非mutな計算結果を作るのと 素朴に考えれば前者の方が省リソースだよな 別にその程度コンパイラの最適化やレジスタ割り当てでどうとでもなるだろうとも思うが
- 348 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 02:16:29.28 ID:ypA28Khv.net]
- https://qiita.com/koji_mats/items/62e85a87cc580e225796
これ見たんだけど、なんでwinがlet mut winじゃないんだろうって不思議に思った。 let win = gtk::ApplicationWindow::new(&app); win.set_title("Vanilla Text"); で、コードを調べてみたら、こんな感じにFFIを呼んでるだけだから、 概念的にはオブジェクトを変更してるけどRust的にはmutが要らないという仕組みらしい。 ちょっと違和感無い? fn set_title(&self, title: &str) { unsafe { ffi::gtk_window_set_title(self.to_glib_none().0, title.to_glib_none().0); } }
- 349 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 02:51:13.41 ID:AHSKxIeg.net]
- ポインタの先がどう変更されようが、ポインタを持ってるだけの側は不変。
- 350 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 03:27:18.42 ID:NyMSxVXi.net]
- gtkはgoのほうが簡単
- 351 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 07:37:17.88 ID:YOUdxrbO.net]
- Cellもしらんのか
- 352 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 13:33:26.57 ID:2d5TEUTF.net]
- Rust的な設計の指針というかコツみたいのって無いですかね…
勉強のつもりで外部のCのライブラリとの間に入るちっちゃなFFIのラッパーを書いてみたんですが、Cの感覚で書く->コンパイラに怒られてあーなるほど修正ってのを繰り返してとりあえずは動くようになったんだけど 何をするにも let foo = xxx ; { let bar = foo.xxx() ; bar.yyy() ; } { let baz = foo.zzz() ; baz.www() ; } { let bar = foo.xxx() ; bar.yyy() ; } みたいに書かないといけなくて書いた本人でも「何やねんこのウンコ!」ってなってる(´・ω・`) (Rustがって意味じゃなくて自分の書いたものがって意味で)
|

|