2021-04-23

anond:20210423122838

これプログラムで新旧判定しようとしたらどうなるの?

ver = 5.9

if (ver < 5.19) ではダメだし

ver = "5.9"

if (ver < "5.19") でもダメだよね

記事への反応 -
  • 鯖管やってるけど先日Mattermost5.9から5.19にアップデートしろって通知来て1分ぐらい意味がわからんかった、これ実数じゃないんだよなつまり数の大小的に5.9>5.19なんではなくて5の9<5...

    • これプログラムで新旧判定しようとしたらどうなるの? ver = 5.9 if (ver < 5.19) ではダメだし ver = "5.9" if (ver < "5.19") でもダメだよね

      • 愚直にやるとしたらstring化して"."でsplitしてint arrayを作って ループでindex小さい方から比較する方法かなあ JavaScriptの簡単な例を書いてみた https://jsfiddle.net/1y5ewcu7/ 実際にはバージョンク...

        • ワロタ。単純ではあるんだけどこうしてコード化すると実にアホらしい。 プログラマがなんでこんな無駄に微妙にプログラム化しにくいシステムにしてしまったんだろ。

          • いま広く普及しているセマンティックバージョニングの場合、バージョンはただ上がっていく数値という訳ではなかったりする "."区切り毎にリリースの規模感が違ったり、-alphaや-betaと...

    • どうせ、5.09 と書くと、 今度は、 5.100 の時に分からないとか言い出すんだろ

    • バージョン管理を謎の小数でやるからわけわからんわけで 単純に1からの連番にするとか日付にするとかしたらいいのにな

    • うっそ。 文字列の単純比較の大小の結果のほうを自然と感じるんだ。 こんな感性の人いるんだね。

      • 5.1? と 5.9 とどっちが新しいか比べると、 5.9 のほうが新しいように感じちゃう おっちゃんもいるんやで。

        • 俺もそのおっちゃんだわ でも 15.1と9.1だったら15.1の方が新しく見える

      • 文字列の比較じゃなくて 数値として認識して比較した結果と反するって話だけど

      • なんかカン違いしてない? 5.9 5.19 さて大きい数字はどっち?て聞かれると普通は前者だろ バージョン5.9 バージョン5.19 さて新しいのはどっち?

        • よくわからない。 バージョン番号を数字の少数と同じ読み方してるってこと? そういう読み方する人もいるんだって新鮮な発見だわ。 リアルでもネットでも、そういう勘違いする人い...

          • 俺も混乱したのは今回が初めてだった。 7.4.9と7.4.19とかだと混乱しない。この形だと実数に見えないからかな。バージョン番号で普段見るのはこのパターン。 .が1つだとパッと見小数に...

    • この元増田とレスのおかげで、バージョンらしき値を見る時は"."を区切りとみなして、計算とかのときは値を実数とみなすように脳が勝手に切り替わってることに気づいた こういう慣れ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん