スレ立てるまでもない質問はここで 161匹目

■ このスレッドは過去ログ倉庫に格納されています
2022/08/27(土) 16:03:56.00ID:5336PvZW
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

次スレは>>980が立てること

【前スレ】
スレ立てるまでもない質問はここで 160匹目
https://mevius.5ch.net/test/read.cgi/tech/1652160275/
2022/09/18(日) 19:43:36.43ID:fB0C0iJE
>>115
有難き幸せ。
constructor (adapter) {
 super(adapter)
 this.adapter = adapter;
}
と書くのとの違いは?
117デフォルトの名無しさん
垢版 |
2022/09/18(日) 22:12:40.14ID:VjUDO6tf
モバイルアプリで使うようなウェブサイトから画像持ってくるようなやつってURLとかのほうが表示速いのかね?
完全に趣味だけどウマ娘HPのHTMLに記されたsrcの文字を指定するだけですぐ反映されるんかな?
2022/09/19(月) 08:55:48.01ID:E2P5O1UU
>>116
違う
this["adapter"] ←これがthis.adapterと同じ
this[adapter] ←今回はこの形

ここで変数adapterが"adapter"なら同じだが
今回は変数adapterがSymbol("adapter")
つまり両者は異なる

>>117
CDNキャッシュの恩恵に預かれるから独自プロトコルで持ってくるとの比較ならば速くなりうる
119デフォルトの名無しさん
垢版 |
2022/09/19(月) 10:00:30.15ID:Guc0YHbo
>>118
なるほどサンクス
2022/09/19(月) 10:19:16.65ID:pZPXfhQS
画像が通信経路で勝手に再圧縮されてハッシュが一致しないエラーなんてのがあったな
2022/09/19(月) 10:48:36.99ID:9VJdPhWh
プロパティにSymbolを使っている理由はプライベートっぽく保護したいからじゃないかな
this.adapterだと外部から自由に読み書きできるけどthis[adapter]だとadapterの値にアクセスできない限り読み書きの手段がかなり限定される
2022/09/19(月) 12:02:31.85ID:knJx8Iiy
>>118
(あなたがadapter変数としているものは、今回の例では、kAdapter変数ということを
前提として)
kAdapter が変化するならわかるが、今回は
const kAdapter = Symbol('adapter')
と絶対に変化しない定数のようになっているので、結局、何がやりたいのだろうか?
俺はそもそも、Symbol オブジェクト(?)の役割が分かって無い。
2022/09/19(月) 12:04:04.35ID:knJx8Iiy
>>121
なるほど。
でも、そういうためだけの目的??
2022/09/19(月) 12:25:27.33ID:9VJdPhWh
Symbolはユニークなオブジェクトを作る
Symbol('adapter') != Symbol('adapter')
コンストラクタに渡す文字列はただの説明文
2022/09/19(月) 12:30:36.83ID:oXPlRBsf
Symbolの説明はとほほが分かりやすかった
https://www.tohoho-web.com/js/symbol.htm
2022/09/19(月) 13:30:34.01ID:knJx8Iiy
>>124
そもそも new Symbol("xxx") でなくて Symbol("xxx") と書く理由も
俺は分かってない。
127デフォルトの名無しさん
垢版 |
2022/09/19(月) 13:34:58.09ID:/08McGz8
new なしでクラスのインスタンス作れるというと Kotlin のようだな。
2022/09/19(月) 22:29:50.30ID:s9D2fBDK
new の有無が話題になるのは、JavaScript かな?
例えば、Number のnew の有無

Number() コンストラクターは、 Number オブジェクトを生成します。
new Number(value)

他の型の値は、Number() 関数を用いて数値に変換することができます。
Number('123') // 数値 123 を返す

つまり、newでインスタンスを作る。
new無しは変換関数
129128
垢版 |
2022/09/19(月) 22:36:56.77ID:s9D2fBDK
>>128
みたいな、ちょっとした書き方の違いで、様々な機能を実現しているから、JavaScript は難しい。
他にも、==, === の違いとか、一々調べないといけないから、時間の無駄

だから、Ruby の方が圧倒的に分かりやすくて、バグらない。
短時間で済む
130デフォルトの名無しさん
垢版 |
2022/09/19(月) 22:56:24.22ID:3GNptN3X
>>129
ただ、Rubyは
・ちゃんとしたローカル変数が作れない。
・ブロックが中括弧ではなく end などで終わったりして面倒。
 if 文の書き方が C言語と異なる。一方、JSは同じ。
・ブロックの書き方に統一感が無い。
・複数行コメントが簡単には書けない。
・Cの構造体の様なものが書きにくい。JSだと書ける。

JSはやりたい事が大体出来るようになっている。
ただし、Promiseなどがメンドクサイ。
2022/09/20(火) 00:19:25.28ID:u2od2H+V
>>130
>・ちゃんとしたローカル変数が作れない。
ちゃんとしたローカル変数って何?
2022/09/20(火) 13:00:38.92ID:A6jC1TrN
>>131
ブロックの中でのみ有効で、ブロックが終わると、外からは参照できない
変数の事。
2022/09/20(火) 13:50:20.93ID:Vc6tzv7n
>>132
それRubyは作れるでしょ
他の言語か何かと勘違いしてない?
2022/09/20(火) 16:42:07.32ID:pMOktr3q
>>133
Rubyは、関数スコープの変数は作れるが、ブロックスコープの変数は作れない
のでは。
2022/09/20(火) 16:47:31.05ID:D0AJnVXT
>>134
Rubyはブロックスコープあるからブロックローカルな変数作れるよ
作れないのはPythonとか
2022/09/20(火) 23:08:27.26ID:CPVobQYL
>>135
ほんまかいな。
2022/09/20(火) 23:09:52.94ID:Iq00CdpM
>>136
試せば秒でわかることやろ
2022/09/20(火) 23:09:56.53ID:/Bvo4oH4
Ruby のブロック変数・num, hash, abc にはスコープある。
ブロックには、do〜end と、{ } があって、前後の結合度の強弱が異なる。
each_with_object は蓄積変数・hash

ary = [ 1, 2 ]

num = "num"
hash = { a: 10 }
abc = "abc"

p res = ary.each_with_object( { } ) { |num, hash; abc|
num += 1
abc = num
hash[ abc ] = true
}
#=> {2=>true, 3=>true}

p num #=> "num"
p hash #=> {:a=>10}
p abc #=> "abc"
2022/09/21(水) 00:22:27.88ID:7Do5iWA5
正直Rubyの話題だとアイツかと思って身構えてしまってマトモに読む気にならん
2022/09/21(水) 08:15:26.69ID:LDkUg06y
テクスチャ圧縮フォーマットにはS3/BC系、ETC系、PVRTC系などいくつもあって
調べるとかつてはS3TCの特許で揉めたみたいな話も出てくるけど今の特許事情ってどうなっているの?
パテントフリーをうたっているASTCはともかく、他のも普通に使われているように見えるけど使用条件とかよく判らない
141デフォルトの名無しさん
垢版 |
2022/09/22(木) 06:49:00.65ID:56qGPhg8
GitHubとかスタックオーバーフローとかにあるコードを挿入できる入力フォームのコンポーネントの名前ってなんて言うんですか?
142デフォルトの名無しさん
垢版 |
2022/09/22(木) 07:23:09.30ID:w24JK7Wx
自己解決しました
リッチテキストエディタもしくはWYSIWYGエディタって言うんですね
2022/09/22(木) 09:46:10.14ID:XoRPEjFK
例えば、Ruby on Rails の作者・DHH がCTO を務める、Basecamp 社製のTrix は、

WYSIWYGを実現するリッチテキストエディタ
144デフォルトの名無しさん
垢版 |
2022/09/22(木) 10:59:10.80ID:u9/ouAZs
>>139
判ります
145デフォルトの名無しさん
垢版 |
2022/09/22(木) 13:20:33.56ID:Z2WQupk3
>>144
誰?
146デフォルトの名無しさん
垢版 |
2022/09/22(木) 13:24:08.08ID:Z2WQupk3
Rubyを推す人何人かいるけど
ほとんどの人がRubyしか知らない。
そんな人は何かを推す資格がないと思う。

