シェルスクリプト総合 その29

■ このスレッドは過去ログ倉庫に格納されています
2018/09/21(金) 23:34:47.98ID:/eJt2TVD
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。

前スレ:
シェルスクリプト総合 その28
http://mevius.5ch.net/test/read.cgi/tech/1532397676/
2019/05/17(金) 01:38:07.48ID:0VI+S8bl
そもそも>>436の決め付けとか。こいつの価値観マジやばいわ
2019/05/17(金) 01:44:31.45ID:eic3Lxe/
>>539
コード表中のコード位置でしかないから。単に最初にでもまとめて順番に置いておけばいいだけじゃないかと
数字+助数詞とは別の話。数字+助数詞とかの概念はIMEなどの辞書での話で、文字がコードのどの位置にあるのかはそれにすら関係ないでしょう
2019/05/17(金) 02:08:22.65ID:4Xorvfdj
>>539
あのさ、質問者だけどさ、
漢数字の話はしてないんだよ
いい加減にしてくれないか?
2019/05/17(金) 02:37:54.71ID:3QkpWifH
>>542
だからそれは派生した別の話だって言ってんだろしつこい奴だな
2019/05/17(金) 02:45:24.41ID:+DCiWWVl
>>543
だからその「派生した別の話」は「シェルスクリプトの話」ではないからよそでやれ
2019/05/17(金) 06:23:14.33ID:3QkpWifH
>>544
シェルスクリプトでやる場合の話だからここでいいだろ何回言わせんだ
2019/05/17(金) 07:03:46.75ID:+DCiWWVl
>>545
じゃあさっさとシェルスクリプトでやる話をしろよ
漢数字とはなにか?の話しかしてないだろ
お前がシェルスクリプト以前の話で止まって決められないなら
俺が仕様を定義してやるから

まず使用する文字は一 二 三 四 五 六 七 八 九 十の10種類で1文字だけ(零はなし)
これをシェルスクリプトだけで(外部コマンド呼び出しなしで)比較する方法を書け

それが終わったら使用する文字は同じく一 二 三 四 五 六 七 八 九 十 百 千 の12種類で
九千九百九十九まで。ただし一二みたいな書き方はなし。十二、二十二、二千二のように
必ず十や百や千を含めることする

最後に一 二 三 四 五 六 七 八 九 十 百 千 万 億の14種類で
九千九百九十九億 九千九百九十九万 九千九百九十九まで。

いずれも、以下のような1対1の対応表は作ってはならない。
case
 略
 "十二")i=12 ;;
 "二十二")i=22 ;;
 略
case
2019/05/17(金) 07:06:02.53ID:+DCiWWVl
つーか、これ文字列比較に比べて簡単すぎだろ(笑)
2019/05/17(金) 07:08:41.43ID:+DCiWWVl
>>546に書いてない例外のパターン(例 百百 みたいなありえないもの)には
対応する必要はなし。いちいち仕様の抜け穴を探そうとする輩が多いからなw
2019/05/17(金) 07:14:37.25ID:+DCiWWVl
あとこれが終わったら、この応用(?)で
文字列の比較をシェルスクリプトだけでやる方法を答えるように
2019/05/17(金) 07:19:17.37ID:eic3Lxe/
>>543,545
全くそのつもりのそのとおり
誰かみたいに俺正しいという論争wしたいわけでもなし、何が気に食わないのかわからんw
何様なんかどういうつもりなのかわからんから、(直接)相手にしない方がよいよ。どうも子供のようだから言ってもわからんだろう
2019/05/17(金) 08:57:56.14ID:9c2BcXsa
問題に難癖つけたいだけで、シェルスクリプトで
実装するという話になったらだんまりなのが
ばれたなw
2019/05/17(金) 10:17:57.59ID:SV+iTwUF
アンカーが何のためにあると思ってるんだ
一つのスレで一つの話題しか許されないと思っているなら
さっさと逝ったほうがいい
2019/05/17(金) 10:53:33.15ID:AJ2dA4T/
>>549
「答えるように」
嫌ですw
俺はもうすでにヒントを提示してるんだけど
お前の態度が気にくわんから詳細は教えない
2019/05/17(金) 10:55:06.48ID:+DCiWWVl
結局シェルスクリプトの話と言いつつ
漢数字での比較をシェルスクリプトで実装しろと言われても
逃げてばっかり(笑)

