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

■ このスレッドは過去ログ倉庫に格納されています
2022/05/10(火) 14:24:35.29ID:+9FnNLoT
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

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

【前スレ】
スレ立てるまでもない質問はここで 159匹目
https://mevius.5ch.net/test/read.cgi/tech/1644673480/
2デフォルトの名無しさん
垢版 |
2022/05/10(火) 14:39:38.71ID:a7NcRpJp
この前ズリダチとタイマン勝負したことを書くぜ。
互いに六尺姿でまずは威嚇、腕組みヤニ咥えガン飛ばし、
大股で筋肉と勃起誇張して、野郎比べだ。
雄臭ぇポーズで挑発しあう。腰突き出し勃起を振り回し、
オラオラ節で興奮に火が付く。

やわらオイルをタップリ仕込んで、いよいよズリ戦開始だ。
胴ズリ、逆ズリ、雁ズリ、玉ズリ、上ズリ、下ズリ。
野郎うなぎ責め、腰砕けの手マンコ、野郎泣かせの亀頭責め。
片手技と両手技の競り合いで、雄の粋と艶を比べ合う。
ズリ見せ根性丸出しでな。
一息入れる時にゃ、奴の胸板めがけて、勃起ションベン。
ビシバシ痛ぇくらいに、照射すりゃ、雄の征服感が全身を
快感となって駆け回る。

さらにオイルを仕込んで2R。
今度は俺のズリビデオ見せながらのダブルズリ攻撃さ。
ラッシュ飛ばして、ド淫乱野郎に変獣し、チンポ・センズリ・押忍の連呼。
俺達はまさに、チンポ、ズリ、男意気を激しく比べ合う戦闘士だ。

寸止めのエロい表情も相手を落とす神技、何度も食らう度に金玉の
引きつる痛みさえ新たな快感に変わる。
その時、ほんの少しの気の緩みで奴は快感のコントロールを失い
射精の痙攣に突入。

2回に渡るファイトはいずれも俺の勝利、最後は奴のチンポめがけて、
野郎征服の快感に酔いながら勝利の照射!
3時間勝負は俺達ズリ舎弟の絆を更に固めたぜ!
3デフォルトの名無しさん
垢版 |
2022/05/10(火) 22:08:43.83ID:I10LAPat
与えられた文字列が数字であるか調べる時にさ
32bit符号府付き整数の範囲であるかを
状態遷移図でチェックするのってどうするの?
すごく面倒そうなんだけど
2022/05/11(水) 09:04:49.60ID:SNZh8Ig1
状態遷移図でチェック?
どういう形式をサポートする前提なの?
5デフォルトの名無しさん
垢版 |
2022/05/11(水) 14:58:31.80ID:sxSeWwBV
>>4
わかりやすく32bit符号付き整数としたけど
16進数とか小数とかそういうのにも使う話

BNFとかでもそうだけど、数値の定義は書いてあるけど
その数値の範囲の定義は書いてなかったりするでしょ?

2147483647 までの数値なら OK だけど、2147483648 はエラーにしたい
if (99999999999999 > 2147483647) みたいなことをしようとしたら
オーバーフローになるから構文解析の時点でどうにかしなきゃいけなくない?
2022/05/11(水) 15:23:14.11ID:WWobAQq0
基礎的なフォーマット判定の問題なのに解決のツールとして状態遷移図がいきなり挙がるところに面食らってんじゃないのかな
言語の基本ライブラリを使わないこと等の前提もよくわからない
2022/05/11(水) 16:20:20.10ID:FNMhyXXk
>>5
普通は文字列を頭から読んでセーフかアウトかを判別するだけだから
「状態遷移図でチェックする」ような処理じゃない

構文解析とあるからコンパイラが型情報のない数値リテラルを読んで型を自動判別するようなのをイメージしてるのかな?
2022/05/11(水) 16:39:22.13ID:1NoQ+z/a
0123、0o23、0x1F、01.00みたいのだけでなく
-a123、123a、00x1Fみたいのも数値として認識させたいなら
状態遷移の意味は分からなくもない
9デフォルトの名無しさん
垢版 |
2022/05/11(水) 16:53:35.01ID:sxSeWwBV
>>8
それを含んでる
そして定義上は0x1FFFFFFFFFFFFFFFFFFFFFFは
16進数として正しいってことになるわけだけど
エラーになるから認めたくない

だから本当にチェックしたいのは16進数かどうかじゃなくて
数値として認識させられるもののチェックってことになるな
2022/05/11(水) 17:34:49.78ID:9WWVJLj2
正規表現で切り出しつつパターン分けして標準関数で変換
マイコンだから正規表現使えないとかならまず最初に前提を
11デフォルトの名無しさん
垢版 |
2022/05/11(水) 18:02:20.37ID:sxSeWwBV
>>10
状態遷移の勉強をしていて疑問になっただけ
数値とか16進数とかのチェックを状態遷移図で表してるのを見かける
それで動くには動くけど現実的に考えたら桁数や数値の範囲のチェックが必要になるはず

だから状態遷移だけを使ってチェックするのは
効率悪いんじゃないかって思ってる
2022/05/11(水) 18:02:48.51ID:2RxhHbKF
>>9
含んでないじゃん
1文字ずつ読みつつオーバーフローしないか確認すればいいだけ
使ってる言語の標準ライブラリのソース確認すればいいよ
13デフォルトの名無しさん
垢版 |
2022/05/11(水) 18:06:06.38ID:sxSeWwBV
状態遷移でのチェックは程ほどにして

if (11桁なら) {
 エラー
} else if (10桁なら) {
 if (1文字目が2を超えるなら) {
  エラー
 }

みたいに、どちらにしろ手続き型でチェック入れないと
だめなんじゃね?といこと
2022/05/11(水) 20:54:00.64ID:h0sJuKxj
strtol()とINT_MAXを使えばいんでない
2022/05/11(水) 22:07:29.85ID:judILpSw
速度考慮せず動けばいいだけならIFでも組めるだろうけど
この手の最適なコードは多分ビット演算とかで上手い事やってんじゃねーの
2022/05/11(水) 22:45:56.95ID:ZxQ/H1/P
State Machine とか、こういう処理は典型的な関数型言語・Elixir のパターンマッチ

パターンマッチは、最近のRuby にも入ったらしい
2022/05/11(水) 22:49:22.54ID:SHUQSExp
>>13

int get_val( char *p )
{
long val =0;
while( *p && isdigit(*p) ){
val = val * 10 + (*p -'0');
if( val > INT_MAX ) return -1;
p++;
}
return (int)val;
}
2022/05/11(水) 23:16:13.10ID:MpS6R1TK
符号すら考慮してないじゃん
2022/05/12(木) 16:14:30.86ID:X4BelveO
int inverse =0;
switch( *p ){
case '+': p++; break;
case '-': p++; inverse =1; break;
}
…………
if( inverse ) val = -val;
return val;

基本的に左から右へ読んでくだけ
状態遷移がめんどくせー
なんてレベルじゃないな
2022/05/12(木) 16:43:41.96ID:eXWLspDV
longのような精度の大きな値が使えるとは限らない一般化した話を聞きたいんだったよな
上限チェックに限っていうと、上限値の文字列を文字列か配列の定数として持っておいて、入力された数値を正規化して、互いにループで各桁比較すれば少なくともif文のネスト地獄にはならないぞ
2022/05/12(木) 19:30:05.72ID:nhkWit6K
>>13
膨大になるけど11桁分の状態遷移を描けば実現できなくもない。
2022/05/12(木) 20:48:43.62ID:Tz9pelCK
>>20
そりゃ問題を読み落としてたスマン
というかそんな問題で悩んでたのか?
unsignedを使えば常にsignedの倍の幅があるので比較は普通にできると思うが

int get_val( char *p )
{
unsigned int val =0;
int inverse =0;

/* +-符号の処理... */
switch( *p ){
case '+': p++; break;
case '-': p++; inverse =1; break;
}

while( *p && isdigit(*p )){
val = val * 10 + (*p -'0');
if( val > INT_MAX ) {
/* オーバーフロー処理... */
}
p++;
}

if( inverse ) return -(int)val;
else return (int)val;
}
2022/05/12(木) 21:33:51.47ID:seTFNLoC
unsigned使っても最上位桁の最大値が1~4の範囲内だったらうまくいかなくね
2022/05/12(木) 21:35:48.95ID:ICgJr9zJ
>>22
バグりすぎだろww
ブチ切れるレベル
2022/05/12(木) 21:36:31.26ID:seTFNLoC
つかこの人は0xFF形式などの書式の話も全く聞いていない人なのでは
ブランコ発注したらすごいのおっ建てそう
2022/05/12(木) 21:44:42.55ID:TaoyDzij
16進数非対応はまだ許せる
10進数でバグてんこ盛り
この人の書くコードは絶対信用するなよと言われる一発アウトレベル
2022/05/13(金) 03:45:17.97ID:NG21EJne
すっぽん食べるとギンギンになるって本当ですか(´・ω・`)?
2022/05/13(金) 17:13:28.00ID:eN2A4GYm
DBにタグ付けのタグモデルを作りたいのですが
テーブル名はtagでいいとして
tagの名前、内容?はnameでいいかな
idだとprimaryとかぶるし、titleだとなんか違う気が
ただ、nameだとtagそのものの固有名詞な気がして腑に落ちない
あとはcontents, description

まとめると
name, title, contents, description
nameでいいでしょうか・・
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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