X



Rust Part5
レス数が950を超えています。1000を超えると書き込みができなくなります。
0851デフォルトの名無しさん
垢版 |
2018/07/06(金) 18:21:10.44ID:iypT0A6c
どうもありがとう。でもちょっとニュアンスが違う。

struct 2d {x, y}
struct 3d extends 2d { z }

で3dが2dのxとyのフィールドと独自のzを持つようなかんじ
マクロで出来ないか精一杯やってみたが出来なかった
元となるstructごとにマクロ作ればできるんだけどそれじゃ意味ないし
0852デフォルトの名無しさん
垢版 |
2018/07/06(金) 18:57:55.41ID:0SVgWEm6
設計見直したら?
0854デフォルトの名無しさん
垢版 |
2018/07/06(金) 21:12:32.07ID:CzZn5kZZ
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つに
0856デフォルトの名無しさん
垢版 |
2018/07/07(土) 18:52:04.06ID:Otm/KpKR
ところで、全然話変わるんだけどさ、mutってどう発音してる?
自分は「むっと」ってよんじゃってて、なんか、かっこわるいんだけど。
0860デフォルトの名無しさん
垢版 |
2018/07/07(土) 20:58:49.46ID:PbU76+k2
mjúːtəbl
0871デフォルトの名無しさん
垢版 |
2018/07/11(水) 12:56:28.28ID:8BQ5VZH8
WebアプリをRustで書くって、どういう需要があるの?
ラズパイみたいな環境?
0872デフォルトの名無しさん
垢版 |
2018/07/11(水) 13:05:53.98ID:A6luu057
車買ったらムダにドライブしたくなるじゃん。すぐ飽きるのに。
あんな感じ。
0873デフォルトの名無しさん
垢版 |
2018/07/11(水) 13:08:35.26ID:uU0OdRlq
クライアントサイドとサーバサイドで同じコードが使えるって話ちゃうのん?
0876デフォルトの名無しさん
垢版 |
2018/07/11(水) 16:34:41.89ID:dzRS/LEU
全部rustって需要はあんまりない気がするけど、サーバ側ならかなりマッチしてる
0878デフォルトの名無しさん
垢版 |
2018/07/11(水) 18:10:54.52ID:EHDLIx8N
サーバーサイド → Rust
クライアントサイド → Rust
ブラウザ → Rust
完璧じゃないか
0880デフォルトの名無しさん
垢版 |
2018/07/11(水) 18:46:56.99ID:8BQ5VZH8
やたらノンブロッキングに拘ってるけど、それが本当に必要な人ってごく一部だよね
人気サービスの中の人だけ
普通はスレッド立てまくりで対応可能だし、たまに台数増やすだけで問題ないでしょ?
0881デフォルトの名無しさん
垢版 |
2018/07/11(水) 18:59:32.73ID:v5sVc8KX
だからそれは並列性が必要ってことでしょ
0885デフォルトの名無しさん
垢版 |
2018/07/12(木) 22:30:46.69ID:Wlqbcgdb
>>884
白紙の未来を絶望に染めてやろう。

あれもうかなり古いぞ。
rust 2018で今よりさらに変わるんだぞ。
エラーハンドリングもモジュールもTraitも重要な部分全部かわるぞ。
nightlyで結構実装済みだから現行のnightlyですら違うぞ。
macro 2.0はいいぞ!
0886デフォルトの名無しさん
垢版 |
2018/07/12(木) 22:39:04.16ID:sU95dCXR
この仕事してるならそんなの普通じゃん
0887デフォルトの名無しさん
垢版 |
2018/07/13(金) 00:41:53.18ID:MpWeaOSk
>>885
Rust 2018にエラーハンドリングの変更とかあったっけ?
Rust 2018での追加・変更って"module, impl trait, Generators/async/await, macros 2.0, NLL, SIMD"だけじゃなかったっけ?
もしかしてdo catchがstable化されるの?それとも、それ以外で変更があるの?
エラーハンドリングで互換性を崩すような変更があるならかなり痛いんだけど…
0891デフォルトの名無しさん
垢版 |
2018/07/13(金) 10:19:59.41ID:MpWeaOSk
こないだってもう3年前だぞ
C++が仕事で使えるんだから使えるだろ
てか、Swiftなんてもう4でそろそろ5になるとか言ってるんだぞ
あれが仕事で使えるんだからRustなんか楽勝だろ
0894デフォルトの名無しさん
垢版 |
2018/07/13(金) 11:07:37.12ID:sS4PjtpX
実際仕事で使っている人たちがいるのに使えないということは、別のところに問題があるのよ
0896デフォルトの名無しさん
垢版 |
2018/07/13(金) 12:52:21.80ID:sS4PjtpX
突然の自己紹介
0898デフォルトの名無しさん
垢版 |
2018/07/13(金) 15:05:24.82ID:KpXdroi9
車輪の再発明を抑止し過ぎるとnode.jsみたいになるからね
やり過ぎはだめってことよな
0900デフォルトの名無しさん
垢版 |
2018/07/13(金) 16:06:42.44ID:AcLm8Zma
たかだか一行二行のプログラムのnpmパッケージであふれ、しかも子孫含めた被参照ダウンロードが100万とかざらで、さらにそれがバグっている。
0901デフォルトの名無しさん
垢版 |
2018/07/13(金) 17:28:42.65ID:vZnflVWC
Rust関係ないけど最近ArchLinuxのAURに細工されたパッケージが上げられててほんのちょっとだけ話題になったんだけど

