1 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 10:40:30.02 ID:PyoNDBFu0.net] !extend:checked:vvvvv:1000:512 (新スレ立ての際上記コマンドを2行書き込んでください) C言語の話題のみ取り扱います C++の話題はC++スレへ 質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C17 www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C23 最新ドラフト https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ ※前スレ C言語なら俺に聞け 159 https://mevius.5ch.net/test/read.cgi/tech/1659623547/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
445 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 12:46:07.82 ID:/8v09ncn0.net] >>426 8進数なのに8と9が使える驚異の仕様だよ
446 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 12:50:39.59 ID:/Gi8XN260.net] ctype.hに isdigitとisxdigitがあるのに isodigitがないというのが その問題の根にある
447 名前:デフォルトの名無しさん (ワッチョイ 1501-rc3u) mailto:sage [2023/02/18(土) 13:42:13.38 ID:c4QxGie20.net] >>433 何を必死になってるのかよくわからんが老害の悪癖は治らないってだけの話かと
448 名前:デフォルトの名無しさん (ワッチョイ 1501-rc3u) mailto:sage [2023/02/18(土) 13:44:46.64 ID:c4QxGie20.net] >>440 規格では使えないことになってるしまともなコンパイラならエラーにすると思うぞ
449 名前:デフォルトの名無しさん (ワッチョイ a397-vL47) mailto:sage [2023/02/18(土) 14:09:47.51 ID:BJBnPVcc0.net] >>440 規格決めた人に問題がある ゼロは避けるべきだった
450 名前:デフォルトの名無しさん (ワッチョイ 3d12-+91A) mailto:sage [2023/02/18(土) 14:13:43.35 ID:/Gi8XN260.net] みんな日常的によく使う8進定数「0」
451 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 15:46:52.83 ID:ke/LtjiK0.net] そうか、オレは二進数の0をよく使う
452 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:01:46.62 ID:/Gi8XN260.net] ソースコード上での記数法と 実行環境での表現を混同してる?
453 名前:デフォルトの名無しさん [2023/02/18(土) 16:04:29.75 ID:dElKqib40.net] >>444 じゃあ8で。
454 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:16:07.43 ID:/Gi8XN260.net] なんでオーにしなかったのかとは俺も思う 特に小文字オーなら誤読しにくいし
455 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:31:09.02 ID:nz9Z1NDi0.net] 1文字でもキーワードを少なくしたかった当時のお洒落だったんだよ 8進表記はunix系OSが全滅すれば廃止でもいいと思うね
456 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:35:07.64 ID:ke/LtjiK0.net] 全滅するのに数百年はかかりそう
457 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:40:17.45 ID:/Gi8XN260.net] キーワードつーてもサフィックスだからね 繋がった単語の中の部分なわけで 他の識別子との衝突の虞はない
458 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:42:06.93 ID:/Gi8XN260.net] あ、しかし int o33 = o33; みたいになったらマズいのか 英字サフィックスは
459 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:47:35.72 ID:J9rEVsST0.net] >>442 gitのソースコード、openだけじゃなくてファイルモードを引数に取る関数なんかもあるけど、誰もマクロ定数なんて使って無いや 全員老害か
460 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:47:37.88 ID:ke/LtjiK0.net] "%05d" こんな風な指定して出力した10進数を、読み取らせても大丈夫だろうか?
461 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:49:48.25 ID:c4QxGie20.net] >>453 馬鹿なの? 普通に 0o01234567 だろ
462 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:50:05.14 ID:FZadOySQ0.net] >unix系OSが全滅すれば 泥もiOSもunix系だよね? ゲーム機も基本OSは・・・
463 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:52:50.83 ID:6dDb+no40.net] (8じゃなく)6の倍数bitワードのマシンで産まれた痕跡だっけか >>443 8と9が混じってるかどうかで8進か10進か勝手に解釈を変える方がよっぽど厄介だから、不正として弾くのが正しいね 俺は8進が好きだし、幸いやらかした経験も無いけど 他言語では明示的な0oプレフィックスもよく見掛けるし、もちろん使えるなら使おう
464 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:02:18.46 ID:c4QxGie20.net] >>454 しつこいね 具体的にどのコードの話でそいつがいつから作られてるのか書いてみ
465 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:08:03.05 ID:QF/qRD4Qd.net] >>443 bad numberとか言われて なんで特定の数字を差別するのか?キリスト教のなんかか?とまじで悩んだw
466 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:13:05.59 ID:nz9Z1NDi0.net] IT業界でもwhitelist→allowlistとか言葉狩り起きてるしそのうち言語にまでLBGT配慮()きそうだわな int ニガー = 07214545; エラー:差別用語です
467 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:15:09.07 ID:J9rEVsST0.net] >>459 例えばリポジトリ直下の copy.c で定義されている copy_file(dst,src,mode) その関数自身の定義に 0666 とか直接使っている まあこの関数は 2008 年とかに作られたものだけど、その関数を使うコードが今月コミットされていて引数に 0666 直指定 a5792e9d092 xxxxxxxxxx 2023-02-06 20:08:11 +0100 2293) if (copy_file(dest, rebase_path_squash_msg(), 0666)) { 他 copy_file 使っているところも全部直指定
468 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:19:06.07 ID:c4QxGie20.net] >>460 確かに最初見た時は俺も はあ?ってなったわw
469 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:19:18.78 ID:J9rEVsST0.net] >>442 比較的新しめ?のnginxなんかは流石に関数の引数に 0600 とか書いてないけど、それでもOSのヘッダファイルの定数定義は使ってないな 自前の定義に #define NGX_FILE_DEFAULT_ACCESS 0644 とかだ これも老害になっちゃう?
470 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:26:26.26 ID:c4QxGie20.net] >>462 git は 15年以上前に初版が作られたソフトだしリーナスはもっと前からソフト開発してるだろ ポリシーによるけどソースコードのコーディング方法を変えないことは珍しくないよ >>464 nginx も 18年前のソフトだし作者のイーゴリ・ウラジーミロヴィチ・シソエフ 50歳超えな
471 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:27:46.90 ID:nz9Z1NDi0.net] >>464 OS側の定義を使わないのは特定のOS依存をしたくないか見切りを付けてるからだな むしろ老害避けなんじゃないの
472 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 19:21:30.21 ID:hE3AXWNH0.net] 0x 0o 0b (0d)
473 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 06:15:13.00 ID:B9Nm4zxk0.net] 否定から入ったり無礼な言葉ばかり使う人って他人から相談されなくなるよね
474 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 10:30:13.08 ID:85faJvYM0.net] それって思いっきりアスペの特徴なんだよな
475 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 10:43:35.95 ID:xrmlsZvMa.net] だからネットでイキってるんだろ
476 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 10:58:14.43 ID:5TCni8wB0.net] ダヴィンチもエジソンもアインシュタインもモーツァルトもイチローも みなアスペルガーなんだ
477 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 11:07:26.13 ID:xSIr/CQB0.net] >>471 まあ、それはそうだと思うよ 長嶋(一茂じゃねーぞ)なんかもそうだと思う
478 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 12:33:47.26 ID:rUsPVZJ7a.net] ダヴィンチもエジソンもアインシュタインもモーツァルトもイチロー並みの才能があれば煙たがられることなく受け入れられるということよ。
479 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 12:50:21.37 ID:oybarVkGd.net] 無知丸出しはこっちでやれ https://mevius.5ch.net/test/read.cgi/tech/1427572389/
480 名前:デフォルトの名無しさん [2023/02/19(日) 12:53:18.65 ID:F5EkyCpBH.net] ムチムチ
481 名前:デフォルトの名無しさん [2023/02/19(日) 13:01:28.32 ID:yOeRloac0.net] >>449 英語では 0 (ゼロ) と書いて o (おー) と読むこともあるので、それが影響したのかも知れないね。
482 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 14:04:50.86 ID:xSIr/CQB0.net] >>476 printf("%o\n", 1234); とかできるからその説はちょっと弱いかな
483 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 14:48:58.38 ID:5TCni8wB0.net] アスペルガーは自分に対しても他人に対しても容赦しないから 凡人に嫌われる 才能のせいではない
484 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 14:55:52.34 ID:BF2g/YB8d.net] ギフテッドは必ずしも自閉症を伴わない
485 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 04:15:44.39 ID:+uPK1ifA0.net] >>436 再帰をしないなら、コードを書けるの?
486 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 09:47:26.91 ID:N/iEiUCGd.net] >>480 チャレンジしたことはないけど、たぶん再帰なしでも書けません。どうか御教示をお願いします。
487 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 09:50:41.85 ID:N/iEiUCGd.net] ハノイの塔は再帰でしか解けない
488 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 09:51:19.24 ID:cTmdkEXkd.net] んなこたあない
489 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 09:57:18.63 ID:KyZtaEjed.net] 待ち行列やLIFOは再帰的な処理を非再帰にするときの友
490 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 11:00:02.06 ID:Htkx1bCsd.net] 再帰呼び出しする所をpushに変えてgoto最初 returnの所をpopに変えてgoto最初 時間があればそこからgotoを取り除く gotoが輝く場面
491 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 11:21:38.14 ID:N/iEiUCGd.net] >>485 goto文を使うのですね 覚えておきます
492 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 11:58:19.08 ID:KyZtaEjed.net] アンチgoto教信者は近頃減ってきているが 絶滅はまだ先のようだな
493 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 12:38:57.43 ID:sAm6cEmU0.net] スパゲティGotoをたんと召し上がれ!
494 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 13:04:25.72 ID:Htkx1bCsd.net] 再帰からループへの変換はgotoのある言語なら機械的にできるからね 存在すら許さない言語は発想を阻害してると言える
495 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 13:35:56.24 ID:JqcJZDsUd.net] while(スタックが空になるまで){ pop(); ... } って書き始めるけどな
496 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 21:19:52.57 ID:I5iz8R+L0.net] >>490 戻りのpopはそれでいいけど呼び出しのpushは処理がぶった切れるから gotoがないとかなりややこしい変換になるよ
497 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 23:51:00.80 ID:7qph/rf50.net] >>485 push/pop はルール違反 それに二方向、多方向への再帰はそう簡単じゃないですけどね 二分木の全要素を列挙する非再帰プログラムを書いてください
498 名前:デフォルトの名無しさん mailto:sage [2023/02/21(火) 00:08:57.34 ID:Cn1Xq+JJ0.net] がんばってgoto無しで作ったりしてたなあ
499 名前:デフォルトの名無しさん mailto:sage [2023/02/21(火) 06:59:46.53 ID:1n1W4gUgd.net] push/popはルール違反て何それ?
500 名前:デフォルトの名無しさん mailto:sage [2023/02/21(火) 09:59:11.37 ID:MGN7/c1b0.net] 「俺がルールブックだ」
501 名前:デフォルトの名無しさん mailto:sage [2023/02/21(火) 10:33:24.95 ID:5S8ZyEUUd.net] 「ウリが蟹飯リッチニダ」
502 名前:デフォルトの名無しさん [2023/02/21(火) 10:51:10.49 ID:NudgdpLh0.net] 豪華な蟹飯が思い浮かんだ
503 名前:デフォルトの名無しさん (スプッッ Sd43-avQ1) mailto:sage [2023/02/21(火) 13:43:23.05 ID:1n1W4gUgd.net] 苫小牧だっけ?
504 名前:デフォルトの名無しさん (アウアウエー Sa13-1XUy) mailto:sage [2023/02/21(火) 16:27:46.36 ID:dWpsoJfPa.net] >>436 >>481 テスト https://ideone.com/iPWHR0
505 名前:デフォルトの名無しさん (ワッチョイ 755f-rVJW) mailto:sage [2023/02/21(火) 16:50:09.17 ID:ncQgkmT30.net] チャットジピティれカ
506 名前:X [] [ここ壊れてます]
507 名前:デフォルトの名無しさん (スププ Sd43-CAVk) mailto:sage [2023/02/21(火) 17:05:45.18 ID:j4WOJdo9d.net] >>499 見事です 私はまだ初級なのでvectorだのcstdioなど見たこともありません
508 名前:デフォルトの名無しさん (スップ Sd43-Tk/Z) mailto:sage [2023/02/21(火) 17:54:02.02 ID:5S8ZyEUUd.net] >>499 お、動いた動いた!
509 名前:デフォルトの名無しさん (ワッチョイ cb63-BTrK) mailto:sage [2023/02/21(火) 17:55:02.20 ID:MGN7/c1b0.net] goto が一つもない・・・
510 名前:デフォルトの名無しさん (アウアウウー Sa49-UkxH) mailto:sage [2023/02/21(火) 19:30:27.79 ID:oAMbgY5Ra.net] goto文は禁じてではないかな? C言語では
511 名前:デフォルトの名無しさん (スプッッ Sd43-avQ1) mailto:sage [2023/02/21(火) 19:48:08.10 ID:1n1W4gUgd.net] 俺様ルールは興味ないから
512 名前:デフォルトの名無しさん (ワッチョイ cb63-BTrK) mailto:sage [2023/02/21(火) 19:50:05.73 ID:MGN7/c1b0.net] CPUレベルまで行くと、GOTOは使いまくりだろう
513 名前:デフォルトの名無しさん (スプッッ Sd43-avQ1) mailto:sage [2023/02/21(火) 19:57:40.07 ID:1n1W4gUgd.net] 機械語1命令ごとにPCを更新するのもgotoかw
514 名前:デフォルトの名無しさん (テテンテンテン MMcb-7AbM) mailto:sage [2023/02/21(火) 20:39:53.11 ID:pHGJPw2cM.net] gotoなんて所詮関数内にしか飛べない 関数が小さければなんて事はない 巨大な関数はgoto以前に悪
515 名前:デフォルトの名無しさん (ワッチョイ cb63-BTrK) mailto:sage [2023/02/21(火) 21:02:34.32 ID:MGN7/c1b0.net] 昔いた現場は、1関数ごとに設計書を何枚も書かされてたな それでみんな、関数の数を極力減らしてた 行き着くところ初期とメインと終了の三つ それぞれが何百行にもなってしまったw
516 名前:デフォルトの名無しさん (ワッチョイ 2379-u8a6) mailto:sage [2023/02/21(火) 22:12:19.48 ID:QJTSRl8U0.net] そういうのいいから
517 名前:デフォルトの名無しさん (ワッチョイ e379-+91A) mailto:sage [2023/02/21(火) 22:59:26.21 ID:fpEKur8e0.net] 硬直化して目的を忘れた「管理」に泣かされたもんだけど それは昭和も今も変わっとらんだろ
518 名前:デフォルトの名無しさん (ワッチョイ cb63-BTrK) mailto:sage [2023/02/21(火) 23:48:29.43 ID:MGN7/c1b0.net] プロジェクト管理はそのうちAIがやるようになるんだろうか
519 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 03:11:04.32 ID:ZjvNTHuW0.net] AI「壊れるまで働け、人間共よ」
520 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 06:39:57.73 ID:6aYkdgkrd.net] >>491 continueを知らないのか?
521 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 15:13:03.32 ID:rwr+6TWF0.net] >>415 やはり構文解析器(プリプロセッサ含む)に手を入れないとデリミタに'は難しそうに思うの 暇だったので>>413 を(ナイーブに) # define b(n) (strint(#n, 1u)) # define t(n) (strint(#n, 2u)) # define o(n) (strint(#n, 3u)) # define x(n) (strint(#n, 4u)) unsigned strint(const char cs[], const unsigned wt){ long d; unsigned u=0; do { // valid digis: ascii '0'..'^' if((d=*cs)<0||d>'_'-'0'+1) continue; u<<=wt, u+=d; } while(*cs++) return u } b('1100'1010'1111'1110) b(1100_1010_1111_1110) o(145;366) x(<:!?>) 全て0xCAFEに等しい、ただし' が奇数個のケース、 b(1100'1010'1111'1110) マクロ引数を区切る,の使用はプリプロセッサがエラー吐く(cc -Eの段階) missing terminating '/" character too much argument etc. (pcc/tcc) ex/m4とか外部ツールでプリプロセスするなら別だけど、c/cプリプロセッサの構文内では不可能に思う(当然リテラルとして自然な仕様拡張も)
522 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 15:22:17.41 ID:mafEi4nvd.net] >>467 アセンブリやいにしえの言語は明示的なdecimal prefixを持ってるね forthだと#123と変種?の&123 #の方がthe (decimal) 123と読めて個人的に好み
523 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 15:23:53.30 ID:mafEi4nvd.net] the (decimal) number 123です
524 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 15:28:02.92 ID:mafEi4nvd.net] 299,792,458と書けたら素敵だけど ds(299,792,458)が引数を区切る,と区別出来ないから無理だね
525 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 16:23:34.63 ID:GDrSYSMbM.net] ほかの言語では、123_456_789の様にアンダーバーで区切るのが多い Cでも出来たと思うけどなぜか'なんだよな… アンダーバーが良かった
526 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 16:41:13.08 ID:3MJ5isf30.net] C++に合わせたんでしょその方が都合がいいだろうし
527 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 16:52:25.15 ID:3MJ5isf30.net] 規格の紹介をしてる>>415 に対してそれは解析器を変えないと難しいとか言ってる>>515 は何なんだ? C23でこうなります、なんだから難しいもクソもないと思うんだが笑
528 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 18:12:39.68 ID:/HhOnmf9d.net] 規格を批判してるんだが
529 名前:デフォルトの名無しさん mailto:sage [2023/02/23(木) 02:20:36.04 ID:zOdHjjZs0.net] まだワーキングドラフトだから対応するもしないのも自由だと思うし、c2xはアトリビュート関連くらいしか追ってないが、一応意見を せめて不正なトークンとして弾ける約物にしてほしいな 0b10101011未対応(0cでも何でも)は不正な8進 トークン構成文字0b1010_1011なら不正な型サフィックスとして不正なトークンを報告できるので、ユーザに手直しさせるのも自明 パース状態をトグルする'はEOFまで食うので、エラーが報告されたとしてもcryptic 頻用したと仮定すれば、1/2の確率で釣り合うって字句解析をパスしてしまうのも厄介
530 名前:デフォルトの名無しさん mailto:sage [2023/02/23(木) 04:08:08.64 ID:zOdHjjZs0.net] >>416 俺は16bit程度なら一行で書いてしまうけど、より大きい整数型なら行を分けて書いてるな (u)int64/128_tなんかで二次元データエンコードする時はこんな感じで uint64_t plaid = 0b\ 01010101\ 10101010\ ...\ ; ゲーム盤、行列、画像、畳み込みカーネル、マスク等、重宝する機会は多い pbmそのままだからstatic変数にスクリプトでブチ込むのも楽で非常に重宝 普通(2)/8/10/16のみで任意進数(ビット深度)を指定できないのが歯痒いところ
531 名前:デフォルトの名無しさん mailto:sage [2023/02/25(土) 15:46:50.99 ID:2A7WVGnna.net] C++におけるユーザー定義の接尾辞で _数字 みたいな奴を許可していなかったら桁区切り文字はアンダースコアになってた
532 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 07:07:10.46 ID:Gr0Cvu5K0.net] だな
533 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 07:37:36.32 ID:oQAKiXWbd.net] 自己参照構造体を、テキストのコードが難しくて理解できない
534 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 07:49:42.99 ID:ymHOkbuH0.net] >>525 まさか4567_8(→4567 of type "8")? 珍妙な…
535 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 07:58:07.27 ID:ymHOkbuH0.net] extern "C"で混ぜるにはもう違いが多過ぎるし、c++と足並み揃えるのやめればいいのに
536 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 08:42:57.62 ID:Gr0Cvu5K0.net] C++が流行りだした当時のCの財産を捨てずに済むってだけの話で これから新しく作るものの足かせになるのは本末転倒だよな
537 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 12:16:51.44 ID:0OyaNSrI0.net] C言語で構造体の双方リンク理解する前にテキストエディタ作るようなことあったら 激重エディタつくってただろうなぁと経験してもないことを妄想。 1文字挿入→その後ろの文章を全部コピーでずらして・・・
538 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 18:12:24.76 ID:zCQzTRZzM.net] >>531 emacs なんかは1文字挿入のたびに後ろ全部コピーしなくても良いようにギャップバッファという手法を使っていた
539 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 18:34:27.49 ID:akN/HRard.net] >>532 emacs! Esc x compile に何度も助けられた 一人で五万行くらいのコードを書いてたからな ヘッダーファイルだけで50くらいあった
540 名前:デフォルトの名無しさん (テテンテンテン MM0e-CSgJ) mailto:sage [2023/02/26(日) 20:20:17.76 ID:Qgs0XTsDM.net] >>532 過去形だけど今もだぞw ギャップバッファは、最近流行りの複数カーソル使って離れた複数箇所を一気に編集すると、大量にコピーが発生して重くなる可能性がある なのでこれからテキストエディタを実装するには、Piece Tableを使う方がいいと思われる
541 名前:デフォルトの名無しさん (ワッチョイ 76cf-okFi) mailto:sage [2023/02/26(日) 20:22:02.57 ID:OdlyZwjm0.net] Slackware+JEに入ってたMuleを3年くらい使ってたけど別のエディタに移っちゃったな 悪くないと思うんだけど時代に合ってないというか、貧相な環境の方が使い出があるエディタだったな
542 名前:デフォルトの名無しさん (テテンテンテン MM0e-CSgJ) mailto:sage [2023/02/26(日) 20:31:33.93 ID:Qgs0XTsDM.net] EmacsとかVimを貧相と思うのは、端末内で動かせるようになってるからだ GUIはオマケみたいな扱いだ でも、それはそれで存在意義はある
543 名前:デフォルトの名無しさん (ワッチョイ da79-Arif) mailto:sage [2023/02/26(日) 20:37:35.64 ID:gahU4Yv80.net] viは来世紀にも残ってそうだから最初に覚えたなあ eなんとかはデベロッパーのオナニーが透けて見えて気持ち悪すぎた
544 名前:デフォルトの名無しさん (ワッチョイ 7663-W5vA) mailto:sage [2023/02/26(日) 21:16:43.25 ID:fbmwPkIL0.net] viの様にコマンド覚えなくても使えたから便利だったぞ
545 名前:デフォルトの名無しさん (ワッチョイ 76cf-okFi) mailto:sage [2023/02/26(日) 22:04:54.83 ID:OdlyZwjm0.net] >>536 ちゃう、Emacsを貧相だと思ってるんじゃなくて計算機資源が豊かでない環境の方が使い出があるって言ってるんだよ