俺が出した問題じゃなくて、自分で新たに派生させたくせに
派生させたと言いつつ、シェルスクリプトの話をしない
2019/05/17(金) 10:57:54.16ID:AJ2dA4T/
>>554
なんでこのスレの住人全員が
お前の出したお題とやらにかかりっきになってくれると思ってんだ?
自己中心にもほどがあるだろ
2019/05/17(金) 11:05:46.65ID:+DCiWWVl
だから漢数字での比較は、俺が出したお題じゃねーだろw
自分で出したんだから自分で答えろや
2019/05/17(金) 11:06:52.98ID:p3Pa5WY0
この執拗さと自己中ぶりはいつもの馬鹿だろうとしか思えない
2019/05/17(金) 11:12:01.45ID:+DCiWWVl
結局漢数字はシェルスクリプトの話をしたかったわけじゃないってことでOK?
シェルスクリプトの話しろよ
2019/05/17(金) 15:50:22.36ID:vMstE0Yz
馬鹿なレスだな
2019/05/17(金) 21:23:51.74ID:rpsKTByN
$ ./a.sh <<EOF
> 三千七百七十六 八千八百四十八
> 三十五億 三十五億
> 六百三十四 三百三十
> EOF
三千七百七十六 < 八千八百四十八
三十五億 = 三十五億
六百三十四 > 三百三十
$

漢数字での比較ってこんなのか? そうでないとしてもどうでもいいが。
2019/05/18(土) 03:54:46.72ID:JuXjXOXc
漢数字でシェルスクリプトの話につなげる気はないんだからどうでもいいよ
2019/05/18(土) 04:10:45.05ID:Qoy0pg1H
何でもかんでも否定したいだけの子がいるところで
まともな議論はできないしね
2019/05/18(土) 05:05:24.43ID:arw0wGqU
砂場の幼稚園児の駄々っ子になんか重なるなあ
お砂場だから自由に遊んでもいいと思うけどwリアルと違って無視すれば居ないのと同じだし
564560
垢版 |
2019/05/18(土) 09:02:03.67ID:524JDXbW
まあ、かまってちゃんの相手をしたかったわけじゃなくて
C でやるようなテキストのパースを普段あまりシェルスクリプトを書かない俺が
どこまで bash でできるのかと思っただけだからね。気は済んだよ。
そして、こんなことでも自分でやってみる方がかまってちゃんよりも絶対楽しい。
2019/05/18(土) 10:26:06.91ID:jXb4UL4k
>>546>>549の回答よろしく
2019/05/18(土) 11:21:30.92ID:arw0wGqU
>>560,564
俺の場合、
sed -e ’いろいろいろいろ' | bc
だけと後は比較だけででけた(三千十六 八八四八 なんぞも)
かまってちゃんは何をこんなのにに必死なんだかなあという感想
2019/05/18(土) 12:43:58.12ID:JuXjXOXc
>>566
「外部コマンド呼び出し無しで」という
条件ぐらい読もうよw
2019/05/18(土) 12:45:20.90ID:JuXjXOXc
>564
> どこまで bash でできるのかと思っただけだからね。気は済んだよ。