普通はなにかを推すなら同類の複数のことを熟知していてそれを比べた中でこれがこういう理由でいいと推すものである。
147デフォルトの名無しさん
垢版 |
2022/09/22(木) 13:27:18.05ID:Z2WQupk3
プログラミング言語の場合、
PHP, Python, Rubyのすべてに熟知しててそれでもRubyを推すならその人に対して聞く耳を持てるが
そうじゃないならその人は独断と偏見の強い人であり、物事を客観視できない人なんだなという印象しか持ち得ない。
148デフォルトの名無しさん
垢版 |
2022/09/22(木) 13:28:22.37ID:Z2WQupk3
https://youtu.be/ipMC90r26uA
149デフォルトの名無しさん
垢版 |
2022/09/22(木) 13:37:16.04ID:u9/ouAZs
>>147
まさにこれ
2022/09/22(木) 13:48:15.74ID:z6cxsZX2
好きなの使えば良いとは思うけど現実的にRubyは使われなくなっているってだけの話なんだよなぁw
151デフォルトの名無しさん
垢版 |
2022/09/22(木) 14:12:44.24ID:UYzN1nQ5
別に推したい理由があるなら推せばいいんじゃね?
それで選択するのは質問者とかなんだし
152デフォルトの名無しさん
垢版 |
2022/09/22(木) 14:13:47.01ID:UYzN1nQ5
俺も.NET MAUI押してるけどFlutterとか知らない
だってDartとかいうクソ言語勉強したくないから
2022/09/22(木) 16:11:26.10ID:mhKEBERb
一つの言語しか知りませんよと宣言してそれを推すなら別にいいよ

>>130みたいに数時間学べば分かるようなことも知らずに特定の言語を下げるほうがどうかしてる
2022/09/22(木) 16:18:20.49ID:WTeW/iJy
自分はJS, Python, Ruby, Java, C#, Swift, Go, Rustその他諸々使えるけど
初心者がプログラミングを学ぶのにRubyから始めるのは今でもそこそこおすすめ

ただ仕事でRubyだけを継続的にやっていく状況ではなくなってるのは確かだから
最初に学ぶ1つの言語だけで長く仕事をやりたいみたいな考え方の人にはお勧めしない
155デフォルトの名無しさん
垢版 |
2022/09/22(木) 17:49:15.42ID:iVXru5E7
最近ファイアベースが持ち上げられてる感覚あるけどあれって無料なの?
無料じゃなければAWSやAzureの方がいいと思うんだがどうだろう?
2022/09/22(木) 18:14:58.97ID:EgZWqwyS
>>155
無料のサービスと従量課金のサービスがある
Webアプリやスマホアプリ向けに特化してて、用途によってはAWSやAzureより管理コストが低い
2022/09/22(木) 18:39:10.97ID:81hSOYnq
Firebase使うとクライアント側の開発だけで済ませられる
そのかわり安くはない
158デフォルトの名無しさん
垢版 |
2022/09/22(木) 19:01:48.49ID:Fa2Vuxr9
iPhoneしか使ったことないのに
「AndroidとiPhoneどっがいいの?」の質問に
iPhoneと力説するハゲがいた。

