公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
公式ドキュメント
https://www.rust-lang.org/learn
Web上の実行環境
https://play.rust-lang.org
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※次スレは原則>>980が立てること
前スレ
Rust part19
https://mevius.5ch.net/test/read.cgi/tech/1673926892/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
Rust part20
■ このスレッドは過去ログ倉庫に格納されています
2023/03/03(金) 00:45:28.73ID:vTVY069B
211デフォルトの名無しさん
2023/03/19(日) 22:05:41.03ID:pmaEpt3C212デフォルトの名無しさん
2023/03/19(日) 22:08:47.66ID:pmaEpt3C 5chでの偏差値ね
Stackoverflowだと47くらい
Stackoverflowだと47くらい
213デフォルトの名無しさん
2023/03/19(日) 22:25:46.74ID:6gmOWdI+ >>207
ネイティブコンポーネントには Rust は使える。
Android の根本設計が Linux+JVM で、 JVM は変に高級な設計だからその高級な機能に噛み合うように設計された言語じゃないとうまくいかない。
LLVM バックエンドで JVM バイトコードを生成するものもあるらしいから無理すりゃ Rust でもなんとかなるかもしれないけど……
それよりも現在の情勢を見ると Android に WASM サブシステムが入るとかのほうがあり得そうな気がするよ。
ネイティブコンポーネントには Rust は使える。
Android の根本設計が Linux+JVM で、 JVM は変に高級な設計だからその高級な機能に噛み合うように設計された言語じゃないとうまくいかない。
LLVM バックエンドで JVM バイトコードを生成するものもあるらしいから無理すりゃ Rust でもなんとかなるかもしれないけど……
それよりも現在の情勢を見ると Android に WASM サブシステムが入るとかのほうがあり得そうな気がするよ。
214デフォルトの名無しさん
2023/03/20(月) 00:55:07.77ID:rG0fuScP 自然言語自体に落ち度があると思った方がプログラミング言語の価値が分かりやすい
翻訳にも質問にもChatGPTにも過度の期待をしなくてすむ
翻訳にも質問にもChatGPTにも過度の期待をしなくてすむ
215デフォルトの名無しさん
2023/03/20(月) 01:31:12.77ID:OPxEUMsA 言語の問題と言語を扱うやつの問題を同一視するアホ
216デフォルトの名無しさん
2023/03/20(月) 01:42:28.65ID:+AEvN8jR 正常動作する正規品を期待してたのに
不具合だらけで役に立たないジャンク品でした
不具合だらけで役に立たないジャンク品でした
217デフォルトの名無しさん
2023/03/20(月) 02:15:13.67ID:rG0fuScP はした金ではジャンク品しか買えない
インフレか
物価の問題と品質の問題のような二つの問題を無関係と考えるのがアホだったんじゃないか?
インフレか
物価の問題と品質の問題のような二つの問題を無関係と考えるのがアホだったんじゃないか?
218デフォルトの名無しさん
2023/03/20(月) 03:09:08.81ID:KC0EWXje prettierの代替のdprintがRust製だった
普及してるものがRust製に置き換わるってが今後も続くだろうね
普及してるものがRust製に置き換わるってが今後も続くだろうね
219デフォルトの名無しさん
2023/03/20(月) 03:46:46.02ID:8+GC48xI >>217
ところが実際はジャンク品のほうが正規品より高いんだなこれが
正規品に見せかけて売ってるからいわゆるジャンク扱いではなく蓋を開けたらゴミでしたという落ち
でもありがたいことに今は購入前に中身を確認可能なのでよほどの情弱じゃなければ騙されないんだけどね
ところが実際はジャンク品のほうが正規品より高いんだなこれが
正規品に見せかけて売ってるからいわゆるジャンク扱いではなく蓋を開けたらゴミでしたという落ち
でもありがたいことに今は購入前に中身を確認可能なのでよほどの情弱じゃなければ騙されないんだけどね
220デフォルトの名無しさん
2023/03/20(月) 10:04:17.69ID:UnL767mB221デフォルトの名無しさん
2023/03/20(月) 10:58:26.51ID:uuArbTr3 このあたりを読んでおけば大丈夫
Advanced Lifetimes
https://doc.rust-lang.org/1.30.0/book/second-edition/ch19-02-advanced-lifetimes.html
Advanced Lifetimes
https://doc.rust-lang.org/1.30.0/book/second-edition/ch19-02-advanced-lifetimes.html
222デフォルトの名無しさん
2023/03/20(月) 11:08:21.33ID:XflJK2ct >JVM は変に高級な設計だからその高級な機能に噛み合うように設計された言語じゃないとうまくいかない。
相変わらずいい加減なこと書いてるなぁ
相変わらずいい加減なこと書いてるなぁ
223デフォルトの名無しさん
2023/03/20(月) 11:41:00.74ID:rG0fuScP アプリもコンパイラも動くLinuxが正規品
コンパイラは不要とされアプリしか動かないLinuxがジャンク
コンパイラは不要とされアプリしか動かないLinuxがジャンク
224デフォルトの名無しさん
2023/03/20(月) 11:59:59.11ID:IoVEULD8 >>223
GNUにケンカ売る気かよ
GNUにケンカ売る気かよ
225デフォルトの名無しさん
2023/03/20(月) 14:23:43.87ID:YI144KAX Iterator<Item = Option>の時
filter(|o| o.is_some()).map(|o| o.unwrap()).map(|x| f(x))を
iflet(|Some(x)| f(x))みたいに1つにまとめてくれるメソッドある?
filter(|o| o.is_some()).map(|o| o.unwrap()).map(|x| f(x))を
iflet(|Some(x)| f(x))みたいに1つにまとめてくれるメソッドある?
226デフォルトの名無しさん
2023/03/20(月) 17:14:18.78ID:dpT4FG92 flattenとかflat_mapとかfilter_mapとか
227デフォルトの名無しさん
2023/03/20(月) 19:58:13.92ID:EBVsuSrE flat_mapはmap(f).flatten()の順だから無理だな
filter_mapはOption外しに使えるがmap(f)は別途必要
filter_map(|opt| opt).map(f) または参照なら
filter_map(Option::as_ref).map(f)
したがって正解はこれ
flatten().map(f)
filter_mapはOption外しに使えるがmap(f)は別途必要
filter_map(|opt| opt).map(f) または参照なら
filter_map(Option::as_ref).map(f)
したがって正解はこれ
flatten().map(f)
228デフォルトの名無しさん
2023/03/20(月) 20:22:03.14ID:9WmeSXDj flattenのOption/Resultはずし知らんかった
229デフォルトの名無しさん
2023/03/20(月) 20:32:22.28ID:45aFG7he230デフォルトの名無しさん
2023/03/20(月) 20:46:14.12ID:YI144KAX flattenを使ってできました
let v = vec![None, Some((1, 2)), None, Some((3, 4)), None];
assert_eq!(14, v.iter().flatten().map(|(a, b)| a * b).sum());
>>229
filter_mapを使うと簡単ならば知りたいです
let v = vec![None, Some((1, 2)), None, Some((3, 4)), None];
assert_eq!(14, v.iter().flatten().map(|(a, b)| a * b).sum());
>>229
filter_mapを使うと簡単ならば知りたいです
231デフォルトの名無しさん
2023/03/20(月) 21:35:03.62ID:adpwtvX/ 複オジかよっw
232デフォルトの名無しさん
2023/03/20(月) 21:41:30.44ID:EBVsuSrE 前述したようにfilter_map自体のmapではOption外ししかできないので別途map(f)が必要になる
filter_map(|opt| opt).map(f)
あるいは
filter_map(|opt| opt.map(f))
簡単なのはflatten().map(f)
filter_map(|opt| opt).map(f)
あるいは
filter_map(|opt| opt.map(f))
簡単なのはflatten().map(f)
233デフォルトの名無しさん
2023/03/20(月) 23:15:03.64ID:dBJpnlWY flat_mapはfilter_mapを汎用化したものなので
filter_mapは常にflat_mapで書き直せる
flattenと理屈は同じ
filter_mapは常にflat_mapで書き直せる
flattenと理屈は同じ
234デフォルトの名無しさん
2023/03/20(月) 23:20:21.79ID:I3aedYRP 唐突に妙に具体的な質問が飛んできたらあの人だと思ってればいい
235デフォルトの名無しさん
2023/03/20(月) 23:20:56.30ID:c1bWUyRU どの人だよ
236デフォルトの名無しさん
2023/03/20(月) 23:49:46.77ID:K17OWm6q237デフォルトの名無しさん
2023/03/21(火) 00:12:49.49ID:lhwbZ9up238デフォルトの名無しさん
2023/03/21(火) 10:42:06.27ID:El4m1VCp Someだけ拾って関数をmapすると考えれば
filter_map(|opt| opt.map(f))
だな
元のSome/Noneをそのまま利用するのがトリッキーかもしれないけど
filter_map(|opt| opt.map(f))
だな
元のSome/Noneをそのまま利用するのがトリッキーかもしれないけど
239デフォルトの名無しさん
2023/03/21(火) 11:33:54.48ID:aqrydfrP ところで、ラムダには自由変数というものがありその反対が束縛変数だが
ラムダや自由変数を意識する必要がない文脈で束縛という用語が出ると
その語源を説明する手間がかかるよな
ラムダや自由変数を意識する必要がない文脈で束縛という用語が出ると
その語源を説明する手間がかかるよな
240デフォルトの名無しさん
2023/03/21(火) 13:02:51.29ID:3dx+Qi3k scalaやっているせいかmatchとか
すごく使いやすいわん
iterator nextなんてJavaでも使わんけど
これ使い人いるの?
すごく使いやすいわん
iterator nextなんてJavaでも使わんけど
これ使い人いるの?
241デフォルトの名無しさん
2023/03/21(火) 13:17:10.53ID:lhwbZ9up242デフォルトの名無しさん
2023/03/21(火) 13:27:49.15ID:gPDO4YWu243デフォルトの名無しさん
2023/03/21(火) 13:35:41.08ID:lhwbZ9up244デフォルトの名無しさん
2023/03/21(火) 14:20:03.57ID:El4m1VCp 元の入力で「値の有無」を表してたOptionをfilter_mapの「要素の残存判定」に転用する形だから
Optionの意味が微妙に変わってて引っ掛かる人もいるかなって思った
Optionの意味が微妙に変わってて引っ掛かる人もいるかなって思った
245デフォルトの名無しさん
2023/03/21(火) 14:35:08.73ID:4Vr7UtW/ 昔の言語だと配列に初期値として使っていないことを示すために-1とか0とかnullとかundefinedを入れてしまうことが多かったパターンか
いわゆるデータのnull安全性がなかったことろをRustはOptionのNoneとSome利用でnull安全性が保証
データが0にならならNonZeroを使えばNone時に0が使われて余分なメモリ消費もないしな
いわゆるデータのnull安全性がなかったことろをRustはOptionのNoneとSome利用でnull安全性が保証
データが0にならならNonZeroを使えばNone時に0が使われて余分なメモリ消費もないしな
246デフォルトの名無しさん
2023/03/21(火) 14:39:43.43ID:xxXQcN5m247デフォルトの名無しさん
2023/03/21(火) 14:40:28.73ID:4Vr7UtW/ >>238
そこを出発点として考える場合でも
filter_map(|opt| opt.map(f))
↓ Optionのままmapしても剥がしてからmapしても同じ
filter_map(|opt| opt).map(f)
↓ Optionに対して恒等関数になってるのでflattenと同じ
flatten().map(f)
と辿り着く
そこを出発点として考える場合でも
filter_map(|opt| opt.map(f))
↓ Optionのままmapしても剥がしてからmapしても同じ
filter_map(|opt| opt).map(f)
↓ Optionに対して恒等関数になってるのでflattenと同じ
flatten().map(f)
と辿り着く
248デフォルトの名無しさん
2023/03/21(火) 17:23:17.80ID:El4m1VCp249デフォルトの名無しさん
2023/03/21(火) 18:14:49.79ID:lhwbZ9up250デフォルトの名無しさん
2023/03/21(火) 19:05:07.54ID:Kxmr6Met251デフォルトの名無しさん
2023/03/21(火) 19:18:56.96ID:8T+PSGNQ >>250
インデックス値で管理できるものま無駄なコストがかかるハッシュマップでを用いる気軽な連想配列な考えこそコスト無視のスクリプト言語な考えだよ
インデックス値で管理できるものはRustでは配列かVecを使う
インデックス値で管理できるものま無駄なコストがかかるハッシュマップでを用いる気軽な連想配列な考えこそコスト無視のスクリプト言語な考えだよ
インデックス値で管理できるものはRustでは配列かVecを使う
252デフォルトの名無しさん
2023/03/21(火) 21:39:30.39ID:Hb26aB9L HashMap<K, V>はhash計算コストに加えてkey比較コストがhash衝突回数の分かかるからなー
indexになれる値があって上限が許容されるならVecが有利
indexになれる値があって上限が許容されるならVecが有利
253デフォルトの名無しさん
2023/03/21(火) 23:56:44.92ID:UIyRFaA6 >>250が経験不足と知識不足で知らなかったんでしょ
254デフォルトの名無しさん
2023/03/22(水) 13:00:26.42ID:KFnwa6CM >>251
おいおいなんで急にハッシュマップが出てくるんだよ
そんなんで大丈夫か?
Vec<Option<V>>みたいなデータがどこからともなく自然発生するわけないんだから全体のパイプラインを考えろって言ってるの
現実的かつ具体的なユースケースで考えような
おいおいなんで急にハッシュマップが出てくるんだよ
そんなんで大丈夫か?
Vec<Option<V>>みたいなデータがどこからともなく自然発生するわけないんだから全体のパイプラインを考えろって言ってるの
現実的かつ具体的なユースケースで考えような
255デフォルトの名無しさん
2023/03/22(水) 18:31:25.27ID:KdbjtxZL ナイーブなハッシュテーブルをVec<Option<T>>で実装する人はいるかもしれない
256デフォルトの名無しさん
2023/03/22(水) 21:00:04.56ID:ax9KtLpr うちも値域が限定されてる離散値はArrayかVec<Option<T>>使う
257デフォルトの名無しさん
2023/03/22(水) 21:30:41.78ID:Bu7rNmu4 マニュアルに書いてるような内容をやたら饒舌に語るとChatGPT感出るね
258デフォルトの名無しさん
2023/03/22(水) 21:32:36.00ID:VRM+VuH6259デフォルトの名無しさん
2023/03/22(水) 21:36:57.10ID:fGWMZjSN Vec<Optionは普通に使うぞ
今書いてる部分と似たようなことをしてるregexのソースを見たらVec<Option使ってる
普通そうなるよな
今書いてる部分と似たようなことをしてるregexのソースを見たらVec<Option使ってる
普通そうなるよな
260デフォルトの名無しさん
2023/03/22(水) 22:15:33.42ID:ngpWOwSU261デフォルトの名無しさん
2023/03/22(水) 23:19:58.21ID:M/QYX+I6 Vec<Option<T>>が使われないなんていう話は誰もしてないのにね
話が通じなくてもう面倒くさ過ぎるわ
話が通じなくてもう面倒くさ過ぎるわ
262デフォルトの名無しさん
2023/03/22(水) 23:35:18.64ID:3T9wSwPZ たぶん論点はfilter_mapの話からここ
> vec![None, Some((1, 2)), None, Some((3, 4)), None];みたいなのはこれがすでに入力値に対して何かしら関数適用した結果なんだよね
> Vec<Option<V>>みたいなデータがどこからともなく自然発生するわけないんだから全体のパイプラインを考えろって言ってるの
でもこの主張は間違っていて
疎なデータ構造ならいきなりVec<Option<T>>が現れる
初期値オールNoneから飛び飛びにSome化していく
そのVec<Option<T>>は何度も使うからのイテレータ処理の一時的に現れるものでもない
> vec![None, Some((1, 2)), None, Some((3, 4)), None];みたいなのはこれがすでに入力値に対して何かしら関数適用した結果なんだよね
> Vec<Option<V>>みたいなデータがどこからともなく自然発生するわけないんだから全体のパイプラインを考えろって言ってるの
でもこの主張は間違っていて
疎なデータ構造ならいきなりVec<Option<T>>が現れる
初期値オールNoneから飛び飛びにSome化していく
そのVec<Option<T>>は何度も使うからのイテレータ処理の一時的に現れるものでもない
263デフォルトの名無しさん
2023/03/23(木) 00:27:50.25ID:WQSgJ4cO 構うから暴れるんすよ
264デフォルトの名無しさん
2023/03/23(木) 07:45:41.23ID:ZvBDBUI1 グラフ構造でVec<Option<usize>>使うこともある
さらにインデックス自体のマッピングにも使われたり
// Maps old index to new index. None if not yet visited.
let mut remap: Vec<Option<usize>> = vec![None; self.nodes.len()];
さらにインデックス自体のマッピングにも使われたり
// Maps old index to new index. None if not yet visited.
let mut remap: Vec<Option<usize>> = vec![None; self.nodes.len()];
265デフォルトの名無しさん
2023/03/23(木) 08:16:41.69ID:uJzov1zR 公式ドキュメントとchatgpt
これだけあれば全て滅びる
これだけあれば全て滅びる
266デフォルトの名無しさん
2023/03/25(土) 10:51:05.32ID:F0OLKMhM 人間があれやこれやするよりも
全部 AI 翻訳に任せりゃインジャネーノ
全部 AI 翻訳に任せりゃインジャネーノ
267デフォルトの名無しさん
2023/03/27(月) 10:33:42.84ID:IqXvBms8 >>263
本当にそうだったね
本当にそうだったね
268デフォルトの名無しさん
2023/03/27(月) 13:18:10.65ID:hjxGI+jP そのうち
課題を見つける能力
課題を提起する能力
がメインとなるんやろな
1人会社が当たり前になりそう
課題を見つける能力
課題を提起する能力
がメインとなるんやろな
1人会社が当たり前になりそう
269デフォルトの名無しさん
2023/03/27(月) 17:47:50.73ID:ppqykIl7 >>268
今までもそうだったけど気づいてない人が多かったというだけ
解けることが事前にわかってる問題を与えられて解くだけの人は今までも価格競争にさらされ段階的に置き換えられてきた
機械学習による変化は機械に解かせることのできる問題の抽象度が上がったこと
今までもそうだったけど気づいてない人が多かったというだけ
解けることが事前にわかってる問題を与えられて解くだけの人は今までも価格競争にさらされ段階的に置き換えられてきた
機械学習による変化は機械に解かせることのできる問題の抽象度が上がったこと
270デフォルトの名無しさん
2023/03/30(木) 21:28:14.05ID:O05INV+E samタレットを壊されないかつ迎撃もできる状態で設置する方法ってない?
拠点屋根に四台設置してんだけどログインする度に毎回壊されてるわ
拠点屋根に四台設置してんだけどログインする度に毎回壊されてるわ
271デフォルトの名無しさん
2023/03/30(木) 21:34:58.46ID:O05INV+E ごめんスレ間違えた
272デフォルトの名無しさん
2023/03/31(金) 12:09:07.07ID:lEKZGT8D それはrustだろ?ここはrustスレ。間違えるなよ
273デフォルトの名無しさん
2023/04/01(土) 04:03:16.63ID:ncnK4efa Interface 2023年5月号
550号特別企画 2大特集 Linuxでも正式サポート,組み込みや車載で注目を集める 質実剛健 Rust言語
3月25日発売 (定価 1,200円+税)
第1特集:C言語と比べて理解する
第2特集:マイコンで動くフル機能Rust
特別付録:初めてのRustプログラミング
新連載:毎号実験!自律移動ロボット
550号特別企画 2大特集 Linuxでも正式サポート,組み込みや車載で注目を集める 質実剛健 Rust言語
3月25日発売 (定価 1,200円+税)
第1特集:C言語と比べて理解する
第2特集:マイコンで動くフル機能Rust
特別付録:初めてのRustプログラミング
新連載:毎号実験!自律移動ロボット
274デフォルトの名無しさん
2023/04/01(土) 16:12:14.56ID:MxqBV1k0 >>273
面白そうだな。組み込みだと実装依存のCコードがまかり通っていたりするからな
面白そうだな。組み込みだと実装依存のCコードがまかり通っていたりするからな
275デフォルトの名無しさん
2023/04/02(日) 17:52:37.39ID:w9dFgeBH interface読んでる連中には難しいんじゃないの?
276デフォルトの名無しさん
2023/04/02(日) 18:01:44.10ID:Xkdfgrgv むしろこれを機に組み込みの勉強でも始めてみようかしら
277デフォルトの名無しさん
2023/04/02(日) 18:02:25.20ID:oh3DHZZg278デフォルトの名無しさん
2023/04/02(日) 19:09:06.81ID:w9dFgeBH 組み込みだったらmrubyだよね
しらんけど
しらんけど
279デフォルトの名無しさん
2023/04/03(月) 00:25:42.34ID:XRTgFvZO そのうちrust謹製の組み込み OS とか出てくるんじゃねえの
280デフォルトの名無しさん
2023/04/03(月) 00:53:16.98ID:OPvO6xnV >>279
Google が KataOS を発表してる。 今は CantripOS と改名してるっぽいな。
どこまで本気なのかよくわからんけどコードは Github に有るから見物してみたらいいんじゃない?
Google が KataOS を発表してる。 今は CantripOS と改名してるっぽいな。
どこまで本気なのかよくわからんけどコードは Github に有るから見物してみたらいいんじゃない?
281デフォルトの名無しさん
2023/04/03(月) 09:12:06.30ID:45NlJXFV 組み込み分野を目指す学生はPythonばっかり
これを機にRustやCやC++にも目を向けて欲しい
組み込み分野の実務でPythonはつぶしがきかない
これを機にRustやCやC++にも目を向けて欲しい
組み込み分野の実務でPythonはつぶしがきかない
282デフォルトの名無しさん
2023/04/03(月) 11:15:42.36ID:wQbZbh4b 組み込みでPythonとか使うのか
一番親和性の感じられない組み合わせやな
一番親和性の感じられない組み合わせやな
283デフォルトの名無しさん
2023/04/03(月) 11:32:22.07ID:AEelnK5w ラズパイでしょ
284デフォルトの名無しさん
2023/04/03(月) 11:39:22.47ID:DEHD7IX8 ラズパイは組み込みじゃないだろw
組み込み向けだと MicroPython とかあった気がするけど使われてるのかねぇ
組み込み向けだと MicroPython とかあった気がするけど使われてるのかねぇ
285デフォルトの名無しさん
2023/04/03(月) 11:55:49.94ID:weCnHsyM ラズパイはLinux系OSが動いていてX Windowを立ち上げてデスクトップPCにすることも可能な環境
昔からからの組み込みが指すのはOSがないもしくは簡易なものしかない環境でありそこでPythonは使われない
昔からからの組み込みが指すのはOSがないもしくは簡易なものしかない環境でありそこでPythonは使われない
286デフォルトの名無しさん
2023/04/03(月) 12:04:38.11ID:GLvgK6Zq 組み込みかどうかと言うより
ミッションクリティカルかどうかと言ったほうが正確か
ミッションクリティカルかどうかと言ったほうが正確か
287デフォルトの名無しさん
2023/04/03(月) 12:08:34.80ID:+ZHaYieR 同等以上に曖昧に思う。
288デフォルトの名無しさん
2023/04/03(月) 12:26:19.63ID:NFGj33Dp 組み込みならFORTHだよね。
289デフォルトの名無しさん
2023/04/03(月) 15:05:13.27ID:KUJKPBk4 ミッションクリティカルの意味わかってないだろw
290デフォルトの名無しさん
2023/04/03(月) 15:14:52.29ID:bhpxOZS2 javaですら使われるんだから場所によってはpythonもあるだろう
291デフォルトの名無しさん
2023/04/03(月) 16:24:30.55ID:0x65F9Io このスレ複製おじ来なくなって平和になったなw
292デフォルトの名無しさん
2023/04/03(月) 17:14:33.32ID:XRTgFvZO 10年後くらいには組み込みの指すやつが10GHz・20GBくらいになってんだよ
293デフォルトの名無しさん
2023/04/03(月) 22:15:51.09ID:OPvO6xnV Python だって組み込みに使われるのはわかるよ。
でもそれをホスティングする環境は何で書くんだって話よ。
アプリケーション部分だけ書ければ良しというわけにもいかんだろう。 組み込みってのは。
でもそれをホスティングする環境は何で書くんだって話よ。
アプリケーション部分だけ書ければ良しというわけにもいかんだろう。 組み込みってのは。
294デフォルトの名無しさん
2023/04/03(月) 22:22:41.19ID:6LaoLj6b 組み込みの定義次第
295デフォルトの名無しさん
2023/04/03(月) 22:46:10.84ID:uCVDtc7z 自分の中の組み込みはリアルタイムシステム
CかC++
CかC++
296デフォルトの名無しさん
2023/04/03(月) 23:08:31.70ID:NUuZ0KjY >>290
javaですらというか、javaはもともと組込みを視野に入れて開発されたものだしな
javaですらというか、javaはもともと組込みを視野に入れて開発されたものだしな
297デフォルトの名無しさん
2023/04/04(火) 12:59:01.65ID:9wA8JWJA 普通のWindowsPCを何かの筐体に入れればそれは組み込みだがそういう話じゃないよな
実装的には一般的なアプリと何も変わらないわけだし
実装的には一般的なアプリと何も変わらないわけだし
298デフォルトの名無しさん
2023/04/04(火) 19:20:19.03ID:WPLXkRn6 みんな、組み込みに食いつくね
連想するの分野がひとそれぞれなんだね
おいらは組み込みといったらファームウェアだな
連想するの分野がひとそれぞれなんだね
おいらは組み込みといったらファームウェアだな
299デフォルトの名無しさん
2023/04/04(火) 20:28:06.15ID:ktWoV7jH PICじゃなきゃ組み込みじゃないって感じなのかな?
数年前に関わった仕事じゃFPGAとARMが両方乗っかってて
OSも入ってるやつで測定データをCのソケットでUDP送信させたけどこれ組み込み?
数年前に関わった仕事じゃFPGAとARMが両方乗っかってて
OSも入ってるやつで測定データをCのソケットでUDP送信させたけどこれ組み込み?
300デフォルトの名無しさん
2023/04/04(火) 20:50:26.77ID:vWHz0hKB301デフォルトの名無しさん
2023/04/04(火) 21:47:02.28ID:LgI/21ca 技術的には低レイヤーと称する方が適しているのだろうな。せいぜい軽量のRTOSあたりまで
>>300
汎用性に乏しい装置は原則組み込みじゃね
ゲームコンソールもどちらかと言えば組み込みだと思うし
デジタルサイネージとかも該当するだろう(ラズパイ使っている例もあるらしい)
>>300
汎用性に乏しい装置は原則組み込みじゃね
ゲームコンソールもどちらかと言えば組み込みだと思うし
デジタルサイネージとかも該当するだろう(ラズパイ使っている例もあるらしい)
302デフォルトの名無しさん
2023/04/05(水) 02:16:43.52ID:SGxKhieo303デフォルトの名無しさん
2023/04/05(水) 11:08:42.58ID:vYYfy7R4304デフォルトの名無しさん
2023/04/06(木) 10:45:28.99ID:E/e3rQLj305デフォルトの名無しさん
2023/04/06(木) 11:27:07.02ID:k0Faa7D2 普通組み込み用途と言えばコンピュータ制御の電子機器のために使う用途やろな
・メモリなどのリソースが少ない環境でも使える
・応答時間などのタイミング制御のために実時間処理ができる
こういうのにRustが強いのは何となくわかる
コンパイル時に静的に解決できる範囲が広いからな
・メモリなどのリソースが少ない環境でも使える
・応答時間などのタイミング制御のために実時間処理ができる
こういうのにRustが強いのは何となくわかる
コンパイル時に静的に解決できる範囲が広いからな
306デフォルトの名無しさん
2023/04/06(木) 12:37:50.23ID:HSw9WEQy 全然違う話でごめん
以下のような処理がある時にf(**item)と参照外しを2回も必要とするのは違和感あるけどそういうもの?
let v: Vec<i32> = vec![1, 8, 4, 5, 9, 6, 3];
let valid_index_list: Vec<usize> = v
.iter()
.enumerate()
.filter(|(_, item)| f(**item))
.map(|(index, _)| index)
.collect();
以下のような処理がある時にf(**item)と参照外しを2回も必要とするのは違和感あるけどそういうもの?
let v: Vec<i32> = vec![1, 8, 4, 5, 9, 6, 3];
let valid_index_list: Vec<usize> = v
.iter()
.enumerate()
.filter(|(_, item)| f(**item))
.map(|(index, _)| index)
.collect();
307デフォルトの名無しさん
2023/04/06(木) 12:42:05.41ID:0BpFn4iz 組み込みシステムと組み込みプログラミングで微妙に境界線が異なる
例えばサーマルカメラ内蔵のAndroid端末を使った検温システムは組み込みシステムだけど
サーマルカメラのSDKを利用した検温アプリ開発は組み込みプログラミングとは呼ばないかもしれない
サーマルカメラのSDKを作る開発は組み込みプログラミングと呼べる
例えばサーマルカメラ内蔵のAndroid端末を使った検温システムは組み込みシステムだけど
サーマルカメラのSDKを利用した検温アプリ開発は組み込みプログラミングとは呼ばないかもしれない
サーマルカメラのSDKを作る開発は組み込みプログラミングと呼べる
308デフォルトの名無しさん
2023/04/06(木) 12:56:01.04ID:UmwXRZgB 確かにSoCや基板の事情がソフト側から見えてると
(memory mapped I/O直接叩くとか)
OSの有無によらず組み込みっぽい感じはするな
(memory mapped I/O直接叩くとか)
OSの有無によらず組み込みっぽい感じはするな
309デフォルトの名無しさん
2023/04/06(木) 15:14:50.96ID:f3OaQ0al >>306
なんかオジっぽいコードだね
普通はDeref Coercionを活用する
その例ならfを&i32 -> boolにすれば明示的derefは不要
filter関数がownership取るのは変
ついでにfilter_mapでまとめて
.filter_map(|(index, item)| f(item).then_some(index))
シグニチャ変えられない特別な事情があるならパターンマッチで|(index, &item)|としてderefしておく
なんかオジっぽいコードだね
普通はDeref Coercionを活用する
その例ならfを&i32 -> boolにすれば明示的derefは不要
filter関数がownership取るのは変
ついでにfilter_mapでまとめて
.filter_map(|(index, item)| f(item).then_some(index))
シグニチャ変えられない特別な事情があるならパターンマッチで|(index, &item)|としてderefしておく
310デフォルトの名無しさん
2023/04/06(木) 16:55:58.17ID:E/e3rQLj >>306
値を返すイテレータも参照を返すイテレータもあるから
どちらでも不都合のない仕組みにしようとするとそうなるんじゃないの。
参照が二重になるのはごく普通のこと。
その二重の参照をどうやって剥がすかには選択肢があるけど。
値を返すイテレータも参照を返すイテレータもあるから
どちらでも不都合のない仕組みにしようとするとそうなるんじゃないの。
参照が二重になるのはごく普通のこと。
その二重の参照をどうやって剥がすかには選択肢があるけど。
311デフォルトの名無しさん
2023/04/06(木) 18:19:32.48ID:ypjpS3Va■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」 [♪♪♪★]
- 【🍝】「偽カルボナーラ」にイタリア激怒、パンチェッタの使用は「犯罪」と非難 [Ailuropoda melanoleuca★]
- 【速報】 植田日銀総裁 「円安進行が物価高を起こしている」 ★2 [お断り★]
- 【貿易】北海道ホタテ業界、中国の輸入停止に「動揺なし」 脱中国進み、輸出可能な加工施設は道内でわずか1社 [1ゲットロボ★]
- 【🍝】「偽カルボナーラ」にイタリア激怒、パンチェッタの使用は「犯罪」と非難 ★2 [Ailuropoda melanoleuca★]
- 金爆・樽美酒研二45歳 原因不明の病告白 「これ酷い時」背中一面に蕁麻疹…心配の声殺到 [muffin★]
- 【悲報】報道ステーション「上野動物園のパンダなんも関係ねえだろうぅぅぅぅう!!!!」 [616817505]
- 日経新聞「老後資金1億円を目標にしましょう」激しいインフレにより老後資金2000万円では足りなくなってしまう [709039863]
- 麻生太郎(85)「国民は台湾有事で戦う覚悟が求められる」 [961870172]
- 🏡なにゃこのスリャ!🐧⚡🏡
- 女の子にいじわるしたい
- 【朗報】本格麻雀漫画「咲-Saki-」、和了無効化能力に対し、宇宙の次元を入れ替えることで勝利 [769931615]
