[過去ログ] スレ立てるまでもない質問はここで 156匹目 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
901(2): 2021/06/04(金)07:16 ID:HA+SG9aG(1) AAS
iはどこから来たのか
tukiはどこへ行くのか
表示したいのは何者か
何ひとつ腑に落ちない
902(2): 2021/06/04(金)07:16 ID:56OCEghC(1) AAS
>>900
iという変数は出てきてないよね
promptの結果をtukiに入れてる
だからそれが使われる
903(2): 2021/06/04(金)08:41 ID:5QdjaX9T(1) AAS
iを配列の添字の変数だと思っているのかな
for文でみんな説明もなくiを使うから……
904(2): 2021/06/04(金)09:40 ID:6dOQNCq3(1/2) AAS
データを置く階層は深いところよりも浅いところの方がプログラムの処理速度は速いですか?
例えば、C:\Users\xxxxx\Documents\Product_A\Lot_B\Each_C\の下の\Dataフォルダよりも
C直下に置いた\Dataフォルダの方がプログラムの処理速度は速いですか?
それとも処理速度は同じですか?
コンパイル後に
C:\Users\xxxxx\Documents\Product_A\Lot_B\Each_C\ が
直アドレスに変換されているなら速度は同じだと思うんですが・・・
905(2): 2021/06/04(金)09:53 ID:BzCokzlM(1) AAS
>>904
理論的には、ファイルパスが長いとその分ファイルパス自体に対するメモリアクセスが僅かに遅くなったり、
ディスク上のインデックスを探索してファイルを探すのが経路が伸びて僅かに遅くなったりする可能性はある
しかし現実にはファイルの中身の読み書きの方が圧倒的に時間がかかるため、「全く」影響しない
906: 2021/06/04(金)15:52 ID:T0+OILo8(2/4) AAS
>>901-903
別の問題の配列に5,3,7,8,9を入れて全ての数字を表示させなさいっていうのでは、numの{}内の数がiに置き換わってるんだけどこれはどういうこと?
num = [5,3,7,8,9];
for(i=0; i<5; i++) {
alert(num[i]);
}
これに倣って>>900のnissuの[]内もiに置き換えることが出来るんだと思ってしまったんだけど
907: 2021/06/04(金)15:55 ID:T0+OILo8(3/4) AAS
すみません、タイプミスしてたんでもう一度投稿しました
>>901-903
別の問題の配列に5,3,7,8,9を入れて全ての数字を表示させなさいっていうのでは、numの[]内の数がiに置き換わってるんだけどこれはどういうこと?
num = [5,3,7,8,9];
for(i=0; i<5; i++) {
alert(num[i]);
}
これに倣って>>900のnissuの[]内もiに置き換えることが出来るんだと思ってしまったんだけど
908: 2021/06/04(金)17:15 ID:T0+OILo8(4/4) AAS
すまん、理解した
for文だとカウンタ変数としてiが使われるけど[]内が全てiに置き換えられるわけじゃないってことか
流れで勉強してたからごちゃごちゃになってしまった
どうもありがとうございました、すっきりしました
909: 2021/06/04(金)18:48 ID:0c0chM5J(1) AAS
やっぱり最初は変数宣言が必須の言語
がいいね
910(2): 2021/06/04(金)23:39 ID:6dOQNCq3(2/2) AAS
>>905
何億回とアクセスするので、その僅かが気になるんですけどね。
パスの長さで差があるのであればやはり短くします。
ありがとうございました。
911: 2021/06/05(土)00:15 ID:Bf3C1+0O(1) AAS
そんな質問してる程度のレベルならそんな無意味なオナニーよりももっと他にいくらでも遥かに速くできる余地があるはず
まあその辺の感覚はいずれわかってくる
912: 2021/06/05(土)00:27 ID:f5S9H8yw(1/2) AAS
>>910
>>905に書いてるのはファイルアクセスのたびに差が出る項目じゃないでしょ
本当に気になるなら実測すればいい
913: 2021/06/05(土)00:37 ID:qhZUuBmz(1) AAS
GHzってCPUの能力のスケール感がわかってなさそう
914: 2021/06/05(土)01:27 ID:wpsN2NXu(1/5) AAS
1
1,000 = K
1,000,000 = M
1,000,000,000 = G
1秒間に 1,000,000,000 回命令を実行できるんだYO!
1,000,000,000 っていうのは 10億回だYO!
915: 2021/06/05(土)06:02 ID:N52Z5yzZ(1) AAS
かもしれない運転で最適化しはじめたらキリがない
916(1): 2021/06/05(土)08:09 ID:Is+ZM/MZ(1) AAS
コンピュータの世界で1Kが1000とか冗談やろ?
1024と言えよ
917(1): 2021/06/05(土)10:38 ID:5ExJ61TU(1/2) AAS
ほんとうの問題点は、プログラマたちが誤った場所と誤った時点での効率について苦労して、多くの時間を浪費してしまったということにあります。プログラミングでは、時を得ない最適化は諸悪の根源なのであります。(すべてではないにしても、少なくとも悪の大部分と言えるでしょう。)
─ドナルド・クヌース
918: 2021/06/05(土)10:42 ID:5jYpQazu(1) AAS
>>916
君こそ冗談やろww
919: 2021/06/05(土)11:02 ID:4ow2Od2a(1) AAS
CPUの処理能力の問題じゃなくてアルゴリズムのオーダーの問題
920(1): 2021/06/05(土)11:17 ID:5ExJ61TU(2/2) AAS
コンピュータサイエンスに限らず、実測してみる、定量的に判断する、そういう科学的なリテラシーが身に付かなかった人は伸び悩むと思う
921(1): 2021/06/05(土)11:35 ID:wpsN2NXu(2/5) AAS
>>917
> プログラミングでは、時を得ない最適化は諸悪の根源なのであります。
可哀想なことを言うなよ・・・
Googleだって自分らがやってることに意味があるんだって
必死に最適化した理由をひねり出してるんやで
Google、「Chrome 91」は23%高速化 V8エンジン改善で
外部リンク[html]:www.itmedia.co.jp
> Googleは「これらの新機能により、Chromeは最大23%高速になり、
> 毎日のCPU時間を17年間以上節約できることになる」としている。
ほらな、最適化することで毎日のCPU時間を
省4
922: 2021/06/05(土)12:29 ID:CL+eGbWy(1) AAS
エコだね
素晴らしい改善効果だ
923(1): 2021/06/05(土)13:40 ID:Fz1ER27V(1) AAS
>>921
ネタにマジレスですまんけど、それは時を得ないという前提条件を満たしてないな
性能とセキュリティ、プライバシーは現代のブラウザシェア争いの主戦場でもある
それとも>>904が作るプログラムがChrome並に世界中で稼働するという主張かな?
924: 2021/06/05(土)15:09 ID:kVxFyEBS(1) AAS
ボトルネックがどこか分かって最適化するんなら普通の話だな
925(1): 2021/06/05(土)18:25 ID:wpsN2NXu(3/5) AAS
>>923
ん?何の話をしてるのかわかってない?
1日でたったの0.18秒しかCPU時間が減ってないのに
それを大幅にCPU時間の削減したように見せかける
Googleの涙ぐましい努力(笑)って話をしてるんだけど
926: 2021/06/05(土)19:09 ID:ZdF2Vraf(1) AAS
>>925
俺の引用に対して「可愛そうなこと言うなよ」という話の持って行き方は噛み合ってなくて無理があるってツッコミだよ
改善の結果が技術的には小さなものだっとしても顧客や市場が好意的に反応するならその戦略は正しくペイしている
もし市場が好意的な反応を示さなかったことが判明しているならGoogleがアワレな言い訳をしているという主張にも理解するよ
Chromeの話が個人的に面白いと感じて誰かに言いたかったんだろうなということはよく伝わった
927: 2021/06/05(土)20:04 ID:wpsN2NXu(4/5) AAS
Googleが誤った場所と誤った時点での効率について苦労して、多くの時間を浪費してしまってるってことが
わかってないのか。
1日でたった0.18秒の節約。たった
928: 2021/06/05(土)20:28 ID:f5S9H8yw(2/2) AAS
原文読めないってのは悲しいね
929: 2021/06/05(土)21:07 ID:wpsN2NXu(5/5) AAS
"毎日"17年間節約っていうのを疑問に思わなかったんだろうなw
原文見ればどういう計算なのか明らか
930: 2021/06/06(日)05:32 ID:sH+YYhze(1) AAS
DBサーバーからデータ取得する際、多数の項目で絞り込みが必要になってます。
例えば、ユーザーマスターから、下記条件を満たすユーザーを検索する場合です。
※全部 AND です。
・登録日がA月B日〜C月D日の間
・パスワードの最終更新日時がA月B日〜C月D日の間
・都道府県IDが1〜10の間 (都道府県コードは1(北海道)〜47(沖縄県)みたいに割当)
・誕生日がA月B日〜C月D日の間
・結婚日がA月B日〜C月D日の間
等々・・
こういう場合、一番最初の WHERE の条件で、出来るだけ絞り込むのがいいと思うのですが、
省1
931: 2021/06/06(日)06:16 ID:XtTAwPVN(1) AAS
順番は関係ないし、DBMSのオプティマイザがよしなにやってくれる。
選択性の良いインデックスが張られている列に条件をつけているかどうかは考慮した方がいいが。
932: 2021/06/06(日)11:21 ID:9mmqAG88(1/2) AAS
>>910
ネタだろうけど
path長いのが嫌だからって
全部rootとか浅いところに持って来て
一つのディレクトリ内のエントリ数増え過ぎると
アホみたいにパフォーマンス落ち始めるときもある
933: 2021/06/06(日)11:23 ID:9mmqAG88(2/2) AAS
>>920
++
934: 2021/06/06(日)22:11 ID:dJTGKVPN(1) AAS
デザインパターンとか設計思想とか全く分からないんだけど入門?としてこれ見るといいよってサイトとか書籍あれば教えて
935: 2021/06/07(月)10:56 ID:BLDePS2Q(1) AAS
>デザインパターンとか設計思想とか
普通の人は入門が済んでから手をつける
936: 2021/06/07(月)11:53 ID:TrlL7E54(1) AAS
分かりづらくてすまん
デザインパターンの入門としておすすめの物が知りたい
プログラムはjava silverレベルで書ける
937: 2021/06/07(月)11:53 ID:pl6618+T(1) AAS
デザインパターンの宝庫は、MVC(Model/View/Controller)のRuby on Rails。
15年ぐらい、ずっと議論してる
MVCの他に、Form オブジェクト・Page オブジェクト・Service オブジェクトとか、
MVCが肥大しないように、どんどん分離していってる
ただし、Railsはプロ用。
自社開発Web 系へ転職する人用
YouTube で有名な、雑食系エンジニア・KENTA のサロンが有名。
Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース
他にも、Udemy の山浦清透も、Railsを推奨している。
省1
938(1): 2021/06/07(月)13:32 ID:7qZ7vyBh(1) AAS
disp1に入力があればstate=loadedなので
if displ1.get():
__loaded時の処理
みたいなコードがそこそこあるんですが
is_loaded():
return bool(disp1.get())
みたいな関数作るのってどうですか。ダメですか?読みやすくなるけど…
939: 2021/06/07(月)15:15 ID:ZOzskMEE(1/2) AAS
AGPLライセンスのライブラリを使いたいのですがどこまでソースコードを公開すればよいのでしょうか?
1, moduleA.js - AGPLのライブラリを利用
2, moduleB.js - AGPLのライブラリは不使用
3, app.js - ルーティング処理
940(1): 2021/06/07(月)15:20 ID:Fq1IXycO(1) AAS
AGPLはその趣旨からいってぜんぶ公開しないとだめだろ
941: 2021/06/07(月)15:22 ID:TK3hG12A(1) AAS
>>938
disp1.get()に副作用がないならそういうメソッド抽出はありだと思うが
def is_loaded(self):
__return self.state == ‘loaded’
みたいに書ける設計のほうがベターだと思う
942: 2021/06/07(月)16:49 ID:ZOzskMEE(2/2) AAS
>>940
moduleBも公開しないとだめなんですね
ありがとうございます
943(1): 2021/06/07(月)22:40 ID:qUd3zbRZ(1) AAS
Twitterリンク:ozuma5119
これはどういう意味なのでしょうか?
Twitterリンク:5chan_nel (5ch newer account)
944: 2021/06/07(月)22:52 ID:pXntu6ca(1) AAS
>>943
外部リンク:www.yodobashi.com.warui.net
始まりじゃなくて終わりが大事
みたいなことじゃ
945(3): [age] 2021/06/08(火)00:53 ID:u53qbkBm(1) AAS
ローカルネットワーク上のWindowsマシン同士でシンプルなTCP通信を行うプログラムを作成しているのですが、
ポート番号はどの範囲を使えばよいのでしょうか?
wikiによると、
0〜1023:一般的なポート番号
1024〜49151:登録済みポート番号
49152〜65535:自由に使用できるポート番号
となっており、49152〜65535を使えば良いかと思ったら
そこはWindowsが動的ポートとして使っているので使えないという情報があり、
それじゃあ全部使えないじゃないか、となっています・・・。
946(2): 2021/06/08(火)01:26 ID:TOKjPAZ1(1/2) AAS
一般には
外部リンク[xml]:www.iana.org
とか眺めて使うといい
んで、皆さん勝手に使ってて衝突もざら
だから余程のメジャーなサービスが無いなら気にするほどのことじゃないと思う
947(1): 2021/06/08(火)06:48 ID:dOMi6vvz(1) AAS
環境変数・コマンドライン引数で渡すとか、YML などの設定ファイルに書いておけば良い
そうすれば、ユーザーが自由に変えられる
948: 945 2021/06/08(火)08:32 ID:Ke53ZRWk(1/2) AAS
>>946-947
そういうことだったんですね!
ありがとうございました!
949(1): 2021/06/08(火)17:27 ID:l2BAfpwt(1) AAS
>>945
基本的には>>946の言う通りなんだけど、サーバプログラム側の待ち受けポートに
0-1023は原則的に使ってはいけない
Wellknownポートといってシステムが使う範囲ということになっているので
950: 945 2021/06/08(火)21:05 ID:Ke53ZRWk(2/2) AAS
>>949
ありがとうございます!
さすがにそこは避けようと思ってました^^
951: 2021/06/08(火)21:07 ID:/pGHNa0l(1) AAS
既得権益を、、、ぶっ壊す!
952: 2021/06/08(火)21:14 ID:TOKjPAZ1(2/2) AAS
そういや、ゾロ目の前後は競争率が高いとか散布図で図示した人って居なかったっけ?
別の話だったか?
953(2): 2021/06/10(木)01:48 ID:WxJUiwPc(1) AAS
データベースの物理設計と論理設計ってどう違うんでしょうか?
どちらもテーブル間のリレーション設計するだけだと思うんですが
954(2): 2021/06/10(木)09:27 ID:flmyYOFU(1) AAS
物理設計は具体的に何社のどれぐらいの容量のHDDをどこに置くか
もちろん電源容量とかコンセントの数が足りるかとかとか考える
論理設計は具体的にどういう論理的割り振りにするか考える
955(2): 2021/06/10(木)10:10 ID:/rzZEgjK(1/2) AAS
実際明確な違いはないから気にしなくていいよ
基本的に、コピペで工数を水増しするための無意味な重複工程だと思っていい
>>954の言うようにハードウェア構成にまで踏み込むのが本来の物理設計なのだけど、
島猿SIではその辺はだいたいインフラの仕事なんでそこまで厳密にDBの設計との整合性は気にしないで適当に大きなハード買って適当にクォータ設定しちゃうケースが多い
956: 955 2021/06/10(木)10:30 ID:/rzZEgjK(2/2) AAS
ちなみに>>954を読むと物理設計としてハードウェアの枠を予め設計した上でその中身を論理設計するように読めるけど、これがまさに実態を表している
本来は全く逆で、論理設計の結果に基づいて物理設計でそれをどうハードまで落とし込むか決めるんだよ
オラクルとかのベンダーはまず自社の高い製品を買ってそれを前提に考えてほしいから逆にしたがる
957: 2021/06/10(木)11:50 ID:8j/+Fuuo(1) AAS
>>953
シンプルに言うとどのHDDにデータを置くかって話だ
自作PCでも起動ドライブはSSDでデータはHDDだったりするだろ?
DBだとどこにデータを置いたら高速になるかとか、インデックスがピンと張れる方法だとか
どのドライブに何月のデータを置けばいいのかとかだよ
OracleMasterSilverぐらいの知識があれば多少は何をするのかわかると思う
まずはデータベースのテーブルがどこのHDDにあるのか、テーブルごと、インデックスごとにどういう割り振りに出来るのか
そういうところからはじめてみてはどうか?
958: 2021/06/10(木)14:33 ID:dKgFtdxH(1) AAS
これが日本の現状なのか
それともこの板だけ異常に低レベルなのか
959: 2021/06/10(木)14:38 ID:vnbWNdgf(1) AAS
>>953
一般的なプログラマーはDBの論理設計の経験がないから物理設計との違いをよく理解してない
DB板で聞くか自分でググれ
ついでにリレーションの意味もググれ
960: 2021/06/10(木)20:18 ID:S0Lqp3Qd(1/2) AAS
>>955
でもお金で解決できるなら何も問題はないのでは?
下手にケチってピーキーに設計すると泣くぞ
961: 2021/06/10(木)20:21 ID:S0Lqp3Qd(2/2) AAS
足りなきゃ買えばいいんだよ、それが今のクラウド
しっかりとした物理設計なんて、ほとんど意味のない害悪
962: 2021/06/13(日)16:57 ID:STYy7gJY(1/2) AAS
>>881
ちなみに横からなんだけど、
文中のSTYLE) & ~WS_Vにある
) & ~
この部分ってどういう意味?
963(1): 2021/06/13(日)17:05 ID:Ldya/JSY(1) AAS
) and not
964: 2021/06/13(日)20:56 ID:STYy7gJY(2/2) AAS
>>963
すまん、ありがとう。
いや、そもそも横からなんだけどって言いかたが間違ってた。
普通に質問でよかった。
880あたりの書き込みは俺なのだが(880で書いてる一連のIDも俺)、
いま全力でCUIアプリからCについて勉強してる。
というより、このあとC++に進んでWINAPIもやらないと881にして頂いた話は何も進めないので、
正直泣きながらだ。
というより挫けてる。
Autohotkeyを使ってもGUI作成や32apiを使う点でつまるところWINAPIとセットでCやC++学んだほうがよさそうということで
省3
965(3): 2021/06/16(水)19:45 ID:181t9wct(1/2) AAS
昔のPS3やPS2のオフラインゲームでチートを作りたいから
アセンブラを学ぼうと思ってるのですが
外部リンク:gyazo.com
↑こういうの見て理解が出来るようになるにはx86アセンブラというのを覚えればいいんでしょうか?
966(1): 2021/06/16(水)21:37 ID:AzDBz8je(1) AAS
>>965
そもそもアセンブラレベルでパッチあてたりするには相当な理解力が無いと無理だから諦めたほうがいい
967: 2021/06/16(水)22:17 ID:181t9wct(2/2) AAS
>>966
オフラインのゲームなので
ollydbgやcheat engineの中身が読めるようになればいいです。
そこまで難しいレベルのことはやろうとしてないです
968: 2021/06/16(水)22:40 ID:7CrzTbcp(1) AAS
>>965
いわゆるリバースエンジニアリングと呼ばれる分野だが質問内容を見る限り全然足りていないように見える
コンピューター内で計算はどのように行われるのか、データの移動はどうするのか、周辺デバイスやOSの利用は
どうするのかなど低レイヤーの理解が無いと全く歯が立たないと思う
ちなみにCPUだがPS2はMIPS系、PS3はPPC系だ
以前に見たPS3のゲームを解析レポートだと確かIDAにPPCのプラグインを組み合わせて静的解析していたかな
それでもそれでも結構な知識と経験がいると思うが
とりあえずOSやISAの違い無視してもOllyDbgでWinゲームの改造は朝飯前くらいじゃないと話にならないのでは
969: 2021/06/17(木)07:38 ID:B6QT+gV0(1/3) AAS
x86アセンブラを覚えるには他のプログラミング言語同様
ハローワールドからやって覚えていくもの?
それともPCのオフラインゲー解析してたら覚えられるんでしょうか。
970: 2021/06/17(木)07:46 ID:IuszbmHt(1/2) AAS
アセンブラはCPUごとのレジスタやらメモリマップやらアドレッシングやら命令ごとのフラグへの影響やら、基礎を固めないと何もできない
971(1): 2021/06/17(木)07:57 ID:hZaFEnho(1/3) AAS
>>965
すでにそういうツールやノウハウがあるんだったら
そのツールの解析からはじめたほうがいいと思う
972(3): 2021/06/17(木)08:42 ID:B6QT+gV0(2/3) AAS
>>971
ツールの使い方はググって何とかなるのですが
外部リンク:gyazo.com
こういうの全く読めなくて手も足も出ない状況です・・
これに出てきてるのは何系のアセンブラなんでしょうか?
973(1): 2021/06/17(木)08:59 ID:MdpjMllh(1/2) AAS
>>972
ググって答えが見つかることしか分かりませんて状態なら、無理だから諦めろと言いたい
基礎的な知識がまったくない状態だから、遠回りしてでも基礎から地道に積み重ねるしかない
974: 2021/06/17(木)09:45 ID:hZaFEnho(2/3) AAS
>>972
SPU Assembly Language Specification
975(1): 2021/06/17(木)10:55 ID:B6QT+gV0(3/3) AAS
>>973
学ぶ意欲はあるので遠回りしてでも習得したいのですが
基礎的な必要知識がなんなのか分かってない状態です
976: 2021/06/17(木)11:04 ID:MdpjMllh(2/2) AAS
>>975
必要なところだけピンポイントで足場を固めて積み上げるなんてできないから、広く浅くでコンピュータやプログラミングの全般的なことを学びながら、段々に自分に必要な物が見えて来るようになるからそちらを深掘りしていくようにしたら?
977: 2021/06/17(木)11:54 ID:hZaFEnho(3/3) AAS
念のため補足しとくけどドキュメントの名称だからな
ここに全部書いてあるから
978: 2021/06/17(木)13:47 ID:xNFu7F8M(1) AAS
wikipediaでx86を調べて
そこでわからない単語を片っ端から
wikipediaやググってみたら?
979: 2021/06/17(木)15:36 ID:rI4RyUy5(1) AAS
PS2やPS3のゲームを改造したいのになぜx86なのか。それが判らない
980(2): 2021/06/17(木)17:14 ID:ooZzmu2N(1) AAS
>>972の内容は、まぁexeだしレジスタ名称とかニーモニックからX86だろうけど
アセンブラって基本的な部分はある程度同じなんで、いきなりX86とかMIPSとか
PPCとかフル機能のCPUのアセンブラから勉強しようとするとすぐに詰むよ
アセンブラを眺める程度ならHP拾い読みでも良いけど、開発とかを行うならば
もう少し簡単なPICとかのアセンブラをしっかり勉強してからの方が近道だと思うよ
そして根本的な話でPS2とかPS3とかの開発をしたいならば別にアセンブラを
使わなくてもC++のSDKとか開発されているので、よほど低レベルな部分の
開発を行うのでなければアセンブラ必要ないよ
ps2 sdkとかps3 sdkで検索してみて
981: 2021/06/17(木)19:05 ID:JkvBpemd(1) AAS
>>980
コンパイラが吐いたフル機能使いまくりのコードを
逆アセして読み解こうとしている天才がいるんだよ
アセンブラの命令すらマニュアル無しで解読する能力の持ち主なんだ
すごいだろ?
982: 2021/06/17(木)19:46 ID:mjY/8PfV(1) AAS
チートの程度にもよるけど、やねうらおの書籍「解析魔法少女 美咲ちゃん」は参考になったよ
983: 2021/06/17(木)20:28 ID:IuszbmHt(2/2) AAS
その昔の素朴なCPUだと16進ダンプを直読みする強者が
984: 2021/06/18(金)11:44 ID:DLEaHmmC(1) AAS
日本では、情報処理試験の仮想アセンブラ・CASL2 が基本。
世界では、LLVM のサイトで、仮想アセンブラを学ぶ
x86 なら、OllyDbg・やねうらお・うさぴょんが有名
985: 2021/06/18(金)12:03 ID:7Huy+AZL(1) AAS
漏れもやねうらは好きな方だが
初心者ならやねうらより
ISBN 4839909865
986: 2021/06/18(金)12:32 ID:194Cy0xO(1/2) AAS
CASLはどうみても68系ベースの簡略版で、68プログラマーでもあった俺はインストラクション眺めただけで楽勝だった
987: 2021/06/18(金)12:35 ID:/PK0wqbC(1) AAS
gyazoとかいうゴミで画像貼んな
988(3): 2021/06/18(金)13:39 ID:WThQkiL7(1/2) AAS
func(list):
_if list[0]=a:
__for i in list:
____conv_a(i)
____write(i)
_elif list[1]=b:
__for i in list:
____conv_b(i)
____write(i)
空撃ちしたときと本番で処理違うみたいなので
省2
989: 2021/06/18(金)13:46 ID:Jo75oGSb(1) AAS
>>988
仕様がクソならコードもクソにしかならん
そういう状況になるのはたいてい抽象化がヘタクソ
990(1): 2021/06/18(金)14:15 ID:ru+U9KL5(1) AAS
python で代入文は if の条件に描けないぞ
991(2): 2021/06/18(金)14:18 ID:H41XlXnl(1) AAS
>>988
Pythonぽいけどdefないし等号も違うから何の言語か分からなかった
Pythonみたいに関数を変数に入れられる言語なら最初に適用する関数を決めるとすっきりしそう
func(list):
# 適用する処理(conv)を設定
if list[0] == a:
conv = conv_a
elif list[1] == b:
conv = conv_b
# リストに処理を適用して出力
省4
992(1): 2021/06/18(金)14:22 ID:EhVYURYt(1) AAS
変数名に list 使うな
func(l):
if l[0] != a && l[1] != b: return
f = (conv_a, conv_b)[l[0] != a]
for i in l:
f(i)
write(i)
993: 2021/06/18(金)14:27 ID:rMpkljNE(1) AAS
>>990
正確には
Pythonでは代入は文なので、条件式には入れられない。
Cなどでは代入が式なので条件式にも入れられる。
994: 2021/06/18(金)14:40 ID:dSkONN1n(1) AAS
>>988
>配列→微妙に異なる処理→出力 のとき、どう書いたら上手いですか?
高階関数を使う
995: 2021/06/18(金)15:01 ID:WThQkiL7(2/2) AAS
すいませんpythonスレじゃないので曖昧な書き方のがいいのかなと思って…
def func(l):
_if l[0][0] == 0:
__for i in l:
___write(conv_a(i))
_elif[0][0] == 1:
__for i in l:
___write(conv_b(i))
です.ほんとは各処理もうちょっと関数続くんですけど
いずれにせよ途中だけが微妙に違うほぼ同じ処理をきれいに書きたい
省2
996: 2021/06/18(金)15:45 ID:PuJK3NPt(1) AAS
>>991 は仕様(実装)にバグがある
997: 2021/06/18(金)17:03 ID:194Cy0xO(2/2) AAS
うん、>>992のようにチェック入れるべきだね
でもreturnより例外吐くべきでは?
998(1): 2021/06/18(金)18:04 ID:tKtuqq6N(1) AAS
責務の分離が上手くできてない関数の中身だけいじくり回してもキレイにはならないよ
呼び出し側やデータ構造なんかも含めて考え直さないと
999: 2021/06/18(金)18:38 ID:9pPslW7o(1) AAS
メインルーチンとサブルーチンを明確に意識して
メインルーチンは処理の流れがわかるように
サブルーチンはテストして結果が出ればよしと分ける
1000: 2021/06/18(金)21:22 ID:FdpzvR5V(1) AAS
>>998
もっと具体的に言わないと役に立たないと思うが
上下前次1-新書関写板覧索設栞歴
あと 2 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s