bashでってわざわざ書いてあるってことは
POSIXシェルでの実装は断念したってこと?
2019/05/18(土) 12:48:00.53ID:JuXjXOXc
>>565
それなw 文字列の比較が難しいって話をしてるのに
漢数字の比較なら簡単って言っても何の解決にもなってないというか
自分で問題を変更して実装したで(どや)ってされてもなぁw
2019/05/18(土) 14:31:15.80ID:arw0wGqU
何でもかんでも否定したいだけの子ってよく言ったものだな
目的を果たしているんだからそんなアホな条件にそう気は全くないね(そもそも設問がアホというのも気づいてないみたいだし)
自分がどうしつこく繰り返してたことも忘れたらしいのによく言うよ
2019/05/18(土) 14:42:25.84ID:jXb4UL4k
>>569
そんな事どうでもいいから早く>>546>>549の回答よろしく
2019/05/18(土) 14:46:37.88ID:arw0wGqU
回答するなら、一般的に使われるであろう漢数字の比較も出してくれたらいいな
変な条件内の使い道のないようなのでない。簡単と言われて文句つけられるんだから簡単だろうw
とりあえず >>571の言う通りお手並み拝見
2019/05/18(土) 17:05:06.76ID:524JDXbW
>>568
断念も何も、考えてすらいないよ。
「bash でやってみる」がテーマなんだから当たり前だろう?
お前の寝言に付き合ってるわけじゃないんだよ。
一応、やってみた感想を述べるなら
「すげーな bash 。でもやっぱりこれはシェルの仕事じゃないな。」
ってとこかな。
それでも楽しめたし多少なりとも bash を理解できたんだからそれでいいんだよ!
2019/05/18(土) 17:10:57.93ID:c9LKncuu
回答よろしくってここはお前のお庭じゃねーんだぞw
なにお山の大将気取ってんだ
2019/05/18(土) 17:28:33.45ID:G+P7ooBK
どうやらコンセンサスを得られたようだからな
もう一回いうぞ。漢数字の比較の話は
関係ないし誰も求めてないから黙れ、口を閉じろ

bashとPOSIXシェルの違いがわかってないやつが
いるが、bashは許可していない。
文字列の比較はbashで簡単できる(= シェルスクリプトでやるような仕事)

これをPOSIXシェルだけで外部コマンド呼び出し
なしで出来ないかというのがもともとの質問だ
二度とシェルスクリプト以外の話をするなよ
2019/05/18(土) 17:31:12.78ID:Qoy0pg1H
>>575
だから俺が求めてるんだけども
2019/05/18(土) 17:33:07.99ID:arw0wGqU
>>574
誰に言っているのかわからんな。ID:jXb4UL4k になら、問題出したんだから答えも出して締めてという一般的なことかな

わかりやすくは、回答ではなく解答なんだろうけど。だからヤツも変に間違って>>569なんてアホなレスしてしまったし
まあ、解答ではなく回答の方がやっぱり正しいのかもだがw
2019/05/18(土) 17:40:14.85ID:arw0wGqU
あれだけ最後の方で答えないとか粘っていたのに「関係ないし誰も求めてないから黙れ、口を閉じろ」だって...w
脳みそのメモリ足りなさすぎだろうw

シェルスクリプトはグルー言語とも言われ、コマンドを使うのは普通なので、馬鹿な言い分は聞く必要性は全くないな。shell builtin の意味すら知らなさそう

口を開くほど馬鹿を晒す馬鹿って感じ
2019/05/18(土) 17:45:12.45ID:Qoy0pg1H
>>575
つうか
>これをPOSIXシェルだけで外部コマンド呼び出し
>なしで出来ないかというのがもともとの質問だ
できない

で終わってんだろこの話
なんでいつまでも出来ない話に粘着してんの?
出来ないことを証明しろとか、キチガイの戯言を言いつのりたいだけなの?
2019/05/18(土) 17:47:31.61ID:arw0wGqU
ああ、もしかして変なの二人いたりするのかな??
だとしたら、勘弁してくれ。アホなことを言うのは一人で十分w
2019/05/18(土) 18:40:47.80ID:JuXjXOXc
>>579
できるんだけどなw

: > "いろは"
: > "あいう"
echo *
2019/05/18(土) 18:50:12.59ID:jXb4UL4k
$ vi 29581.sh
$ sh 29581.sh
29581.sh あいう いろは

