- 1 名前:デフォルトの名無しさん mailto:sageteoff [2016/11/02(水) 03:12:40.30 ID:MYQ7Ohex.net]
- Mozillaがリリースした、プログラミング言語「Rust」について語るスレです。
www.rust-lang.org/ https://github.com/rust-lang/rust Servo https://servo.org/ https://github.com/servo/servo ◆前スレ プログラミング言語 Rust echo.2ch.net/test/read.cgi/tech/1327489549/
- 424 名前:デフォルトの名無しさん mailto:sage [2017/02/10(金) 18:19:25.15 ID:rXluJnty.net]
- しない。
それらは言語の問題ではなく、政治的な理由で消えたから。 (犯人はMSとApple)
- 425 名前:デフォルトの名無しさん mailto:sage [2017/02/10(金) 19:00:45.32 ID:Q2EFSTbD.net]
- 普通に使うの定義がさっぱり分からんけど
要素操作のために、必要以上にcloneしないといけない設計/実装してるなら増えるんじゃね cloneしなくて済むスマートな実装手法を自然に書けるようになりたい (書けないからいつも推敲してる)
- 426 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 10:28:11.76 ID:zwnL86Oa.net]
- とうとう火狐がRustなしではビルドできなくなるカウントダウン始まったな。
で、結局Rustはモジカスのオナニー以上でも以下でもなかった件について
- 427 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 10:41:16.81 ID:wHhLxWjt.net]
- 狂気丸出しのレスだな。
- 428 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 11:06:35.68 ID:7X0vvEjV.net]
- オナニーレスに触るなよ悦んじゃうだろ
- 429 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 11:14:21.57 ID:l/JrB4B7.net]
- assert!(!(Rust >= モジカスのオナニー));
assert!(!(Rust <= モジカスのオナニー)); assert!(Rust.is_nan() || モジカスのオナニー.is_nan());
- 430 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 11:31:22.65 ID:7X0vvEjV.net]
- let cum_amt = mozilla.masturbate()
.to(Some(rust)) .duration(Duration::from_secs(30)) .finish();
- 431 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 11:49:18.40 ID:zwnL86Oa.net]
- 実際モジカスのオナニーを超える範囲で使われてるならその事例教えてくれよ。
火狐みたいなオナニーブラウザの自作自演以外でよ。
- 432 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 11:49:18.81 ID:zwnL86Oa.net]
- 実際モジカスのオナニーを超える範囲で使われてるならその事例教えてくれよ。
火狐みたいなオナニーブラウザの自作自演以外でよ。
- 433 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 11:56:22.97 ID:VFoQx1wb.net]
- キチガイはすぐファビョって連投を始める
- 434 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 13:51:05.15 ID:THrV6nDM.net]
- ドユコト?
やっぱりD言語の方がいいってこと?
- 435 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 14:39:04.19 ID:zwnL86Oa.net]
- 他が良いとかじゃなくてこの言語の実用性がないっていう単純な話なんだが。
これ使うくらいならC++の方が(Rustの謳い文句に反して)はるかに使いやすいしちゃんとものができる。 だからモジカスのオナニーでしかないって話。
- 436 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 18:36:27.18 ID:3XLU4PQN.net]
- あなたに何の魅力も無いのに、あなたの主観的な評価に意味を見出だせない
実際に触ったことがある
- 437 名前:ネら「Mozillaが開発している&関係が深い」ことを評価の基、あるいはレッテル貼りに使うなんて的外れなことはしない
もっとまともな批判なら相手する人もいるだろうよ [] - [ここ壊れてます]
- 438 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 21:28:32.27 ID:7X0vvEjV.net]
- ID:zwnL86OaがいくらRustを嫌おうがお前にとってのRustの有用性が変わるわけでもないんだからほっとけよ
- 439 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 22:11:11.49 ID:2CyLjYwO.net]
- C++はツギハギだらけでダメだろ
- 440 名前:デフォルトの名無しさん [2017/02/13(月) 23:19:53.96 ID:8+uLQ/Rs.net]
- ひとまずRustで安全なJavaVMを作って><
- 441 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 23:51:37.77 ID:g/I/A31s.net]
- 実際Rustに不満がないわけではないが、せめてどこを改善すべきかくらい言えんのか……
個人的にはライブラリ周りがコミュニティ頼り過ぎるのもうちょい公式主導で整備できんもんかねと思う。
- 442 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 00:44:04.76 ID:qahXd/u8.net]
- chronoの作者とかもついに音を上げちゃったしなあ
ああいうのも本来は公式が主導してしかるべきものだわな(rust-lang-deprecated/timeの代わりとして)
- 443 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 07:37:19.09 ID:W2b/azRY.net]
- 主要なものすら外部にブン投げるスタイル、面白くて好き
chronoがダメなら次が出るだろうよ
- 444 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 08:11:42.74 ID:JAgDzlFN.net]
- 音を上げたっていうののソースは?
https://users.rust-lang.org/t/chrono-0-3-released-and-the-future/9340/7 ここ見るとまだまだやる気に見えるが。 一人でやるの限界だからコミュニティ化したいとは書いてあるけど。
- 445 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 08:21:59.52 ID:s4KAVx3x.net]
- 世間ではそれだけで音を上げたという。
ちょっとヘルプ求めただけでも。
- 446 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 08:24:38.08 ID:w7iikRzO.net]
- I had significant energy depletion that has prevented me to do *anything* that is not a daily jobって相当やで
実際しばらくはmerge commitばかりやってたわけだし
- 447 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 08:38:47.54 ID:JAgDzlFN.net]
- 音を上げたっていうからてっきりunmaintainedになったもんだと。
というか時刻系ライブラリまで外注とかRust流行らせる気あんのか?
- 448 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 08:41:04.32 ID:JAgDzlFN.net]
- いや、言語のコンセプト考えるとそこはlibc叩いてなんとかせいって感じか。
- 449 名前:デフォルトの名無しさん [2017/02/14(火) 09:01:28.39 ID:MfKEp5BT.net]
- libcの時間系の関数ってシステム時刻の変更が影響あるものしかなくて足りなく無い?
結局clock_getimeとか環境依存のが必要になる感じ
- 450 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 09:29:23.11 ID:he6YB8dM.net]
- きっとうるう秒が悪い
- 451 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 10:17:09.44 ID:gRGlEM3t.net]
- Goがなんだかんだ受け入れられたのってこの手のライブラリをほとんど公式で提供してるのもでかい気がした。
- 452 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 10:29:11.59 ID:DOzUz97u.net]
- Rust's 2017 roadmap
https://blog.rust-lang.org/2017/02/06/roadmap.html > Rust should have 1.0-level crates for essential tasks 公式もやる気を見せてるしがんばってほしいね
- 453 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 13:02:14.37 ID:yamMgOVS.net]
- D言語ももう少し根性見せろや
- 454 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 13:37:21.21 ID:EX/xGDf7.net]
- 純粋な疑問なんだが今のRustがDに勝ててる点ってケツモチ企業がいること以外になんかあったっけ。
コミュニティ規模的にはそこまで差はないよね?
- 455 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 13:46:33.71 ID:W2b/azRY.net]
- いつもの謎のD言語推し
何がお前をそうさせるのか
- 456 名前:デフォルトの名無しさん [2017/02/14(火) 15:50:24.26 ID:ze+N1Rxh.net]
- githubでfork数10倍差があるんだけどコミュニティ規模に差がないって何基準?
- 457 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 17:25:27.66 ID:EX/xGDf7.net]
- Stackoverflowの質問数から、Rustの言語自体の難解性差っぴいてだいたい同じくらい
- 458 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 17:37:38.79 ID:qahXd/u8.net]
- https://github.com/search?q=language%3ARust
>Repositories 6,413 https://github.com/search?q=language%3AD >Repositories 5,754 先発の言語でこれな時点でねえ
- 459 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 18:24:47.18 ID:tJceDBsJ.net]
- 新しい言語ほど、時刻とか日付とかは鬼門だよ
ナノ秒まで扱わせろとか元号に変換させろとかうるさい注文が来るんだから
- 460 名前:デフォルトの名無しさん [2017/02/14(火) 18:26:17.87 ID:uwayiWk9.net]
- Dのtimeは混乱してるようにみえる
- 461 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 18:56:33.55 ID:qahXd/u8.net]
- let ymd = (date.year(), date.month(), date.day());
let era = if ymd >= (1989, 1, 8) { 'H' } else if ymd >= (1926, 12, 25) { 'S' } else if ymd >= (1912, 7, 30) { 'T' } else if ymd >= (1868, 1, 25) { 'M' } else { '?' };
- 462 名前:デフォルトの名無しさん [2017/02/15(水) 08:45:00.92 ID:nJh54DV/.net]
- 日本の元号を標準ライブラリに入れろなんてバカ存在するの?
- 463 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 10:42:25.80 ID:9ZjtEPYx.net]
- 日本のIT人材水準のゴミクズ加減からするとあり得んとも言い切れんのだよな。
- 464 名前:デフォルトの名無しさん [2017/02/15(水) 11:05:55.95 ID:N3aAX75A.net]
- >>453
TimeZoneサポートしてる言語で元号入ってるのあったんじゃね
- 465 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 11:40:15.46 ID:Eq8lnkGd.net]
- >error[E0008]: cannot bind by-move into a pattern guard
あああああ! guard内ではborrowしかしてねえだろ殺すぞ!
- 466 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 12:24:37.27 ID:er7cKMeE.net]
- ちょっとワロタ、コード切り出して張り付けてみ?
考えてやんよ
- 467 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 12:58:26.10 ID:Eq8lnkGd.net]
- 当初書きたかった奴がこんな流れ
guard内ではCopyをimplしているs.xしか使用していないから本来moveの必要はないはず https://play.rust-lang.org/?gist=c2c1e71a7579c10edfe2e9ceea98f9fc こうしたらコンパイルが通ったけど、elseあたりがとてもキモい https://play.rust-lang.org/?gist=12985ffd8cef76c41dd6f3790afa0b42 まあ既にコンパイルは通ってるから直せなくても別に困らないんだけど、なんかキモい
- 468 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 13:39:24.49 ID:JsTxjjGi.net]
- あんま笑い事じゃないな…自分の手には余るわ。
- 469 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 14:48:20.04 ID:kyvGdeQY.net]
- Rustが実用に耐えない欠陥言語であることがまた一つ示された
- 470 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 15:04:13.32 ID:er7cKMeE.net]
- こんなんでどうだろう
ttps://play.rust-lang.org/?gist=22ace15b6d140db6d0c3b007ea155e8b&version=stable&backtrace=0 無用にCopy/Cloneしてんじゃねーよとは思わなくはないけど、多分COWで最適化されて実際はその動きをしない...と思いたい if elseの気持ち悪さはなくなるから、derive宣言が許されるならこれで回避したい所存
- 471 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 15:11:30.78 ID:er7cKMeE.net]
- あ、Enum::Vがテスト用に書き換えたままだ
そこは無視してくれい
- 472 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 15:56:56.27 ID:JsTxjjGi.net]
- 一応、RFCにも入ってて実装待ちになってはいるんだな
https://github.com/bluss/rfcs/blob/master/text/0107-pattern-guards-with-bind-by-move.md 馬鹿なことをしない限りは問題無さそうなんだけど、Cell::setとか使われると厄介かも
- 473 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 16:16:51.99 ID:8li9lRMw.net]
- noneのelseは確かに消したい衝動に駆られざるをえない
- 474 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 16:24:22.19 ID:kyvGdeQY.net]
- キモい書き方でしか書けない言語って実用性もお察し。
- 475 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 16:31:16.56 ID:Eq8lnkGd.net]
- 実装待ちか……本当に実装待ちの機能多いよね。改善の予定すらないよりはよほどマシだけど
>>461 実際のコードではSに相当するstructがsize_ofで50バイト以上あるようなものだから最適化に賭けてcloneしまくるのも怖いんだよなあ ただ、将来的に>>463が実装される予定なら一時的なworkaroundとしてそうするのもありかな…… みんな助言サンクスです
- 476 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 17:13:01.01 ID:k6zWy9I5.net]
- あれれーおかしいぞー、RFC通ったのが一年以上前に見えるんだが……
- 477 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 10:31:03.92 ID:Ql+ZhAJA.net]
- 機能に欠陥がある言語というのもさることながら、
その欠陥に当てるパッチすら一年以上放置。 本当この言語おわってんな。 Cを置き換えるとか腹が痛くなるわ。
- 478 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 11:24:08.77 ID:JPLcUbCW.net]
- なにかしら貢献しようってのはないの?
- 479 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 12:09:50.46 ID:QxzW1FU8.net]
- 触んな触んな
- 480 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 12:10:46.27 ID:AljdSsft.net]
- 平和なRustスレに粘着アンチが出る程メジャーになったか。
- 481 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 18:35:45.29 ID:jxTm1qP3.net]
- この言語じゃなくても、そろそろ流石にC/C++の後継言語は出てきて欲しいぞな
- 482 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 18:40:43.39 ID:RfRD56xR.net]
- サーバサイドにはgoが、iOS/macOSにはswiftがいるじゃん
マルチOSのコアライブラリという残りのパイでrustは芽を出すといいなぁ nimよりはマシではないかと思っている
- 483 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 20:59:32.12 ID:VUboIYs6.net]
- C/C++の後継を考えると変数宣言はType val形式じゃないと受け入れられないでしょ。
Rustはvar val:Type形式だし
- 484 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 21:05:18.40 ID:dGmRkXVH.net]
- そんな些細なことに拘る奴おらんで。
- 485 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 21:18:32.52 ID:RfRD56xR.net]
- >>474
ワロタ、生ポインタがーならまだしもそんな所を突っ込むかw
- 486 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 21:30:01.61 ID:WlZ7N49H.net]
- システムプログラミングってもなあ
その下のハードウェアAPIがまずC/C++だしunsafeまみれになるくらいならC++で別に... となりがちな予感
- 487 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 21:48:54.09 ID:kTImIXI/.net]
- お前、rustでシステムプログラミングしたことないだろ
下層レイヤーをunsafeでラップして中層以上はrustだけで書くからunsafeだらけにはならないよ unsafeだらけになるような書き方する奴がC/C++で書いたら生ポインタ弄り回したり、独自macroで汚したりする予感
- 488 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 21:50:51.71 ID:QxzW1FU8.net]
- -sys crateは良い文化
- 489 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 22:52:06.05 ID:kEY1d4Ow.net]
- c++ の後継は c++ 自身だろ。
おれはもう別言語にしろと言いたいけど。
- 490 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 23:16:50.76 ID:Ctthh1M5.net]
- rustcにCやC++が残ってる限りrustがC/C++の後継に成りきれない何かがある
- 491 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 23:20:52.50 ID:DGgcs6h7.net]
- >>474 val: Typeの方が文法的に良いのよ。
Type val単体だとそう弊害は無いんだけど、例えばジェネリクス<>を使うことにするとA<B> x; っていう文が宣言なのか比較演算してるのかパーサが分かりにくいとか、 キャストを(Type)xっていう文法にしたら x + (A) (y)っていう式はyをAにキャストしてるのかA(y)という関数なのかが分からないとか、 パーサに型やらシンボルの種類とかいう文脈を保持させる必要が出てくる。 おかげでCもC++もJavaもまともにパースしようとすると手で書いた方が良いってくらい面倒になってる。
- 492 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 00:33:46.93 ID:yhaDaC8E.net]
- llvmをrustで書き直そう
- 493 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 00:53:54.84 ID:sPCLdDuU.net]
- そもそも変数の宣言を型名で表す文法と型推論の相性が悪すぎるでしょ
- 494 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 01:13:10.67 ID:9N3wqPif.net]
- とりあえず2017年のロードマップ完遂したらC++の後継候補くらいには正式になれそうな感じがする。
- 495 名前:デフォルトの名無しさん [2017/02/17(金) 05:44:50.97 ID:ICuCz4ej.net]
- ゲームエンジンをパフォーマンスそのままでRustで書き直せたら後継といっていいんじゃなかろうか
- 496 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 08:06:47.24 ID:nCBINic8.net]
- >>483
SQLiteをRustで書き直そう
- 497 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 10:52:00.95 ID:jHhPXKUT.net]
- linuxをRusuxにすればcの後継
- 498 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 11:12:03.68 ID:3FtIr36J.net]
- >>488
>>9
- 499 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 14:07:26.39 ID:eFr6pWHl.net]
- >>15
- 500 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 18:21:18.09 ID:5sY5yHIi.net]
- FireFoxをRustで書き直そう
- 501 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 18:59:34.73 ID:ZDBavghI.net]
- Servo
- 502 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 19:18:49.28 ID:sPCLdDuU.net]
- ServoをRustで書き直そう
- 503 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 20:52:51.39 ID:jHhPXKUT.net]
- アセンブリ部分が残ってもんなもんどーでもいいんだよ
Cで書いてる部分をrustに置き換えたら十分って話 アセンブリ言語部分を置き換えたいなんて一言も言ってない
- 504 名前:デフォルトの名無しさん mailto:sage [2017/02/17(金) 21:22:35.36 ID:krcZKPEA.net]
- 先ずはlibcompiler-rtから
- 505 名前:デフォルトの名無しさん [2017/02/17(金) 22:06:03.85 ID:y4+T5net.net]
- >>442
だな
- 506 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 09:19:54.20 ID:PNO7DmhT.net]
- >>494
>>15 同じ話を何度されてもなw LinuxをRustで書き換えればーの話はよほど変な角度から攻めないと無理
- 507 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 10:17:07.05 ID:bUHmqYrs.net]
- >>491
それは既に部分的にやってるんだっけ >>497 ?
- 508 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 12:01:36.21 ID:xPVYVI1A.net]
- Cow使うとライフタイムパラメータがstructの最上位まで伝搬してしまうのですが
これはそういうものとして受け入れるしかないですか?
- 509 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 20:39:36.76 ID:Ul87se3O.net]
- Cow<'static, T>なら伝播しないけど、'staticを必須にしたい場面は少ないよねえ……
- 510 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 01:05:13.21 ID:s3EB+fhT.net]
- 後継言語は名前からしてD言語じゃないと
- 511 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 06:50:46.22 ID:v/sHJsoq.net]
- 名前だけは後継
- 512 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 08:30:58.18 ID:2oS2o7no.net]
- ライフタイムは上に伝搬しないとコンパイラ的にもプログラマ的にも困ると思うの
- 513 名前:デフォルトの名無しさん mailto:sage [2017/02/19(日) 08:34:53.71 ID:v/sHJsoq.net]
- 実際にはelisionでCow<T>と書けることも多いしな
- 514 名前:デフォルトの名無しさん mailto:sage [2017/02/20(月) 18:49:57.67 ID:ehHRa0XE.net]
- こんな書き方できたのか!!!
fn x((a, b): (u32, u32)) {}
- 515 名前:デフォルトの名無しさん mailto:sage [2017/02/20(月) 22:04:29.62 ID:97wV3Rfs.net]
- 別にそんな書き方出来なくてもいいよ
- 516 名前:デフォルトの名無しさん mailto:sage [2017/02/20(月) 23:14:15.09 ID:mI2RJMjC.net]
- 単なるタプルを引数にした関数で、呼び出しもタプルだよなぁ・・・
と思って試したら、やっぱり呼び出しも x((1, 1)); で書く必要があった!!! どういうケースで使うんだよ、このタプル引数の関数
- 517 名前:デフォルトの名無しさん mailto:sage [2017/02/20(月) 23:38:34.63 ID:ehHRa0XE.net]
- fn foo(Foo(a, b): Foo) {}
- 518 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 08:08:29.59 ID:KVrlVIJb.net]
- 落ち着けただの構造化束縛だ。
ttps://play.rust-lang.org/?gist=c66f3f420befbdc37090ec793ebb9735&version=nightly&backtrace=0
- 519 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 08:12:10.81 ID:KVrlVIJb.net]
- structural matchするの忘れたけどパターンマッチも構造化束縛も両方パターンだよ。
- 520 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 08:20:55.82 ID:eTJT09tJ.net]
-
- 521 名前:ああ、そういうことか
>>508の言いたい事を理解しようと首を傾げてたけどfn fのtypoなんだろうな それとタプル引数関数の関係性は分からんけど、それはもう考えまい [] - [ここ壊れてます]
- 522 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 08:24:42.94 ID:9Kn0UuQq.net]
- >>505の時点で「関数引数でパターンマッチ出来たのか」ということを言っていたんじゃない?
- 523 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 01:07:33.12 ID:s4CGuq4I.net]
- >>511
>>508のfooは関数名でFoo(a, b)はtuple structに対する構造化束縛で 右辺のFooは引数リストの1つめの仮引数への型注釈だよ。 静的言語だからパターンが現れるとたまたまLHSと型注釈の両方に型名が出てくるの。 これがもし動的言語ならLHSに型名はでてこない。 // js function foo([a,b]){} ちなみにa,bは分解された束縛。
- 524 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 11:24:58.93 ID:IzdwqWc0.net]
- https://www.reddit.com/r/rust/comments/5vbr31/nonlexical_lifetimes_using_liveness_and_location/
もっとborrow checkerが賢くなってくれたら嬉しい。個人的にはimpl Traitよりもありがたい
|

|