わたしはAndroidしか使ったことはないが上記のような質問にどっちがいいと即答することはない。
159デフォルトの名無しさん
垢版 |
2022/09/22(木) 19:39:27.32ID:qLW9OXP3
>>158
iphoneが良いから使ってる人に聞いて、iphoneという答えが返ってくるのは、当たり前では?
2022/09/22(木) 19:58:04.67ID:EqL6Qqki
マックしか食ったことの無い奴が世界で一番うまいのはマックだ~
って言ってるような滑稽さ
161デフォルトの名無しさん
垢版 |
2022/09/22(木) 20:00:31.61ID:qLW9OXP3
マクドより旨いハンバーガ屋なんてロッテリアしかないだろ。
そしてロッテリアは宗教上の理由で食えないので、マクド一択。
2022/09/22(木) 20:03:14.78ID:z6cxsZX2
宗教上の理由ワロタw
俺もチョンテリアは同じ理由で無理だけどw
勿論ギャラクチョンも宗教上の理由で絶対に使わない
163デフォルトの名無しさん
垢版 |
2022/09/22(木) 21:28:18.77ID:H/Y5WlVU
>>159
どちらがいいかを聞いているのに
一方しか知らずにいるのに回答するのが論理的でないと言っておるのだ。
164デフォルトの名無しさん
垢版 |
2022/09/22(木) 21:31:01.05ID:H/Y5WlVU
わたしはモスバーガー(そのメニューでは特にテリヤキバーガー)が最高にものすごくうまいと思ってるが
どのバーガーが一番ですか?の問いには素直に分からないと言う。
だってドムドムバーガーなるものは食べたことがないから。
2022/09/22(木) 21:38:07.61ID:jZZ4CDei
「iPhoneしか使ったことない」人を勝手に「iphoneが良いから使ってる人」にすり替えてるのもよろしくないな
166デフォルトの名無しさん
垢版 |
2022/09/22(木) 21:41:27.75ID:qLW9OXP3
ははーん、あんたモテないだろ?
2022/09/22(木) 22:38:21.06ID:b4qmPWCO
ちょっとしたツールやロジックの検証はRuby。実用はCかRust
Web系はあんま好きじゃないがJavaScriptを使わざるを得ない
2022/09/22(木) 22:47:41.25ID:Wl/eGnn7
>>166
反論できないから茶化して誤魔化そうってのは見苦しいね
2022/09/22(木) 23:53:39.87ID:XoRPEjFK
漏れは、10言語ぐらい使えるけど、Ruby on Rails がベスト

学習環境が良い。
高品質な教科書・ノウハウが多い。
ウェブ開発の技術を学べるので、他言語にも応用できる。
Rails, Bootstrap, jQuery だけで、原始的なレスポンシブのサイトを作れる

Elixir も書きやすいが、ノウハウが少ないため、高品質なライブラリが探せなくて、
皆で同じような低品質なモジュールを自作をするようになる

C/C++ はポインターがあるので、膨大な時間の無駄。
Java 土方は労働環境が悪い。客先・SES で中抜きされる。インターネット禁止。
JavaScript はクラスが出来るまでの、20年以上の言語の変遷を追っていくのが大変
2022/09/23(金) 00:12:12.31ID:LkhTrk/Q
こいつほど宗教臭さを感じさせるヤツもそうそういないな
2022/09/23(金) 00:35:12.38ID:974bIUrR
Rubyガイジ丸わかりだからなぁw
172デフォルトの名無しさん
垢版 |
2022/09/23(金) 01:15:22.17ID:gGLSN0ir
ウマ娘の公式サイトをHttpリクエストしたんだけどエラーが出る
何かそういう対策してんのかな?
2022/09/23(金) 05:34:15.07ID:exFn1ITS
>>170-171
いちいち相手すんなよ...
てかRubyでNGしとけ
2022/09/23(金) 11:03:51.05ID:I7ewjGHp
>>169
中抜きされるなら良いんじゃないの
ピンハネされるなら良くないけど
175デフォルトの名無しさん
垢版 |
2022/09/24(土) 12:59:46.39ID:/lLAu03F
文字列を定数化する意味ってあるんですか?
そのページでしか使わないんだから、そのまま書いた方が可読性いいと思うんですが
謎に定数ファイルを作って、そこに文字列を定義して、それを使う文化があります。
複数ページに同じ文面を使う場合もあるけど、それを変更される可能性があって
そのたびに定数ファイルに使いされてしまう。