ってなったけど?
2019/05/18(土) 18:54:36.40ID:JuXjXOXc
>>582
な?できたろw
2019/05/18(土) 19:25:10.70ID:jXb4UL4k
これは文字列の比較ではないなー
お前バカだろ

こんなしょうもないことで>>431から延々とスレを荒らしたのか
2019/05/18(土) 19:43:02.94ID:arw0wGqU
実用性の欠けらも無いのが大好きだな
それなりにスキルがあってなぞなぞ好きならまだしも。スキル磨けよw
2019/05/18(土) 20:48:31.62ID:3xvYFUWf
スキル
2019/05/19(日) 00:01:51.89ID:40XRh0yv
>>580
いや,多分「マジで頭おかしい」のは一人。
もう一人もしくは二人くらい,そいつの煽りに乗せられてちょっとキレ気味なレスバを繰り広げてしまっている。

IDやワッチョイを集団でNG指定できる掲示板だったらよかったんだけどなぁ……。
2019/05/19(日) 00:14:35.61ID:jyVnriUQ
NG指定すると、そいつの書き込みが見えなくなるから、
そいつの書き込みに「下らないレスを付けるやつ」が減る。
2019/05/19(日) 03:57:16.75ID:4/AsmfPZ
>>587
ちょっと安心したwいろいろと。どうも
匿名掲示板だからねえ。それが好きで使ってるのもあるしね、まあ、しょうがない
2019/05/19(日) 09:57:18.67ID:Ia6E6RaB
集団NGというか共有NGはPCだと無縁だからねぇ
2019/05/28(火) 00:30:04.64ID:WhpCGVUS
$ timer.sh 1h30m
引数がこう指定された場合1hと30mはどう捌けばいいんでしょう?
練習で簡易タイマーを作ったんですが時間の複数指定がどうも上手く行かず
この場合は1時間半の指定にしたいんです
一応1.5hのような数値指定にも対応はさせましたが

timer(){
for arg in "$@" ;do
if [[ "$arg" =~ ([0-9]+\.?[0-9]+?)(.?) ]] ;then
num=${BASH_REMATCH[1]}
unit=${BASH_REMATCH[2]}

case "$unit" in
[s])
count=$(bc -l <<< "scale=2;$num")
echo $(date "+%x(%a) %X") 待機:${num}秒
echo $(date "+%x(%a) %X" -d "$count sec") 再開
sleep $count
;;
...
中はこんなcase文が後mとhと続きます
まだ初学段階ですがもっとマシな書き方はありますかね
2019/05/28(火) 01:11:40.50ID:vCL2HYTO
echo 1h30m | { echo 'scale=0;'; sed 's/h/*3600+/;s/m/*60+/;s/s//;s/+$//;s:.*:(&)/1:'; } | bc