正直自分が使うcrateやそれの依存関係まで含めて全部書いてる人が信用できるかとかソースまでチェックしてる人なんていないよね…?
イカンなぁと思いながら盲目的に使っちゃってるわ(´・ω・`)
0902デフォルトの名無しさん
垢版 |
2018/07/13(金) 17:44:54.43ID:sS4PjtpX
CPUのL2キャッシュを作った人の叔母の恋人がテロリストがどうか気にするところから始めたほうがいいな
0907デフォルトの名無しさん
垢版 |
2018/07/13(金) 20:59:24.06ID:IpXdw+4i
Mozillaが詐欺企業なら、Mozilla以上に言う事やる事がコロコロ変わるAppleや
個人情報を収集しまくりのGoogleやMicrosoftはどうなってしまうんだろうなw
0908デフォルトの名無しさん
垢版 |
2018/07/13(金) 21:16:35.53ID:Y3xd+pZ1
> 仕事じゃ使えない

おじさんのことじゃん
0909デフォルトの名無しさん
垢版 |
2018/07/13(金) 21:19:05.39ID:EK55GFqW
crates.ioを見に行かないようにして、社内で確認済みのcrateしか置いてない社内リポジトリだけ
参照するような設定って出来るんだっけ?
0912デフォルトの名無しさん
垢版 |
2018/07/14(土) 00:26:44.88ID:nZvQhL00
>>909
cargoはそこらへん腐ってるから無理。
出来はするけどcrates.ioをクローンするツールの開発が
殆ど動いてないしクローンしてもそのローカルリポジトリを管理するツールがない。
ここらへんはoffline modeも絡んでくるけど、
どうせ欠陥機能作って廃止してまた作っての繰り返しでめちゃくちゃになるだけ。
0913デフォルトの名無しさん
垢版 |
2018/07/14(土) 06:22:32.24ID:brBR1uF1
crates.ioのソースを持ってきてローカルに立ち上げてhostsで向ければ出来上がりじゃん
0915デフォルトの名無しさん
垢版 |
2018/07/14(土) 09:02:37.98ID:5xFWH4XP
便利っつーかモジュラリティーの低い構造になってるだけだろ。。
バカ設計だわ。
0917デフォルトの名無しさん
垢版 |
2018/07/14(土) 11:25:26.45ID:brBR1uF1
仕事じゃ使えないのは言語じゃなくてお前だって言われてるのに何故goが出てくる
0920デフォルトの名無しさん
垢版 |
2018/07/14(土) 14:41:53.11ID:6PGIbnJP
にほんごむずかしいあるね
0921デフォルトの名無しさん
垢版 |
2018/07/14(土) 14:53:02.90ID:fAbuOpO3
Rustの提案するエセソリューションは機械語のレベルと相性が悪い
CやC++のほうがまだまともなアプローチしてる
0922デフォルトの名無しさん
垢版 |
2018/07/14(土) 15:01:24.24ID:3YOZASYs
「機械語のレベルと相性が悪い」が "All your base are belong to us" みたいに見えてきた
なんかもう根本的に解ってないなっていう感じからくる面白さがある
0923デフォルトの名無しさん
垢版 |
2018/07/14(土) 15:14:29.28ID:HNobJoZ0
モジラに職を奪われたおじさんと
そのおじさんの物まねをするおじさん達のスレ
0925デフォルトの名無しさん
垢版 |
2018/07/14(土) 15:22:17.69ID:P7IB+4yp
Cやアセンブラなどの低レベルな処理と連動する場合unsafeを使わざるを得ないが、言語の仕様上普通に書くとunsafe祭りになってしまい
ソースコードの可読性が低下するのが残念。抽象化したくてもこれまた仕様的に完全な抽象化が出来なかったりするし
0927デフォルトの名無しさん
垢版 |
2018/07/14(土) 16:00:11.16ID:6PGIbnJP
まだ学習し始めたばかりでみんなが何を言っているのかよくわからない。
0928デフォルトの名無しさん
垢版 |
2018/07/14(土) 16:53:11.51ID:QBMXvyuq
どいつもこいつも適当なことをそれっぽく言ってるだけだから気にしなくておk
0935デフォルトの名無しさん
垢版 |
2018/07/14(土) 20:02:32.48ID:3YOZASYs
バトー「つまり、本物の "Rustによる被害者" というのは最初の一人だけで、 
    残りは全て模倣犯による狂言だったってのか?」

トグサ「ああ。狂言を読んだ者は初めのうちは怒りを覚える。
    だが、その理不尽な怒りを抱えきれなくなると、
    衝動的に自らが "Rustによる被害者" になりすますことで、
    狂言によって植え付けられた怒りを共有しようとしていたんじゃないか」

バトー「実在しない "Rustによる被害者" たちが連鎖するってわけか……。
    ── 最初の一人はとうの昔に死んじまってるのにな」
0936デフォルトの名無しさん
垢版 |
2018/07/14(土) 23:00:52.98ID:6hFYodEH
>>922
懐かしいなAYBか。文法エラーを直しても通じないのがいいよなw
"All of your bases belong to us."
"お前らの卑しいものすべては我々に首ったけ"
ヒドイw
0937デフォルトの名無しさん
垢版 |
2018/07/14(土) 23:51:21.23ID:5xFWH4XP
rustに職を奪われたおじさんなんて実際は存在しないわけだが。。
まあそういう人がいると思った方が幸せな人がいるのは事実。
0938デフォルトの名無しさん
垢版 |
2018/07/15(日) 00:42:05.31ID:NkViXM6D
Rustに職を奪われたおじさんなんて名称なんてどうでもよくて
fibも書けない確かな"存在"がぐちぐち居座るせいで幸せになれない
0940デフォルトの名無しさん
垢版 |
2018/07/15(日) 10:56:41.89ID:NalVqF46
NLLがstabilizeされたらfibを書けないおじさんもfib書けるようになって成仏できるよ
0942デフォルトの名無しさん
垢版 |
2018/07/15(日) 14:08:56.51ID:Um7D2OLN
rustでfibが書けたり、木構造が書けることをここまで自慢してくる輩って。。
0943デフォルトの名無しさん
垢版 |
2018/07/15(日) 15:31:20.30ID:rsj4GyZ/
自慢も何もプログラマを名乗るなら最低限それくらい書けて当然だろ?ってこと
例えば、「俺は数学者だ」とか言ってる奴が微積分すら理解出来てなくて
「でも、因数分解ならできるし」とか言ってたら全力でぶっ叩くだろ?
つまりは程度の問題ってわけ
そして俺はRustでfibや木構造すら書けない奴はどうせ他の言語使ったって
ろくなコード書いてないだろうからそんな奴がプログラマを名乗るなんて片腹痛いわ!と思ってるだけ
0944デフォルトの名無しさん
垢版 |
2018/07/15(日) 15:42:24.47ID:ppRXQOVy
このスレに迷い込んだ新規にはfibをどんな書き方をしたらrustで問題になるのか想像もつかない
0945デフォルトの名無しさん
垢版 |
2018/07/15(日) 17:23:07.93ID:upVjqm6g
fibってなんですか?
0946デフォルトの名無しさん
垢版 |
2018/07/15(日) 17:23:57.93ID:vPMHyt9R
>56でしょ?
fibがかけなくて5時間も喚いた挙げ句
答えを大量に示されても礼のひとつも言えない
下らない批評をしては論破されて潜伏を繰り返しているあほ
「rustに職を奪われた」「fibを書けない」もこいつの本質ではないんだよな
0949デフォルトの名無しさん
垢版 |
2018/07/15(日) 19:51:13.58ID:H2FcMtiY
ツイッターでrust-lang-ja.orgのドメインが〜みたいな話が先月からあるみたいだけど
このスレでは誰も話題にしてない?
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況