1 名前:デフォルトの名無しさん [2018/02/11(日) 20:07:24.54 ID:ri7dLd1B.net] Mozilla発のRust言語のスレ 公式 https://www.rust-lang.org/ https://blog.rust-lang.org/ https://github.com/rust-lang/rust Web上の実行環境 https://play.rust-lang.org 前スレ https://mevius.5ch.net/test/read.cgi/tech/1507970294/
751 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 17:41:56.51 ID:BmtmAhz0.net] 結論: やっぱりC++からしっかりやったほうがよい
752 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 17:46:58.11 ID:GP5sTNn0.net] >>751 違う違う、そもそもRustは不要って結論な C++勉強してC++そのまま使い続ければいい
753 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 17:47:09.81 ID:tKvy+NRw.net] C++98 C++03 C++TR1 C++11 C++14 C++17 C++20 C++23 C++26 C++29 C++32 C++35 C++38
754 名前:デフォルトの名無しさん [2018/06/28(木) 17:56:38.73 ID:MyWFnKdA.net] なんだコンパイルできないおじさんか。。
755 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 18:32:36.30 ID:f0Ft93Jb.net] >>747 単純に最初期のRustコンパイラはOcamlで組まれてたからって事情でないの
756 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 18:34:20.70 ID:f0Ft93Jb.net] >>750 C++より潜在的なメモリ管理バグを減らせるってのは十分有用な話では
757 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 18:54:33.03 ID:frbOjHXy.net] リストとリスト操作をなんで組み込んでくれなかったのかな? ::とか@とかあるだけでだいぶ捗るよね(一部の人にとって)
758 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 19:41:35.09 ID:Z76aQv2+.net] パフォーマンス面だけで言えば、リンクトリストは問題外だからじゃない?
759 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 20:19:23.05 ID:X+ujNNAX.net] コンパイルできないおじさんのコードもNLL有効にしたらコンパイルできたから 来年にはrust書けるようになるよ
760 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 20:29:59.05 ID:1UW06GNd.net] 別にどの言語だろうと所有権を考えるってのは普遍的に必要だとは思うぞ。 rustだろうとc++だろうとはたまた動的言語でもメモリ以外にも資源管理なんて 問題はどこにでも出てくるわけで。
761 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 20:30:03.07 ID:rY43/kt0.net] consとかが使えないのはmutとの兼ね合いもあるんじゃないの あれ完全にイミュータブルリスト向けだもんよ
762 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 21:16:31.35 ID:YYPKz5qu.net] https://www.reddit.com/r/rust/comments/8ub964/microsoft_announces_using_rust_to_build_some_of MSもRust使ってるんですか やるしかない
763 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 21:22:26.06 ID:MOChRiis.net] >>735 なるほど。c_voidの正体はそれでしたか 引数は既成Cライブラリの仕様なのでなるべく変更したくありません *mutを使うコードを検討していて気がつきましたがRustの生ポインタにfunc1が返すアドレスを入れると Cと同じ危険を抱えますよね。func3でアドレスがNULL=0になりますからその後に触ると当然クラッシュします
764 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 21:27:33.58 ID:wCMJyKP8.net] NLLいまだに理解できなくて使えない
765 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 21:36:28.71 ID:cJz1WTLf.net] >>762 actixとactix-webのメインコントリビュータもよく見ると普通にMS所属の人だった ttps://github.com/actix/actix/graphs/contributors ttps://github.com/actix/actix-web/graphs/contributors
766 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 21:45:00.19 ID:CykyBbY/.net] MSは英語なので、大目に見てもらえる
767 名前:デフォルトの名無しさん [2018/06/28(木) 22:08:43.56 ID:fobuFGlz.net] > Please never sell Rust to Microsoft! ちょっとわらった
768 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 22:56:56.15 ID:mQsBu3Yx.net] 言語に関してはMSがオーナーになるのは大勝利だろ
769 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 23:58:14.47 ID:aJbqINcy.net] ではここからはC# おじさんどぞー
770 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 00:13:26.39 ID:9NU4CCEP.net] MSには新しいプログラミング言語のQ#があるから Q# 【量子プログラミング】 https://mevius.5ch.net/test/read.cgi/tech/1513059627/l50
771 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 00:20:17.66 ID:1B/tcpoY.net] 汎用言語でないからRustと競合はしないな
772 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 05:02:04.02 ID:HciN/Bk/.net] Visual StudioでRustサポートされないかな rlsが不安定すぎるのでMSが作り直して欲しい...
773 名前:デフォルトの名無しさん [2018/06/29(金) 07:15:45.03 ID:pVbM0h49.net] rlsもracerもポンコツよね あんまり力入れてないのかな
774 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 10:18:57.05 ID:azKeAftH.net] intelliJ使えばええやん インテリじゃない人もタダで使えるよ
775 名前:デフォルトの名無しさん [2018/06/29(金) 11:21:37.40 ID:eINaY/I2.net] 支援機能だけ考えるとそうなんだけどさ 手に馴染んだemacsから離れるのは簡単じゃない
776 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 12:06:31.66 ID:1B/tcpoY.net] ワイもIDE使いこなせない
777 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 12:09:37.82 ID:l0U/js7n.net] intellijをつかうのです… vsなんかよりよっぽどいいですよ…
778 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 12:09:46.01 ID:ZOJKMSLg.net] >>764 従来のborrow checkerの制約が緩くなるだけだから従来の理解してれば不自由なく使えるはず
779 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 12:27:36.55 ID:1B/tcpoY.net] intelij買ったけどemacs使っちゃうのよね。コード書くのにmouseが必要になるのが受け付けないみたい。
780 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 18:17:46.77 ID:HciN/Bk/.net] intellijちゃん自力でパースしてるのアホでしょ CLionもclang使わず自力でやってるけどリリースから随分経つのに初歩的なバグ残ってるみたいだし
781 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 18:55:33.43 ID:abdfGqyU.net] >>735 の方法だとこんな感じなのかな enum ABC {} #[link(name = "・・・")] extern { fn func1(x: *const u8) -> *mut ABC fn func2(y: *mut ABC); fn func3(z: &*mut ABC); } fn main() { unsafe { let a = func1("foo.dat".as_ptr()); //C側でメモリが確保されアドレスが帰ってくる func2(a); //アドレスを使って処理 func3(&a); //確保したメモリを解放(以降aを触ってはいけない) } } 中身にアクセスしたいならenumを#[repr(C)]付きのstructにして構造を定義すればいいのかな 読み書きするRustのコード全てをunsafeにする必要がありそうだけど
782 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 20:25:27.91 ID:jUvi1FZV.net] 英語は多めに見るおじさん、今頃rustについて必死で勉強して弱点探してるのかな
783 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 01:38:16.37 ID:bJf+PXWq.net] >>781 func1とfunc2は関数プロトタイプがわかるけど fn func1(x: *const u8) -> *mut ABC; → ABC* func1(const char *x); fn func2(y: *mut ABC); → void func2(ABC *y); fn func3(z: &*mut ABC);に相当するCのプロトタイプはないよね?
784 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 01:40:31.49 ID:bJf+PXWq.net] func1のxはu8だからunsigned charかuint8_tだね
785 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 01:59:30.31 ID:VVUAg8sI.net] >>783 func1の引数はRustのコンパイラにその型を使えと言われたから func2の引数はfunc1の返値に合わせた func3の引数はfunc1が返したアドレスが格納されているアドレス。Cで言うポインタのポインタでABC **z 自分も詳しいわけではないので勘違いしているかもしれないが一応動いている
786 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 05:09:23.98 ID:bJf+PXWq.net] >>785 ダブルポインタだったのか それならvoid func3(ABC **z); → fn func3(z: *mut *mut ABC); let mut p = func1(...); let pp = &mut p as *mut *mut ABC; func3(pp); // 単にfunc3(&mut p)で大丈夫なはず
787 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 11:01:24.70 ID:6fEIEQu0.net] ダブルポインタはあんま想定してなさげな気はする。 俺だったらもう一枚、インターフェイスかましてもう少し楽なインターフェイスにしてから rustと繋げるわ。
788 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 11:27:27.95 ID:BB0BPsjY.net] 結局C/C++ある程度わかってないと話にならないよね。 経験ないやつはいきなりrust勉強してる場合ではない。
789 名前:デフォルトの名無しさん [2018/06/30(土) 12:46:04.79 ID:gEYLih9T.net] コンパイルできないならまずプログラミングを勉強しなおしたほうがいいよ
790 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 14:28:27.26 ID:d1l1Trl+.net] FFIの話をrust全体の話に主語をでかくしてるおっさんがおるな
791 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 16:28:11.02 ID:oxrLiD+S.net] FFIもrustの魅力の一つなのですが? C/C++知らないやつはいつまでたってもrustを全て分かったことにならない 半人前のまま 別に必要なとこだけ使うスタンスでもいいけど半人前のクセにいっぱしのrustプログラマーヅラしないでね
792 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 16:34:04.77 ID:WiulWXxB.net] 昔はアセンブラ知らずにC++語るなとか言われてたが時代は変わったもんだな
793 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 16:40:34.19 ID:jlw7G6p9.net] 結局どの言語を選べばいいのかわからなくなった C++?Go?
794 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 17:06:44.52 ID:NH6TT+Fu.net] Coqを選べばいいと思うよ
795 名前:デフォルトの名無しさん [2018/06/30(土) 17:07:23.25 ID:QJJEkoJ9.net] 目的に合ったもの やりたいものをやればいい
796 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 17:07:54.55 ID:5+sKgUjT.net] 迷うならGoでいいんでは。
797 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 17:10:05.48 ID:CMs/fWc6.net] Prolog
798 名前:デフォルトの名無しさん [2018/06/30(土) 17:38:54.49 ID:RHrrdh8p.net] rustを視野に入れながらgoという選択はない kotkinかswiftかgoかってなら分かるけど
799 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 17:52:45.29 ID:5+sKgUjT.net] 分からないなら無理してrust使わなくていいって意味じゃろ
800 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 18:08:54.39 ID:9Q6R3Qzj.net] 腐ってないでお前らも俺と一緒にRustで競技プログラミングしようぜ! https://yukicoder.me/submissions?submitter=5971
801 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 18:21:37.09 ID:UB7qEnEv.net] クロージャで再帰が出来ないのって所有権的な問題?
802 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 18:24:45.75 ID:cH9c2bse.net] rustは競プロには向かない https://users.rust-lang.org/t/rust-for-competitive-programming/17682
803 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 18:38:35.11 ID:cH9c2bse.net] クロージャの再帰ってこれのこと? recursion - Is it possible to make a recursive closure in Rust? - Stack Overflow https://stackoverflow.com/questions/16946888/is-it-possible-to-make-a-recursive-closure-in-rust
804 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 18:57:41.58 ID:dTg1EP/S.net] >>803 おー、できた ありがとう ローカル関数だと外部変数キャプチャできないし、クロージャだと再帰できないし、 同時にしたいときどうすんのかなーって思ってたから そんなに使うこともないだろうけど、心に留めときます
805 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 22:59:14.25 ID:pdhum8J2.net] >>786 ありがとう。なるほどそういう書き方もあるのか。確かに書き換わるので&mutの方が適切ですね 欲しいのはアドレスなのだからと単にアドレス演算子&を付けていました unsafe外から任意のアドレスにあるデータへアクセスするにはその部分を関数化するようなのかな 一般的に言うプロパティの読み書きをプログラマブルに出来れば綺麗に書けるけど無理なんだろうなぁ ()無しの関数呼び出しとも言えるけどこれが出来る言語は少ない
806 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 23:04:00.05 ID:BB0BPsjY.net] 相変わらず驚き最大の言語だな
807 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 07:43:42.19 ID:XZ+Fcjv4.net] >>806 例えば何に驚いてんの? Rustの目的はシステム言語だが、目的から乖離してるとこって何?
808 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 08:30:53.21 ID:vf9gJxu2.net] マルチパラダイムの場合、驚き最小の原則の法則に反するかどうかは実装者の責任じゃないだろうか
809 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 08:46:31.97 ID:E4o6QfBe.net] 抽象的なことしか言わなくなったんだよ 機械語のレベルと相性が悪いし
810 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:50:23.63 ID:YY7LPhac.net] >>808 半分はその通りだが、それならc++で良くね?になるぞ。
811 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:30:01.00 ID:TGjVBuJr.net] 日本語でこんなに議論が行われてることに驚いた
812 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:37:40.54 .net] 恥ずかしくて外国人には見せられない掲示板だ
813 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:54:17.46 ID:YY7LPhac.net] そもそもcの呼び出しはメモリ管理モデルのギャップがあるんだから どうあがいてもc++のが簡易にできるのは当然なんだよ。
814 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 15:26:57.84 ID:HnzLcrw0.net] >>811 このスレは英語推奨だぞ
815 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 01:23:28.76 ID:5g9b1rVY.net] >ローカル関数だと外部変数キャプチャできないし、クロージャだと再帰できないし、 ここに関してはクロージャでないものをクロージャと呼ばなければ誰も驚かなかっただろうな。 javaは似非クロージャのことはラムダ式と呼んでるし。
816 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 01:51:37.55 ID:v1kLQBFZ.net] Haskellの「外側のシンボルを参照することによる暗黙的な部分適用」はクロージャと呼ばれてるから アレが許されるなら少なくともJavaのはクロージャと呼んでいい
817 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 22:14:52.04 ID:KKQokwkO.net] >>816 javaのアレは元々クロージャ導入するつもりが、 仕様と実装でクソ揉めて妥協案としてクロージャ じゃないものとしてラムダ式を作ったんやで。 だから意図的な"クロージャではないモノ"よ。 メモリ管理にgc使うからエンクロージャの束縛の解放に 制限ないから実質クロージャだし第一級関数だけど。
818 名前:デフォルトの名無しさん [2018/07/02(月) 22:54:50.18 ID:F0SAJ301.net] hyper使って簡単なwebアプリ描いてみたけどわりと素直に書けるのね
819 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 16:24:59.60 ID:ZNPbo2Ku.net] >>804 は本当に満足してるのだろうか >>803 のやり方だとパラメータ増えてるじゃん こういうのは既存のシグネチャに合わせられないと 単にひとつの関数を小洒落た書き方にしてみましたってだけにしかならないのでは
820 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 17:05:40.29 ID:ZNPbo2Ku.net] 連投になって申し訳ないが、環境をRefCellで持ち出す例を見つけた ttps://wandbox.org/permlink/hkwccgD2oXp0fTm7 組み合わせて、802の2番目の例のstructを更にRefCellに入れたらシグネチャ変えずに行けるかな
821 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 17:29:45.80 ID:LuUToNY2.net] >>819 一応満足してるよ スッキリ書けないことがわかったから、素直にループで書くか、ローカル関数作って引数で渡そうと思えた Rustは関数型じゃなくて手続き型だし、特に不満ではない
822 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 17:31:22.43 ID:nNrfrM83.net] >>820 RefCell使うなら、Rustで書く意味ないだろ
823 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 18:19:36.75 ID:ZNPbo2Ku.net] >>821 すまん、クロージャでないとできない用途(環境をキャプチャーして高階関数に渡す等)を想定していると 勝手に気を回してしまったみたいだ
824 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 21:26:26.07 ID:9JOKXkQl.net] クロージャじゃないとできない用途って具体的にどういうものなの 想像つかなかったので単純な興味本位
825 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 21:32:07.93 ID:2DeV5pvZ.net] 例えば最適化ライブラリなどに目的関数を渡す場合などで 引数以外からパラメータを注入する必要がある場合。
826 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 22:38:00.99 ID:9ONgpSq2.net] >>823 キャプチャ自体はクロージャで出来るから別に困ってないかな たまたま再帰させたくなったときがあっただけだから
827 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 23:58:54.50 ID:6KvlcSKZ.net] クロージャじゃなきゃできないことじゃなくて、 クロージャの再起呼び出しじゃなきゃできないことを聞きたかった 引数以外のパラメーターを差し込む場合、普通は再起は必要ないよね
828 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 00:52:48.93 ID:MQVza7QA.net] 風雲再起ぃ〜!!
829 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 01:08:42.88 ID:ace/1w5F.net] 1.28はrustdocするときソースコードのlintするようになったんの? deny属性に違反するソースコードがドキュメント生成時にエラー投げる。 >>823 クロージャがある言語は普通、関数とクロージャ区別しないからその感覚はおかしくないと思う。 でもクロージャの実装上の制約とかライフタイムとかでループで書いたほうがいいと思うコードはある。
830 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 09:35:17.80 ID:7aH0kDWz.net] >>827 それは、てっきり最初の>>801 がキャプチャと再帰を同時に使いたいことがあったんとばかり
831 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 20:54:21.49 ID:1R4S9ii/.net] >>827 ある種の動的なtree構造に対して探索、実行を繰り返すとか。。 やっぱ具体的じゃねーな。。
832 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 21:42:58.93 ID:JvJNYHQo.net] 最近rustの勉強始めたものです この言語ってstatementなのかexpressionなのかをどういう方針で決めてんでしょう? ifがexpressionなのはわかったけど、letはなぜstatementなんだろ? 他の関数型言語のようにexpressionでもよかろうに、と思った
833 名前:デフォルトの名無しさん [2018/07/04(水) 21:53:13.67 ID:gFgZc5FG.net] KCX
834 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 23:31:21.37 ID:kqLSfqeN.net] 古いCで良く在る if ( (let a = f()) != 0 ) {} みたいなのが嫌だったんだろう。 そもそも、変数束縛が値を持つ必然性は無いよね。
835 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 23:32:39.47 ID:kqLSfqeN.net] >>834 あ、ごめん。大嘘だった。 if let なんてのあったのね…
836 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 00:07:01.10 ID:wS7IFFVg.net] 他の関数型言語のletは随分来歴が違うイメージ。 let x = ... in expはラムダ式の糖衣構文の一種なので関数型なら容易に実装できて便利に使えるのに対し、 rustのletは手続き型の変数宣言の方が近い schemeのletとdefineが全然意味が違うのを知ってると違和感無い
837 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 00:16:12.98 ID:OgxnbJsr.net] >>832 この辺読めばいいかと。 https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/functions.html#%E5%BC%8F%E5%AF%BE%E6%96%87 letは所有権移動だけど、返り値を認めちゃうと 束縛先と返り値のどちらに移動すべきか分からない、ということかな。
838 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 00:52:35.42 ID:YJbjvjoP.net] >>837 それは let a = (let b = c) がだめな理由にはなるけど >>832 の言ってる関数型言語風の let a = (let b = c in d) がだめな理由にはならないよね
839 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 01:22:02.41 ID:DZKRf+tO.net] えっ、毎回コピーすんの? それ無駄じゃね?
840 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 03:33:15.42 ID:CGu9cAAd.net] >>838 ブロック式で let a = { let b = 1; let c = b + 1; b + c }; と書ける けどミュータブルな変数を書けるからコードが関数型言語風になるかどうかは書き手次第
841 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 20:22:41.90 ID:yHZEHedG.net] >>837 >>840 ほー勉強になりました fnもいまいち釈然としないけど もうちょっと読み進めてみます
842 名前:デフォルトの名無しさん [2018/07/05(木) 21:13:46.28 ID:nmRduEAc.net] あるstructもとに任意のフィールドを追加した別のstructを定義することってできる?
843 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 21:35:03.85 ID:wS7IFFVg.net] イテレータ系はみんなそれやってる mapとかfilterとか、元のイテレータ+変換・フィルター関数みたいな構造体を返してくる
844 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 22:08:25.13 ID:uqSz2h6E.net] へー今気がついた strはmutの有無にかかわらずRO領域に配置される sliceはmutの有無にかかわらずRW領域に配置される つまり今風のOS上だと strをポインタ経由で書き換えようとするとメモリアクセス違反 sliceをmut無しで宣言した物でもポインタ経由で書き換えられる リンカの設定にもよると思うけどマイコンなどで使うときは注意が必要そう
845 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 22:15:27.91 ID:B3fauv+j.net] えぇ…安全に使えないじゃん。キツツキに縛りつけてる意味ないじゃんrustの存在意義が…
846 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 22:46:05.11 ID:5CTMsWjW.net] 再現コードはよ
847 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 23:38:48.53 ID:+dwFnTVE.net] unsafeの話でしょ 脊椎反射したいつもの人が見事に釣られている
848 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 23:53:13.69 ID:uqSz2h6E.net] もちろんunsafe中の話です fn main(){ let s:[i32;2] = [10, 20]; println!("s[0]={}", s[0]); unsafe{*(s.as_ptr() as *mut i32)=30} println!("s[0]={}", s[0]); } 実行結果 s[0]=10 s[0]=30 これそのものが問題になるケースは少ないだろうけど ROにいるはずと思い込んでいるとハマるケースがありそう 任意の場所に配置するアトリビュートとかあるのかな
849 名前:デフォルトの名無しさん [2018/07/06(金) 00:07:24.39 ID:0SVgWEm6.net] これのArrayのとこに書いてない? https://doc.rust-lang.org/book/second-edition/ch03-02-data-types.html
850 名前:デフォルトの名無しさん [2018/07/06(金) 00:36:54.90 ID:iypT0A6c.net] >>843 返すんじゃなくて定義したいんだけども
851 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 06:49:56.18 ID:Sybd3k2C.net] >>842 >>850 stackoverflowとリファレンスを見た限りstruct定義の入れ子はサポートしてない https://stackoverflow.com/questions/23629201/nested-structs-in-rust https://doc.rust-lang.org/reference/items/structs.html
852 名前:デフォルトの名無しさん [2018/07/06(金) 18:21:10.44 ID:iypT0A6c.net] どうもありがとう。でもちょっとニュアンスが違う。 struct 2d {x, y} struct 3d extends 2d { z } で3dが2dのxとyのフィールドと独自のzを持つようなかんじ マクロで出来ないか精一杯やってみたが出来なかった 元となるstructごとにマクロ作ればできるんだけどそれじゃ意味ないし
853 名前:デフォルトの名無しさん [2018/07/06(金) 18:57:55.41 ID:0SVgWEm6.net] 設計見直したら?
854 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 19:23:23.92 ID:6zaAciaG.net] >>852 Rust Design PatternsにはDerefでやるのはアンチパターンだと書いてあるけど、別の似たようなサイトではお勧め扱いだった気がする https://github.com/rust-unofficial/patterns/blob/master/anti_patterns/deref.md
855 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 21:12:32.07 ID:CzZn5kZZ.net] struct A {int size; char data[];} みたいなのをRustから読み書きするインターフェイスを考えてみた enum PTR {} struct A {p:*mut PTR} impl A { fn new(ptr:*mut PTR) -> Self {A {p:ptr}} fn get_size(&mut self) -> i32 {unsafe {*(self.ptr as *mut i32).offset(0)}} fn set_size(&mut self, n:i32) {unsafe {*(self.ptr as *mut i32).offset(0) = n;}} fn data(&mut self) -> &mut [u8] {unsafe{std::slice::from_raw_parts_mut((self.ptr as *mut u8).offset(4), self.get_size() as usize)}} } fn main() { let mut s:[u8;14] = [10,0,0,0,1,2,3,4,5,6,7,8,9,0]; let mut x = A::new(s.as_ptr() as *mut PTR); println!("x.get_size()={}", x.get_size()); println!("x.data()[0]={}", x.data()[0]); println!("x.data()[1]={}", x.data()[1]); x.set_size(7); println!("x.get_size()={}", x.get_size()); x.data()[1] = 225; println!("x.data()[1]={}", x.data()[1]); println!("s[5]={}", s[5]); } 実行結果 x.get_size()=10 x.data()[0]=1 x.data()[1]=2 x.get_size()=7 x.data()[1]=255 s[5]=255 美しくないコードだ・・・ メインのRustコードにunsafeを書きたくないので全てstructに突っ込んだらこうなった dataはslice経由で比較的自由に読み書き出来るけど、sizeは任意のアドレスを挿している数値型の作り方が判らないので関数が2つに
856 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 01:32:56.18 ID:odAPlBjD.net] rustからrust-bindgenが吐いたC++のクラス使うのめんどくさいな
857 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 18:52:04.06 ID:Otm/KpKR.net] ところで、全然話変わるんだけどさ、mutってどう発音してる? 自分は「むっと」ってよんじゃってて、なんか、かっこわるいんだけど。
858 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 19:12:39.63 ID:HR9VVpP9.net] 当然、「みゅっと」でしょ
859 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 20:15:18.96 ID:h+p+JRvo.net] 怒ってるのね
860 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 20:19:35.52 ID:Ty8z3s6n.net] 鬼太郎のCVほっぽりだして産休に入るみゅ
861 名前:デフォルトの名無しさん [2018/07/07(土) 20:58:49.46 ID:PbU76+k2.net] mjúːtəbl
862 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 23:03:04.65 ID:cEw8AP4C.net] ミュート
863 名前:デフォルトの名無しさん [2018/07/08(日) 00:41:02.43 ID:tBFClkmn.net] tanakhがrustのクロージャー再帰を望んでいる https://twitter.com/tanakh/status/1015609559673475073
864 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 11:33:21.07 ID:6xrO+JsL.net] そりゃ入れないほうがいい証左になるなw
865 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 13:33:35.86 .net] みゅう太
866 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 02:59:46.84 ID:4B4QAQi1.net] >>863 いつまでtanakhなんてスパコン詐欺師を崇めるんだろうなこのスレの住人
867 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 07:41:39.43 ID:DXSSRVdR.net] 国内の会社は大目に見てもらえないから大変だなあ
868 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 09:23:25.63 ID:6MpumzZl.net] NEDOとかダメだろ
869 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 22:56:35.23 ID:M/GPMU7W.net] 「nvidiaの倒し方、知らないでしょ?オレらはもう知ってますよ」
870 名前:デフォルトの名無しさん mailto:sage [2018/07/10(火) 08:37:04.49 ID:wS3GMIgw.net] 実際green500で倒してるんだからたいしたものだよ
871 名前:デフォルトの名無しさん [2018/07/10(火) 14:26:10.12 ID:+spxUUiC.net] https://github.com/saschagrunert/webapp.rs これいいね、Webアプリを完全Rustで作成
872 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 12:56:28.28 ID:8BQ5VZH8.net] WebアプリをRustで書くって、どういう需要があるの? ラズパイみたいな環境?
873 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 13:05:53.98 ID:A6luu057.net] 車買ったらムダにドライブしたくなるじゃん。すぐ飽きるのに。 あんな感じ。
874 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 13:08:35.26 ID:uU0OdRlq.net] クライアントサイドとサーバサイドで同じコードが使えるって話ちゃうのん?
875 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 13:30:09.56 ID:QvLfDUJ3.net] 同じ言語 だな それはnode.js環境も同じだが
876 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 13:31:28.26 ID:QvLfDUJ3.net] 期待できる点は速くて安全
877 名前:デフォルトの名無しさん [2018/07/11(水) 16:34:41.89 ID:dzRS/LEU.net] 全部rustって需要はあんまりない気がするけど、サーバ側ならかなりマッチしてる
878 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 17:15:53.86 ID:NEswxD4L.net] webassebly
879 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 18:10:54.52 ID:EHDLIx8N.net] サーバーサイド → Rust クライアントサイド → Rust ブラウザ → Rust 完璧じゃないか
880 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 18:17:02.02 ID:4XcPTXi0.net] Yewのベンチマークって他に誰か取ってた?
881 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 18:46:56.99 ID:8BQ5VZH8.net] やたらノンブロッキングに拘ってるけど、それが本当に必要な人ってごく一部だよね 人気サービスの中の人だけ 普通はスレッド立てまくりで対応可能だし、たまに台数増やすだけで問題ないでしょ?
882 名前:デフォルトの名無しさん [2018/07/11(水) 18:59:32.73 ID:v5sVc8KX.net] だからそれは並列性が必要ってことでしょ
883 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 19:13:29.64 ID:A6luu057.net] 真のアイルランド人はノンブロッキングなど必要としないwww
884 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 20:14:09.83 ID:IOg1uM7w.net] アイルランドいつ統一するん?
885 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 20:27:33.26 ID:vXAFXBtg.net] オライリーの奴予約した
886 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 22:30:46.69 ID:Wlqbcgdb.net] >>885 白紙の未来を絶望に染めてやろう。 あれもうかなり古いぞ。 rust 2018で今よりさらに変わるんだぞ。 エラーハンドリングもモジュールもTraitも重要な部分全部かわるぞ。 nightlyで結構実装済みだから現行のnightlyですら違うぞ。 macro 2.0はいいぞ!
887 名前:デフォルトの名無しさん [2018/07/12(木) 22:39:04.16 ID:sU95dCXR.net] この仕事してるならそんなの普通じゃん
888 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 00:41:53.18 ID:MpWeaOSk.net] >>886 Rust 2018にエラーハンドリングの変更とかあったっけ? Rust 2018での追加・変更って"module, impl trait, Generators/async/await, macros 2.0, NLL, SIMD"だけじゃなかったっけ? もしかしてdo catchがstable化されるの?それとも、それ以外で変更があるの? エラーハンドリングで互換性を崩すような変更があるならかなり痛いんだけど…
889 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 04:40:11.96 ID:7ZPDFHpF.net] https://github.com/rust-lang/rfcs/blob/master/text/2388-try-expr.md 2018からtryがキーワードとして予約される(catchは廃案) editionが未完成だと実装できないから2018リリースにはきっと間に合わない
890 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 08:17:48.56 ID:wonLmOyY.net] RustもC++みたいに何年かおきに大きく変更されるの?
891 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 10:05:43.27 ID:U/mhKMvJ.net] こないだ1.0になったばかりな気がするんだが。仕事じゃつかえないな
892 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 10:19:59.41 ID:MpWeaOSk.net] こないだってもう3年前だぞ C++が仕事で使えるんだから使えるだろ てか、Swiftなんてもう4でそろそろ5になるとか言ってるんだぞ あれが仕事で使えるんだからRustなんか楽勝だろ
893 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 10:29:57.41 ID:U/mhKMvJ.net] swiftなんてappleのDSL
894 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 10:31:39.87 ID:U/mhKMvJ.net] C99勢が砦
895 名前:デフォルトの名無しさん [2018/07/13(金) 11:07:37.12 ID:sS4PjtpX.net] 実際仕事で使っている人たちがいるのに使えないということは、別のところに問題があるのよ
896 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 11:48:20.64 ID:ERNuP0HI.net] 安定性以前にまともにfibが書けない言語だから仕事じゃ使えない
897 名前:デフォルトの名無しさん [2018/07/13(金) 12:52:21.80 ID:sS4PjtpX.net] 突然の自己紹介
898 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 13:54:10.99 ID:GXltVmCz.net] >>50 辺りの流れは何回見ても本当に秀逸
899 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 15:05:24.82 ID:KpXdroi9.net] 車輪の再発明を抑止し過ぎるとnode.jsみたいになるからね やり過ぎはだめってことよな
900 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 15:40:42.13 ID:5L9NPjD5.net] どゆこと?
901 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 16:06:42.44 ID:AcLm8Zma.net] たかだか一行二行のプログラムのnpmパッケージであふれ、しかも子孫含めた被参照ダウンロードが100万とかざらで、さらにそれがバグっている。
902 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 17:28:42.65 ID:vZnflVWC.net] Rust関係ないけど最近ArchLinuxのAURに細工されたパッケージが上げられててほんのちょっとだけ話題になったんだけど 正直自分が使うcrateやそれの依存関係まで含めて全部書いてる人が信用できるかとかソースまでチェックしてる人なんていないよね…? イカンなぁと思いながら盲目的に使っちゃってるわ(´・ω・`)
903 名前:デフォルトの名無しさん [2018/07/13(金) 17:44:54.43 ID:sS4PjtpX.net] CPUのL2キャッシュを作った人の叔母の恋人がテロリストがどうか気にするところから始めたほうがいいな
904 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 17:46:33.55 ID:U/mhKMvJ.net] 某ファイルシステムの作者が奥さんを殺してしまってな
905 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 18:29:15.55 .net] 怖いなぁ、戸締まりすとこ…
906 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 19:36:34.68 ID:wonLmOyY.net] そういえばRUSTという殺し合いをするゲームがありますね
907 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 20:34:31.63 ID:Cw5pkNzp.net] crate以前に詐欺企業Mozillaが信用できないから
908 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 20:59:24.06 ID:IpXdw+4i.net] Mozillaが詐欺企業なら、Mozilla以上に言う事やる事がコロコロ変わるAppleや 個人情報を収集しまくりのGoogleやMicrosoftはどうなってしまうんだろうなw
909 名前:デフォルトの名無しさん [2018/07/13(金) 21:16:35.53 ID:Y3xd+pZ1.net] > 仕事じゃ使えない おじさんのことじゃん
910 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 21:19:05.39 ID:EK55GFqW.net] crates.ioを見に行かないようにして、社内で確認済みのcrateしか置いてない社内リポジトリだけ 参照するような設定って出来るんだっけ?
911 名前:デフォルトの名無しさん [2018/07/13(金) 21:39:00.40 ID:Y3xd+pZ1.net] RFCはあるみたいだけどまだ出来ないのかな https://github.com/rust-lang/rust/issues/44931
912 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 21:50:09.75 ID:EK55GFqW.net] >>911 まだ半分も済んでないね
913 名前:デフォルトの名無しさん [2018/07/14(土) 00:26:44.88 ID:nZvQhL00.net] >>910 cargoはそこらへん腐ってるから無理。 出来はするけどcrates.ioをクローンするツールの開発が 殆ど動いてないしクローンしてもそのローカルリポジトリを管理するツールがない。 ここらへんはoffline modeも絡んでくるけど、 どうせ欠陥機能作って廃止してまた作っての繰り返しでめちゃくちゃになるだけ。
914 名前:デフォルトの名無しさん [2018/07/14(土) 06:22:32.24 ID:brBR1uF1.net] crates.ioのソースを持ってきてローカルに立ち上げてhostsで向ければ出来上がりじゃん
915 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 06:46:24.80 ID:W3qfg8ZM.net] cargoが便利コマンドすぎて、原始的な事がやりづらくなってる問題
916 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 09:02:37.98 ID:5xFWH4XP.net] 便利っつーかモジュラリティーの低い構造になってるだけだろ。。 バカ設計だわ。
917 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 10:21:42.77 ID:7J+9ARNC.net] >>909 go使うよ。32bitsマシン以上向けならgoで十分だ。
918 名前:デフォルトの名無しさん [2018/07/14(土) 11:25:26.45 ID:brBR1uF1.net] 仕事じゃ使えないのは言語じゃなくてお前だって言われてるのに何故goが出てくる
919 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 11:57:28.13 ID:7J+9ARNC.net] Rust使えないから
920 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 14:38:38.90 ID:HNobJoZ0.net] Rust(が/を)使えないから どっち
921 名前:デフォルトの名無しさん [2018/07/14(土) 14:41:53.11 ID:6PGIbnJP.net] にほんごむずかしいあるね
922 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 14:53:02.90 ID:fAbuOpO3.net] Rustの提案するエセソリューションは機械語のレベルと相性が悪い CやC++のほうがまだまともなアプローチしてる
923 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 15:01:24.24 ID:3YOZASYs.net] 「機械語のレベルと相性が悪い」が "All your base are belong to us" みたいに見えてきた なんかもう根本的に解ってないなっていう感じからくる面白さがある
924 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 15:14:29.28 ID:HNobJoZ0.net] モジラに職を奪われたおじさんと そのおじさんの物まねをするおじさん達のスレ
925 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 15:18:04.39 ID:n16W1iUj.net] LLVMについていけないおじさん
926 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 15:22:17.69 ID:P7IB+4yp.net] Cやアセンブラなどの低レベルな処理と連動する場合unsafeを使わざるを得ないが、言語の仕様上普通に書くとunsafe祭りになってしまい ソースコードの可読性が低下するのが残念。抽象化したくてもこれまた仕様的に完全な抽象化が出来なかったりするし
927 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 15:47:47.15 ID:7J+9ARNC.net] gcが有って良いならgo。 ない方が良いならnimってことか
928 名前:デフォルトの名無しさん [2018/07/14(土) 16:00:11.16 ID:6PGIbnJP.net] まだ学習し始めたばかりでみんなが何を言っているのかよくわからない。
929 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 16:53:11.51 ID:QBMXvyuq.net] どいつもこいつも適当なことをそれっぽく言ってるだけだから気にしなくておk
930 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 16:57:03.73 ID:7J+9ARNC.net] ここはアンチの溜まり場だよ
931 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 17:09:58.35 ID:lldWHLOY.net] 今日は本物がいないな
932 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 17:28:07.35 ID:veV9L5cz.net] >>927 一体いつからNimにはGCがなくなったんだ…?(困惑)
933 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 17:41:12.64 ID:/EttrqmU.net] >>931 狂人の真似をすれば実際狂人 つまりみんな本物のRustに職を奪われたおじさんなんだよ
934 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 17:45:59.63 ID:h94PG7c/.net] https://nim-lang.org/docs/gc.html RustはできないしNimも詳しくない専門性なしのおじさん
935 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 18:18:40.34 ID:yo3MGbyq.net] お前らもモジカスに親を殺されてみろよ
936 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 20:02:32.48 ID:3YOZASYs.net] バトー「つまり、本物の "Rustによる被害者" というのは最初の一人だけで、 残りは全て模倣犯による狂言だったってのか?」 トグサ「ああ。狂言を読んだ者は初めのうちは怒りを覚える。 だが、その理不尽な怒りを抱えきれなくなると、 衝動的に自らが "Rustによる被害者" になりすますことで、 狂言によって植え付けられた怒りを共有しようとしていたんじゃないか」 バトー「実在しない "Rustによる被害者" たちが連鎖するってわけか……。 ── 最初の一人はとうの昔に死んじまってるのにな」
937 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 23:00:52.98 ID:6hFYodEH.net] >>923 懐かしいなAYBか。文法エラーを直しても通じないのがいいよなw "All of your bases belong to us." "お前らの卑しいものすべては我々に首ったけ" ヒドイw
938 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 23:51:21.23 ID:5xFWH4XP.net] rustに職を奪われたおじさんなんて実際は存在しないわけだが。。 まあそういう人がいると思った方が幸せな人がいるのは事実。
939 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 00:42:05.31 ID:NkViXM6D.net] Rustに職を奪われたおじさんなんて名称なんてどうでもよくて fibも書けない確かな"存在"がぐちぐち居座るせいで幸せになれない
940 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 02:53:02.00 ID:x6haH/8s.net] 良かった。Rustに職を奪われたおじさんは居ないんだ。
941 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 10:56:41.89 ID:NalVqF46.net] NLLがstabilizeされたらfibを書けないおじさんもfib書けるようになって成仏できるよ
942 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 11:00:28.92 ID:rsj4GyZ/.net] >>941 「fibを書けないアホ」が「木構造を書けないアホ」に変わるだけと予想
943 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 14:08:56.51 ID:Um7D2OLN.net] rustでfibが書けたり、木構造が書けることをここまで自慢してくる輩って。。
944 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 15:31:20.30 ID:rsj4GyZ/.net] 自慢も何もプログラマを名乗るなら最低限それくらい書けて当然だろ?ってこと 例えば、「俺は数学者だ」とか言ってる奴が微積分すら理解出来てなくて 「でも、因数分解ならできるし」とか言ってたら全力でぶっ叩くだろ? つまりは程度の問題ってわけ そして俺はRustでfibや木構造すら書けない奴はどうせ他の言語使ったって ろくなコード書いてないだろうからそんな奴がプログラマを名乗るなんて片腹痛いわ!と思ってるだけ
945 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 15:42:24.47 ID:ppRXQOVy.net] このスレに迷い込んだ新規にはfibをどんな書き方をしたらrustで問題になるのか想像もつかない
946 名前:デフォルトの名無しさん [2018/07/15(日) 17:23:07.93 ID:upVjqm6g.net] fibってなんですか?
947 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 17:23:57.93 ID:vPMHyt9R.net] >56でしょ? fibがかけなくて5時間も喚いた挙げ句 答えを大量に示されても礼のひとつも言えない 下らない批評をしては論破されて潜伏を繰り返しているあほ 「rustに職を奪われた」「fibを書けない」もこいつの本質ではないんだよな
948 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 17:58:08.24 ID:f+8P4DFr.net] ここはネタスレなんで
949 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 19:36:55.02 ID:YZYcatpB.net] >>56 もそもそも拾い物みたいだしなぁ…… (検索に引っ掛かる
950 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 19:51:13.58 ID:H2FcMtiY.net] ツイッターでrust-lang-ja.orgのドメインが〜みたいな話が先月からあるみたいだけど このスレでは誰も話題にしてない?
951 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 20:03:03.01 ID:NalVqF46.net] fib拾いものなのか 正しくないfibすら書けないおじさんだったか
952 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 20:56:16.71 ID:vPMHyt9R.net] https://www.google.co.jp/search?q=%E2%80%9Ca352230e08bc0a76fb5f116bd3c7abf4%E2%80%9C ? >>950 検索にも引っ掛からないし誰が困るんだろう
953 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 21:35:06.48 ID:YZYcatpB.net] >>950 Slackでは話題に出てたけど ここでは出てないかな >>952 流石にplaygroundには貼ったんでしょうね コード4行目で検索
954 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 21:45:35.35 ID:rsj4GyZ/.net] >>953 ほんとだ4行目だけを直接検索したら出た しかも解決法までご丁寧に解説してあった >>56 はそれも読まなかったのか… はたまた、読んでも理解できなかったのか…
955 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:06:24.68 ID:NRqWPJmE.net] 推察するに日本語が読めなくて、「できない」だけで飛び付いたんだろうなあ こんな奴でもC++は書ける(自称)って辺りが日本のプログラマの闇だな
956 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:24:01.28 .net] 軽々しくC++書けるなんて口にしようものなら茂みからマサカリが飛んでくるぞ
957 名前: mailto:sage [2018/07/16(月) 16:41:06.37 ID:PLRcL5uS.net] C/C++ については、いつまでたっても「書ける」とはいいきれない存在ですね… 仕様が結構複雑だからなのか?
958 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 18:39:02.08 ID:NeMQsq8I.net] Rustは「書ける」んですか?
959 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 18:52:42.01 ID:tJPrOapS.net] Go使うよ。
960 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 19:02:04.84 ID:+TKchfUN.net] perlがライトオンリー言語なんて言われていたけどリードオンリー言語なんてのもあるんだな。 wiki.c2.com/?ReadOnlyLanguage rustはノミネートされてないから「書ける」と思うよ(すっとぼけ
961 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 19:32:53.55 ID:PkmPgg8A.net] 確かにAppleScriptは中途半端に英文風で多彩かつ何でこれダメなのってパターンも多くread onlyに相応しいな 昔はAdaの称号だったと思うが
962 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 01:20:02.37 ID:XTfqg8Os.net] Eclipse Corrosion使ってるやついないの?
963 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 20:18:59.26 ID:6WNc4gpj.net] Rustでプラグイン機構を持ったアプリを作る場合、本体とプラグインでjsonでやり取りするのが無難? それとも動的リンクでいける?
964 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 00:12:51.84 ID:t7f2tjaz.net] jsonでどうやるんだ。 ttps://crates.io/crates/libloading
965 名前:デフォルトの名無しさん [2018/07/23(月) 00:44:55.55 ID:CBB4e6ta.net] それOSやRustコンパイラがどういうコード作るかによるのでは? なんとなく出来そうな気はするけど。