とかかな。
2019/05/28(火) 08:21:17.64ID:wDZh4gqJ
とりあえずBashの[[コマンドよりsedコマンドを使ったほうがいいとは思う。
2019/05/29(水) 19:17:53.10ID:S3MJvn1i
最近sedほとんど使わなくなった。
perl -peで代用しちゃう。
595デフォルトの名無しさん
垢版 |
2019/05/29(水) 19:32:57.87ID:UDeAAaE3
katochan -pe
2019/05/29(水) 23:00:56.57ID:7bPFMo5i
>>593
sedコマンド使うとめちゃくちゃ遅くなるぞ
2019/05/30(木) 00:09:39.31ID:nqYCZCfw
>>591でめちゃめちゃ遅くなるって、頭大丈夫か?
2019/05/30(木) 00:17:55.45ID:X2KDG1Lz
>>597
10〜100倍ぐらい遅くなるだろうね。
2019/05/30(木) 00:44:29.88ID:nqYCZCfw
遅いからそれがなんなの?って意味なんだけど
そんなに意味がない速さにこだわるなら、なんでもかんでもCで書くべきだろうにw
2019/05/30(木) 01:22:28.57ID:X2KDG1Lz
意味があるかどうかは使い方次第
2019/05/30(木) 02:25:31.12ID:nqYCZCfw
言っている意味がわからん。>>591でって言っているんだけど
2019/05/30(木) 03:06:10.03ID:S0ORv27w
つうかおれは>>597が意味不明だ
2019/05/30(木) 03:17:49.10ID:nqYCZCfw
>>591は何度も繰り返すわけでもなく単なるタイマー起動するまでだけという、また、例の指定時間が1h30mという
起動するのに、0.1秒かかるのと0.01秒もしくは0.001秒でになんの差があるというのか、なんでそんなとこ気になんの?病気じゃないのってとこかな
2019/05/30(木) 19:27:13.10ID:9DfhdkhJ
>>603
同じく。
なんで一回かぎりの処理(しかも要求される精度は1分程度)に
そんなコンマ数秒の速度の違いを考慮しなくちゃならないんだろうか。
2019/06/01(土) 00:35:45.39ID:qWUYdvcJ
自分の方が賢いと思って知ったかぶりしてるだけでしょ。子供にはよくあることだよ。
ここには悪質な荒らしも来るんだから、スルーできないと荒らしの思う壺じゃないかな。
2019/06/01(土) 08:13:31.43ID:4/16u2qR
>>604
要求される精度は1分程度なんてお題に書いてあるっけ?
2019/06/02(日) 08:32:31.26ID:dZpvnFnK
>>606
引数が時・分なんだから、ふつーは秒単位は考慮不要と受け取るやろ
2019/06/02(日) 09:23:20.78ID:aBeO7O7s
それは仕様の説明じゃないよねえ
2019/06/02(日) 20:55:19.29ID:SX5hebJf
>>608
それを言うなら,お題には「プログラムの起動が遅かったらだめ」とも書いてねーよw
だからsedを使っても何ら問題ない。

↓こんなのでいいんじゃないかな?
ちょっと抜けがある(..h..mみたいな不正な指定も通してしまう)けど
自分で使うプログラムなら,これくらい入力時に注意できるから
そこまで厳密な判定は要らないと判断した。
sleep $(echo "($(echo '1h30m' | sed -e 's/\([0-9.][0-9.]\)*h\([0-9.][0-9.]\)*m/\1 * 60 + \2/')) * 60" | bc -l)
2019/06/02(日) 21:19:46.36ID:MyJb8SVO
それだと 1.5h とかが変換できない
2019/06/02(日) 22:34:06.55ID:XxY3JLef
>>592でいいんじゃない
2019/06/03(月) 00:56:39.44ID:amnwC05e
>>610
OSなに使ってる?
Debianでは動くけど。1.5hとかで。
2019/06/03(月) 01:08:52.27ID:0fpHz+xZ
Ubuntu 19.04 だと

(standard_in) 1: syntax error
sleep: missing operand

となる。

echo "($(echo '1.5h' | sed -e 's/\([0-9.][0-9.]\)*h\([0-9.][0-9.]\)*m/\1 * 60 + \2/')) * 60"

が (1.5h) * 60 になるので bc でエラーになる
614デフォルトの名無しさん
垢版 |
2019/06/03(月) 03:44:14.58ID:60TnqmAc
>>613
ドットは \ でのエスケープが必用なのでは?
2019/06/03(月) 04:14:04.85ID:xnZUjfNJ
>>592は冗長やな

echo 1h30m | { echo 'scale=0;'; sed 's/h/*3600+/;s/m/*60+/;s/s//;s/+$//;s:.*:(&)/1:'; } | bc
echo 1h30m | sed 's/h/*3600+/;s/m/*60+/;s/s/+/;s:.*:scale=0;(&0)/1:' | bc

scale=0はデフォルトだからいらんと思うけど
2019/06/03(月) 04:53:12.91ID:xnZUjfNJ
>>613
仕様です。

・1h23m45s みたいな秒には対応していません。エラーになります。
・mは必須です。mを省略した場合エラーになります。1.5hの場合は1.5h00mと入力してください。
・1文字のmには対応していません。エラーになります。1mは01mと入力してください。
・mが3文字以上で文字数が奇数の場合は、対応していません。エラーになります。
・mが4文字以上で文字数が偶数の場合は、下位2文字のみが使用されます。(例 1234m の場合 34、12.345の場合45)
・1文字のhには対応しています。
・hの文字数が偶数の場合は、下位2文字のみが使用されます。(例 1234h の場合 34、1.23の場合23)
・hの文字数奇数の場合は、最初の1文字と下位2文字をあわせた、3文字が使用されます。(例 12345h の場合 145、123.5の場合1.5、1.23の場合23)
2019/06/03(月) 04:54:33.38ID:xnZUjfNJ
>>616>>609の仕様ね
2019/06/03(月) 05:00:32.74ID:xnZUjfNJ
仕様漏れ

・hは必須です。hを省略した場合エラーになります。30mの場合は0h30mと入力してください。
2019/06/03(月) 05:42:18.06ID:MigZwPEH
なんやこいつ。またか
2019/06/03(月) 06:51:59.05ID:xnZUjfNJ
>>619
なににムカついたの?
2019/06/03(月) 07:25:22.55ID:amnwC05e
>>616
> ・mが4文字以上で文字数が偶数の場合は、下位2文字のみが使用されます。(例 1234m の場合 34、12.345の場合45)
この仕様の意味ってなに?
この仕様を無視して,
「mの前の数字は2桁でなくてはならない」
という仕様に統一すれば,すごく書き易いシェルスクリプトになると思うんだけど。
2019/06/03(月) 07:29:35.13ID:amnwC05e
>>616
追加で質問。
なんでhやmの前の数字の桁数の偶奇に拘るの?
例えば,
・mの前には二桁の整数(0埋め)しか許されない
・hの前には小数点以下一位の精度で99以下の数しか許されない
という仕様のほうが,仕様も短かいし実装も簡潔になると思うんだけど。
2019/06/03(月) 08:15:05.64ID:8eXXlkO0
Ruby では、

re = /([^h]+)h([^m]+)m/

# str = "1h0m"
str = "1.5h0m"

md = str.match( re )
# p md[ 1 ], md[ 2 ] #=> capture 部分

begin # 整数じゃなければ、浮動小数点にする
hour = Integer( md[ 1 ] )
rescue ArgumentError
hour = Float( md[ 1 ] )
end

minute = md[ 2 ].to_i # 整数

p hour, minute #=> 1.5, 0
2019/06/03(月) 09:09:22.60ID:8ZNdPBG6
行き当たりばったりでコードを書く人(>>609とか>>623)ってのは
お題がでたら、そのお題だけ通るコードを書く。
通らない例が現れたら、その通らない例のためのコードを追加する
別の通らない例が現れたら(以下同文
こんな感じでコードがどんどん長くなっていく

ちゃんと考えてコードを書いている人は短いコードで実現できる
物事を抽象化して考える。そのせいでいろんな場合に対応できる。
行き当たりばったりでコードを書く人は、いろんな場合に対応したら
コードが長くなると考える。だが抽象化するといろんな場合に対応し、かつコードは短くなる
2019/06/03(月) 09:23:57.43ID:amnwC05e
>>624
ほーん。*長文*ありがとう。
2019/06/03(月) 09:33:21.71ID:0fpHz+xZ
>>614
\([0-9.][0-9.]\)*m が入ってしまっているので、

echo "($(echo '1.5h00m' | sed -e 's/\([0-9.][0-9.]\)*h\([0-9.][0-9.]\)*m/\1 * 60 + \2/')) * 60"

とかするしかない

echo "($(echo '1.5h' | sed -e 's/\([0-9.][0-9.]\)*h\(\([0-9.][0-9.]\)*m\)\?/\1 * 60 + \3/')) * 60"

なんてすると、 (1.5 * 60 + ) * 60 になって bc で syntax error
2019/06/03(月) 09:35:00.19ID:z2LdD30j
>>626
行き当たりばったりのクソコードなんか相手にしなくていいで
2019/06/03(月) 09:40:07.68ID:z2LdD30j
代わりに俺が同じアプローチのまとなコード書いてやるからよ

echo '1.5h' | sed -E 's/(([0-9.]+)h)?(([0-9.]+)m)?(([0-9.]+)s)?/(\2-0)*3600+(\4-0)*60+(\6-0)/' | bc

(.0を消したければ>>615を参考に /1 すればいい)
2019/06/03(月) 09:49:10.30ID:0fpHz+xZ
やるなぁ、、て言うか相手してやってるやんw
2019/06/03(月) 09:52:56.88ID:z2LdD30j
クソコードはクソコードで終わりでいいって話
あ、クソコードですね♪使い物になりませんね♪でいいってことよ。
いちいちこういう場合にエラーがなりますとかやらなくていい
さっさと廃棄処分してしまおう。
631623
垢版 |
2019/06/03(月) 11:22:16.99ID:8eXXlkO0
まず設計がおかしい!
バグのほとんどは、設計がおかしいから起きる

時間は、0〜24 の整数のみ。
分は、0〜60 の整数のみ

最大で、24時間までとか

整数に変換できなければ、浮動小数点に変換するとか、こんなおかしな設計はない!
2019/06/03(月) 11:25:36.69ID:8qtiF3dA
>>623 = >>631 の発言

>>623「整数に変換できなければ、浮動小数点に変換する」

>>631「整数に変換できなければ、浮動小数点に変換するとか、こんなおかしな設計はない!」
633デフォルトの名無しさん
垢版 |
2019/06/03(月) 11:26:56.98ID:amnwC05e
>>632
やめたれw
634デフォルトの名無しさん
垢版 |
2019/06/03(月) 12:27:27.29ID:3fU/jk6b
つまりrubyを使うと統合失調症になってしまうということ?
2019/06/03(月) 13:18:07.10ID:amnwC05e
そんなことには、ならない!
Rubyは、すばらしい言語
636デフォルトの名無しさん
垢版 |
2019/06/03(月) 13:28:47.52ID:3fU/jk6b
やっぱりなってしまうんだね…
637623
垢版 |
2019/06/04(火) 05:26:37.80ID://1XsOfQ
整数に変換できなければ、浮動小数点に変換するとか、明らかにおかしいでしょ?
だから、質問者に言われた通りに書いたら、おかしいと言うこと!

>>631
>時間は、0〜24 の整数のみ。
>分は、0〜60 の整数のみ

多くの言語が採用しているのは、
時間は、0〜23 の整数のみ。
分は、0〜59 の整数のみ

色んな言語の、Time クラスのメソッドを参照
2019/06/04(火) 05:55:02.35ID:oQKNEIyc
>>623「整数に変換できなければ、浮動小数点に変換する」

>>631「整数に変換できなければ、浮動小数点に変換するとか、こんなおかしな設計はない!」

>>637「質問者が整数に変換できなければ、浮動小数点に変換するって言った!浮動小数点でスレを検索してみろ!」

【検索結果】
623 名前:デフォルトの名無しさん[sage] 投稿日:2019/06/03(月) 08:15:05.64 ID:8eXXlkO0 [1/2]
631 名前:623[sage] 投稿日:2019/06/03(月) 11:22:16.99 ID:8eXXlkO0 [2/2]
637 名前:623[] 投稿日:2019/06/04(火) 05:26:37.80 ID://1XsOfQ
2019/06/04(火) 06:05:44.33ID:oQKNEIyc
>>637
俺はシェルスクリプトもRubyも上級者なんだよなぁ(苦笑)

$ irb
irb(main):001:0> require 'active_support/time'
=> true
irb(main):002:0> 1.5.hours
=> 5400.0 seconds
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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