俺は完全に無駄だと思ってるんだけど、
何か良いことがあったりするのだろうか?
2022/09/24(土) 13:28:22.71ID:h9hnlpzz
定数ファイルってのが外部化されたリソースファイルを指している前提で話すと
まず国際化がしやすい
さらにメッセージは変更のユーザー要求が発生しやすいことから以降のことが言える
文言しか変わってないことを担保しやすいのでテストのコストが抑えられる
場合によっては再ビルドを必要としないので機敏
コミットログ等も分離できるので変更の趣旨を追いやすい
国際化の目処が全くないなど、規模が小さいアプリほどメリットは小さくなると思う
2022/09/24(土) 15:06:55.96ID:wgmwIRyk
>>175
まともなプログラミング言語ならば
文字列は定数ならばtext segmentすなわちプログラミングコードと同じ読み取り専用エリアに配置されて有利です
一方で可変な文字列かつサイズ固定ならばdata segmentすなわに読み書き可能なエリアに配置されます
さらにサイズ可変な文字列はheap segmentつまり実行中に動的に確保するエリアに配置されて最もコストが高くなります
このような違いがあるため文字列は定数かどうか、可変の場合はサイズが固定なのかサイズまで可変なのかどうかが、非常に重要になってきます
178デフォルトの名無しさん
垢版 |
2022/09/24(土) 15:22:26.07ID:/lLAu03F
>>176
外部化してる、そのファイルを探して、修正項目も探すのがだるいんだよね
国際化しなければメリットないってことか
直接書いた方が修正楽だもんなぁ


>>177
効率考えると定数化したほうがいいんですね
でも、めんどいし分かりやすいから直接書いた方が修正するコストは下がると思うんだよね
エラーコードまで定数化する意味はないですよね?
例えば、200で返せばいいものを定数化してconst OK=200みたいにして
OKにするとか
2022/09/24(土) 15:34:17.24ID:TmEhV7P0
>>178
文字列を直接書くとか定数ファイルを使うとかいう話は、
その変な仕様の言語もしくは変なローカル規約のせいであって一般的な話じゃない。
そういう不便な状況になっているのがローカルな規約のせいなら規約を変えるべきであるし、
変な言語の仕様のせいならばその言語を変えるか、我慢して使い続けるしかない。
2022/09/24(土) 17:40:06.74ID:rKhoIQX5
>>138
Rubyで、{・・・} の方のブロックって、普通の場所にいきなり書けたっけ?
181138
垢版 |
2022/09/24(土) 22:26:05.79ID:L5pk3riv
Ruby でファイルのトップレベルでも、do〜end, { } を使える。
以下は両方とも、[2, 3] と出力される

VSCode の拡張機能・Code Runner で、
選択したコード片を右クリックメニューから実行する

ary = [ 1, 2 ]

p res_1 = ary.map { |num| num + 1 }

res_2 = ary.map do |num| num + 1; end
p res_2
2022/09/25(日) 01:00:22.88ID:7iyOFwBx
>>181
Rubyだけ特異な表記
ラムダ式(やクロージャや無名関数など)に対して多くの言語はその引数は中括弧ブロックの外に来る

例えばJavaScriptだと
let arr = [1, 2];
let res1 = arr.map(num => num + 1);
let res2 = arr.map(num => {
 return num + 1;
});

例えばRustだと
let arr = [1, 2];
let res1 = arr.map(|num| num + 1);
let res2 = arr.map(|num| {
 num + 1
});

このように全く異なるプログラミング言語でもほぼ同じ表記になる

mapはあくまでも関数だから丸括弧を取る
そしてmap関数の引数としてラムダ式(やクロージャや無名関数など)が来る
そして波括弧はそのラムダ式(やクロージャや無名関数など)の中身が複数行(今回の例のように1行でも可)の時にブロックとして用いる

特異な表記をしたり特異な解釈をするRubyは学習しない方がよいかもしれない
2022/09/25(日) 01:10:48.09ID:xiicOjyE
>>182
恥の上塗りやめて~~w
2022/09/25(日) 01:33:47.94ID:hevh/BVA
>>182
Rubyを学ぶと他の言語を学ぶ障害になるよな
Rubyは色んなことを省略しまくって記述するために色んなところが歪んでいる
2022/09/25(日) 02:20:38.19ID:gTVpeMPe
タイプ数を減らそうとする方針のプログラミング言語は消えていく
かつて一世を風靡したPerlは没落して消えた
Rubyも没落が激しく消えていく運命
2022/09/25(日) 02:22:17.85ID:kQGcz7Hc
Matzは尊敬してるけどRubyは好きではない
2022/09/25(日) 05:35:52.96ID:PDKGWlWe
おれは逆、Ruby自体はそこそこよく考えられた言語だと思うけどMatzは嫌い
2022/09/25(日) 07:03:41.72ID:eaSb619B
help コマンドを打つと

GNU bash, version 5.0.11(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally. Type `help' to see this list.
...

と出てきますがhelpを囲むものが左側はバッククォートで右側はアポストロフィなんですが何か理由がありますか?
2022/09/25(日) 07:35:27.62ID:fXZ+ASwp
日本語のカギカッコと同じで、右と左で違う記号で囲んでるだけ
プログラム的な話じゃなくて英語の話
2022/09/25(日) 09:56:39.66ID:gPkb1GyX
本当は‘で開いて’で閉じる(“で開いて”で閉じる)ものなんだけど
ASCIIの時は文字数をゴリゴリに節約したかったんでそれぞれを'と"に纏めちゃった
2022/09/25(日) 10:06:25.13ID:ggzfW2zp
‘ と ’なんだよな フォントの形が違って見えるだけ
2022/09/25(日) 15:40:07.14ID:biezUmQw
厳密には ` はグレーヴアクセントだし ' はアポストロフィなので
引用符として使っているのはどちらも代用
バックスラッシュやシングルクォートのほうが馴染みがあるけど実は通称だったりする
2022/09/25(日) 16:09:12.01ID:utXfanRE
UTF8に無事に統一された現代は本物も使い分けできるから困らん
5chのように古いまま取り残されたシステムもあるけど文字参照が通るから使い分けられるんじゃないかテスト
‘ ' ’
“ " ”
2022/09/25(日) 20:06:46.10ID:v2Pj0t10
""でいいです。。
195138
垢版 |
2022/09/25(日) 23:24:21.98ID:EaCGv7B5
>>181
Ruby では、Enumerable モジュールの戻り値は、
ブロックの有無によって、2種類ある

map { |item| ... } -> [object]
map -> Enumerator

ブロックを渡さない場合は、Enumerator を返して、
外部イタレータとして扱える
196デフォルトの名無しさん
垢版 |
2022/09/26(月) 02:33:00.34ID:aC/L4xEl
FigmaがAdobeに行ったってニュース取り上げられてたけどFigmaってそこでUI作ったらHTMLかなんかに変換する機能とかあるのかな?
2022/09/26(月) 04:40:48.96ID:tIU7Oyti
>>175
例えば、Ruby on Rails ではエラーメッセージなども国際化されていて、
日本語用のYAML ファイルに、単語などを登録する

accepted: を受諾してください
blank: を入力してください

他にも、モデル名を
member: 会員情報

その属性を
name: ユーザー名

もし、こういうように1つのファイルにまとめず、個別のファイルに書いていくと、
重複して、全てを修正しないといけなくなる

その時に修正漏れを起こさないように、かなりの時間を掛けて、
すべてのファイル・修正箇所を見ていく必要があるので、不可能
198デフォルトの名無しさん
垢版 |
2022/09/26(月) 09:03:11.80ID:aC/L4xEl
MySQLとかってFireBaseとかの代わりになりますかね?
2022/09/26(月) 10:54:05.21ID:NmZ8KQlQ
>>181
Rubyの場合、{} は、{ key => value } みたいな、Hashと解釈されて
しまうから、何にも無い場所ではブロックとしては使えないんじゃなかったっけ。
2022/09/26(月) 13:56:41.47ID:87YoNLu+
$ cp a a1
$ cp a a2
$ cp a a3
をまとめてやりたいときってブレース展開とかで上手く書けますかね?
for を使う方法ならわかりますが
2022/09/26(月) 14:50:27.77ID:d5GlFcgh
展開にそういう機能はないからムリじゃないかな seqとxargs使えば出来るけどだったらforでもいいような
2022/09/26(月) 16:47:05.39ID:EGAvXCTL
横なんですけど、例えばパラメータがファイル名に埋め込まれてる実験ファイルが大量にあるような状況で、各パラメータについての多重for文を回してデータを抽出、加工することがあるんですが、cut 辺りが非常に遅いです
こういうの早くするコツありますかね?

それこそ展開が使えると速いんですが、ファイル名が統一されてないときなんかは for 文式に走査せざるを得なくて困っています
2022/09/26(月) 17:13:30.83ID:KGSSSIHZ
シェルスクリプトのループはスクリプト言語のループに比べても桁違いに遅いし
ループ内で外部コマンド呼び出してたら更に遅くなる

速度が必要なら外部コマンド側でループ相当の処理をさせる
2022/09/26(月) 17:51:11.30ID:6tM7XGma
シェルスクリプトで遅いならスクリプト言語
それでも遅いなら事前コンパイルするGC言語
さらなる高速と省メモリを求めるなら非GC言語(C/C++/Rustなど)
2022/09/26(月) 17:57:44.25ID:rB0VxLwq
書き直したところで速くならない場合もあるから
何が遅いのかと他の言語なら速くなるのかを把握してないと無駄な努力をすることになる
2022/09/26(月) 19:12:48.53ID:d5GlFcgh
コマンドを起動することが本質のシェルスクリプトで速度云々言い出すのは色んなコトが世代間で伝わっていっていないんだろうなぁとこういうの見ると思う
2022/09/26(月) 19:20:07.36ID:EGAvXCTL
>>203-205
ありがとうございます
cut が滅茶苦茶遅いのは確認済みなので、とりあえずPythonあたりで同等の処理を試してみようと思います
> 例えばパラメータがファイル名に埋め込まれてる実験ファイルが大量にあるような状況で
というセットアップがそもそも良くないのかなぁとも思いつつ。。。
2022/09/26(月) 19:36:46.81ID:7ui+hcDc
>>206
システマティックに大量のコマンドを起動するにはどうしたら良いですか、と質問を読み替えればなんらおかしくないでしょ
「世代」とか全然関係ね~老害乙
2022/09/26(月) 19:51:07.88ID:BaHy7ID2
状況次第だよね
その多重forで外部コマンド多数起動でも速さも使用メモリも困らない状況ならシェルスクリプトでよいし
速さもメモリもシビアな状況で使うものはRustで書いてしまうし
2022/09/26(月) 21:02:00.88ID:asYcDi/H
>>207
そのセットアップとやらを見直すことに特に障害がないなら見直したほうが早いと思う
2022/09/26(月) 21:21:59.75ID:9/gyXHnS
>>207
この辺をまず参考にしてみては
https://stackoverflow.com/questions/57138422/why-is-it-much-slower-to-use-cut-than-awk-to-intercept-two-strings-from-each-lin
https://unix.stackexchange.com/questions/169716/why-is-using-a-shell-loop-to-process-text-considered-bad-practice
2022/09/26(月) 23:52:02.74ID:tIU7Oyti
Ruby で作るのが簡単
2022/09/27(火) 05:35:30.78ID:f9wenpM6
>>200
$ echo a{1..3} | xargs -rn1 cp a
214デフォルトの名無しさん
垢版 |
2022/09/27(火) 12:02:41.52ID:vP3LfdbR
>>199
[何がいいたいかを補足]
C言語の場合、
void func()
{
 int x;
 {
  int y;
  y を使った処理;
 }
 x は参照できるが、y は参照できなくなり、yを参照しようとするとエラーになる。
}

JSの場合もまったく同様の事が出来、"use strict" モードの場合でも、
function func()
{
 let x = 111;
 {
  let y = 222;
  y を使った処理;
 }
 x は参照できるが、y は参照できなくなり、yを参照しようとするとエラーになる。
}
と書くことが出来る。この点、JSはCと非常に似ている。
「スコープ」や「生存期間」の話。
xは、関数スコープ。yは、ブロックスコープ。
ところが、Rubyではこのような「ブロックスコープ」は作れないのではないかと思われる、ということ。
Rubyのブロック関数とは別。
2022/09/27(火) 23:51:52.61ID:oW3s344K
単なるブロックか。
Ruby には、そういうのは無いかも

{ } で囲むと、Hash になるから
2022/09/27(火) 23:57:39.82ID:TrPk/9km
Pythonにはあるんだっけ?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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