シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その30
https://mevius.5ch.net/test/read.cgi/tech/1561989867/
シェルスクリプト総合 その31
■ このスレッドは過去ログ倉庫に格納されています
2019/08/10(土) 23:17:50.64ID:L+B8OP2P
762デフォルトの名無しさん
2019/10/02(水) 03:24:37.13ID:DWeKr+Az 知らないなら言わなければいいのにw
RET命令(Return from Procedure)
http://softwaretechnique.jp/OS_Development/Tips/IA32_Instructions/RET.html
RET命令(Return from Procedure)
http://softwaretechnique.jp/OS_Development/Tips/IA32_Instructions/RET.html
763デフォルトの名無しさん
2019/10/02(水) 03:28:45.47ID:238K9SSk764デフォルトの名無しさん
2019/10/02(水) 03:43:25.73ID:DWeKr+Az 同じだだろ。何いってんの?
略だから違うんだって言いたいの?
略だから違うんだって言いたいの?
765デフォルトの名無しさん
2019/10/02(水) 03:44:26.53ID:o4tQ0hze >>762
そしてそれはアセンブリ言語という..
そしてそれはアセンブリ言語という..
766デフォルトの名無しさん
2019/10/02(水) 03:46:58.80ID:DWeKr+Az シェルスクリプトのreturnは終了ステータスを返すもので
これは他の言語の返り値ではないのは一目瞭然なんだがね
だからこそ $_ という変数(外部コマンドを呼び出した時の終了ステータス)で
アクセスできるわけだし
しらないならシェルスクリプトを勉強してくださいって言うしか無いな
なんならbashのドキュメント引用しようか?
return [n]
指定した返り値 n で関数を終了させます。 n を省略すると、返却ステータスは 関数内で最後に実行したコマン
ドの返却ステータスになります。 関数の外側で使われているが、 . (source) コマンドによるスクリプトの実行
中である場合、 シェルはそのスクリプトの実行を止め、 n またはスクリプト内で最後に実行されたコマンドの
終了ステータスを スクリプトの終了ステータスとして返します。 関数の外側で . によるスクリプトの実行中以
外に使われた場合、 返却ステータスは偽となります。 関数やスクリプトから実行が戻る前に、 RETURN トラッ
プ に設定されたコマンドが実行されます。
これは他の言語の返り値ではないのは一目瞭然なんだがね
だからこそ $_ という変数(外部コマンドを呼び出した時の終了ステータス)で
アクセスできるわけだし
しらないならシェルスクリプトを勉強してくださいって言うしか無いな
なんならbashのドキュメント引用しようか?
return [n]
指定した返り値 n で関数を終了させます。 n を省略すると、返却ステータスは 関数内で最後に実行したコマン
ドの返却ステータスになります。 関数の外側で使われているが、 . (source) コマンドによるスクリプトの実行
中である場合、 シェルはそのスクリプトの実行を止め、 n またはスクリプト内で最後に実行されたコマンドの
終了ステータスを スクリプトの終了ステータスとして返します。 関数の外側で . によるスクリプトの実行中以
外に使われた場合、 返却ステータスは偽となります。 関数やスクリプトから実行が戻る前に、 RETURN トラッ
プ に設定されたコマンドが実行されます。
767デフォルトの名無しさん
2019/10/02(水) 03:47:32.93ID:DWeKr+Az768デフォルトの名無しさん
2019/10/02(水) 03:49:09.36ID:238K9SSk >>764
マジか
残念ながらが同一人物に見えるとやはりなお思ってしまうよw
マジか。そんなんで偉ぶるwなんの意味があるのだかさっぱり
そもそもマシン語ではない、アセンブリ=ニーモニックだし。ニーモニック命令は3文字にという昔の風習なだけだろうに
豆知識
そもそも、そんなRETでもいいけどReturnすらないCPUもある。POPしてジャンプという
なんだかなあ
マジか
残念ながらが同一人物に見えるとやはりなお思ってしまうよw
マジか。そんなんで偉ぶるwなんの意味があるのだかさっぱり
そもそもマシン語ではない、アセンブリ=ニーモニックだし。ニーモニック命令は3文字にという昔の風習なだけだろうに
豆知識
そもそも、そんなRETでもいいけどReturnすらないCPUもある。POPしてジャンプという
なんだかなあ
769デフォルトの名無しさん
2019/10/02(水) 03:55:47.57ID:238K9SSk770デフォルトの名無しさん
2019/10/02(水) 04:19:21.82ID:238K9SSk771デフォルトの名無しさん
2019/10/02(水) 06:38:15.47ID:Ge1fP5ct シェルスクリプトはシェルスクリプトだっていってんのに
俺は他の言語しか知らん。シェルスクリプトは他の言語じゃない!
といわれても、
うんじゃあ、シェルスクリプトを使えるように、シェルスクリプトの勉強をしましょうか?
としか言えんわなw
俺は他の言語しか知らん。シェルスクリプトは他の言語じゃない!
といわれても、
うんじゃあ、シェルスクリプトを使えるように、シェルスクリプトの勉強をしましょうか?
としか言えんわなw
772デフォルトの名無しさん
2019/10/02(水) 07:03:56.09ID:R26grXOk アセンブラじゃなくて機械語だってすごいよなw
773デフォルトの名無しさん
2019/10/02(水) 08:47:07.26ID:238K9SSk >>771
どう読んで、そう思っているのか??
俺は他の言語しか知らん。シェルスクリプトは他の言語じゃない!なんてこれっぽっちも言ってないけど
他の言語の関数とはやっぱ違う他の言語の関数と同じようにはできないねというだけだが?端的には>>735と所詮コマンドということ
POSIXとしてもfunctionと名乗ってるけど、一般的=他の多くの言語のfunctionとは違うfunction、functionというよりコマンドだなやっぱちう
それがシェルスクリプトのfunctionで他の言語のfunctionとは違うって強く俺に言いたいんですかね?
いいよ、めんどくさいから読まなくても。レスするのもめんどくさいからw
>>772
まあ、そういう意味じゃないんだけどね(どういう意味のレスなのかイマイチだがw)
マクロアセンブラがあるようにアセンブラはどのようにもできる、やろうと思えば。縛りはそこじゃなくて、機械語だなという
また、機械語になんて関数なんて概念ないからねって話にも膨らむのになというw
どう読んで、そう思っているのか??
俺は他の言語しか知らん。シェルスクリプトは他の言語じゃない!なんてこれっぽっちも言ってないけど
他の言語の関数とはやっぱ違う他の言語の関数と同じようにはできないねというだけだが?端的には>>735と所詮コマンドということ
POSIXとしてもfunctionと名乗ってるけど、一般的=他の多くの言語のfunctionとは違うfunction、functionというよりコマンドだなやっぱちう
それがシェルスクリプトのfunctionで他の言語のfunctionとは違うって強く俺に言いたいんですかね?
いいよ、めんどくさいから読まなくても。レスするのもめんどくさいからw
>>772
まあ、そういう意味じゃないんだけどね(どういう意味のレスなのかイマイチだがw)
マクロアセンブラがあるようにアセンブラはどのようにもできる、やろうと思えば。縛りはそこじゃなくて、機械語だなという
また、機械語になんて関数なんて概念ないからねって話にも膨らむのになというw
774デフォルトの名無しさん
2019/10/02(水) 09:15:47.03ID:gGwgwb6G 俺はたぬきしか知らないなんて言ってない!
みかんはたぬきとは違う!
みかんはたぬきとは違う!
775デフォルトの名無しさん
2019/10/02(水) 09:19:32.36ID:R26grXOk 機械語に関数の概念が無いってすごいよなw
776デフォルトの名無しさん
2019/10/02(水) 09:23:09.06ID:238K9SSk めんどくせえなあ。とんちんかんな変すぎるレスいらんw
知らなかったのはサブルーチンとして使うのと関数として使うのにコストの差が思った以上にあったというだけだな。functionなんだからそんなに差が無いようになんかあるだろうと思い込みによる
それだけだよ
別にだから関数のように使わないとも言わんし、いままでも使ってるし変わらずに使うけど
知らなかったのはサブルーチンとして使うのと関数として使うのにコストの差が思った以上にあったというだけだな。functionなんだからそんなに差が無いようになんかあるだろうと思い込みによる
それだけだよ
別にだから関数のように使わないとも言わんし、いままでも使ってるし変わらずに使うけど
777デフォルトの名無しさん
2019/10/02(水) 09:25:03.86ID:238K9SSk778デフォルトの名無しさん
2019/10/02(水) 09:39:55.43ID:238K9SSk 機械語にはサブルーチンはある。なきゃ困る(主にどこのアドレスに返ってくるのかのため)。単なるサブルーチンコール、引数の概念とかも無いw
引数も返り値(サブルーチン+返り値=関数)も、単なるmoveとかpushとかで「適当」なとこに入れての(主に高級言語(ほぼCだが)の仕様にあわせての)で、機械語の概念では存在しない
おしまい
引数も返り値(サブルーチン+返り値=関数)も、単なるmoveとかpushとかで「適当」なとこに入れての(主に高級言語(ほぼCだが)の仕様にあわせての)で、機械語の概念では存在しない
おしまい
779デフォルトの名無しさん
2019/10/02(水) 10:11:40.69ID:caSqV8Sl これマジ?
780デフォルトの名無しさん
2019/10/02(水) 10:39:50.67ID:238K9SSk この板にもあるだろうと思ったらあったし、
「関数」で検索したらアセンブリで関数というのを説明しているようなレスもあるやん
調べろよそのぐらいw
「関数」で検索したらアセンブリで関数というのを説明しているようなレスもあるやん
調べろよそのぐらいw
781デフォルトの名無しさん
2019/10/02(水) 10:46:24.58ID:238K9SSk ああ、すまん。勇み足だった。よく読んだらあんま詳しくはないかな
ある程度知っていての注意点ぐらいだった
ある程度知っていての注意点ぐらいだった
782デフォルトの名無しさん
2019/10/02(水) 10:51:24.96ID:238K9SSk783デフォルトの名無しさん
2019/10/02(水) 10:54:19.14ID:caSqV8Sl サンクス
読んでくるわ
読んでくるわ
784デフォルトの名無しさん
2019/10/02(水) 11:01:36.56ID:vYvaxxoe だいたいシェルスクリプトと機械語なんて超相性悪いから
シェルスクリプトの概念を例える別の言語として機械語(含むアセンブリ言語)は最悪の選択ではw
シェルスクリプトの標準・仕様書であるPOSIXも機械語には全く言及してないってか
適用範囲の節で明言してるし。
(つーかこの喧嘩って俺がkshの速度を持ち出したことが発端なんだな…
良かれと思って余計なこと言わなけりゃよかった)
シェルスクリプトの概念を例える別の言語として機械語(含むアセンブリ言語)は最悪の選択ではw
シェルスクリプトの標準・仕様書であるPOSIXも機械語には全く言及してないってか
適用範囲の節で明言してるし。
(つーかこの喧嘩って俺がkshの速度を持ち出したことが発端なんだな…
良かれと思って余計なこと言わなけりゃよかった)
785デフォルトの名無しさん
2019/10/02(水) 11:18:14.46ID:238K9SSk786デフォルトの名無しさん
2019/10/02(水) 11:26:54.15ID:238K9SSk >>784
>シェルスクリプトの標準・仕様書であるPOSIXも機械語には全く言及してないってか
>適用範囲の節で明言してるし
CPUによって全然違うし(CPUメーカーが作るもんでしょう)なあ。標準化なんてする範疇じゃないんじゃないかな
>kshの速度を持ち出したことが発端なんだな…
いや、違うよ。kshの件は早々に終わっているといえば終わってる。そんなのが全く関係ないとこでながながとなってるだけだな
その前の俺の思惑wからだな、長々としている原因は。強いて言えば
>シェルスクリプトの標準・仕様書であるPOSIXも機械語には全く言及してないってか
>適用範囲の節で明言してるし
CPUによって全然違うし(CPUメーカーが作るもんでしょう)なあ。標準化なんてする範疇じゃないんじゃないかな
>kshの速度を持ち出したことが発端なんだな…
いや、違うよ。kshの件は早々に終わっているといえば終わってる。そんなのが全く関係ないとこでながながとなってるだけだな
その前の俺の思惑wからだな、長々としている原因は。強いて言えば
787デフォルトの名無しさん
2019/10/02(水) 14:05:10.23ID:D8VruPt/788デフォルトの名無しさん
2019/10/02(水) 14:31:23.77ID:238K9SSk よくわかんないなw
789デフォルトの名無しさん
2019/10/02(水) 17:06:22.98ID:em13adMU ファイル名に()が入ってるやつをリネームしようとしたら
Syntax error: "(" unexpected
と言われる・・
ファイル名から()取り除いたらうまくいきました
どうすればよいでしょうか
Syntax error: "(" unexpected
と言われる・・
ファイル名から()取り除いたらうまくいきました
どうすればよいでしょうか
790デフォルトの名無しさん
2019/10/02(水) 17:19:25.51ID:ccSnb7w3 touch "foo()bar" で作れたからそれかな
あるいは 正規表現のできるrenameツールに任せちゃう
https://paiza.io/projects/GgkMgqOqyzwwgbmu-Fn-Vg
https://pastebin.com/pYBipcQt
~/bin/rename.pl dry s/foo../foo/ foo\(\)bar
foo()bar => foobar
~/bin/rename.pl run s/foo../foo/ foo\(\)bar
あるいは 正規表現のできるrenameツールに任せちゃう
https://paiza.io/projects/GgkMgqOqyzwwgbmu-Fn-Vg
https://pastebin.com/pYBipcQt
~/bin/rename.pl dry s/foo../foo/ foo\(\)bar
foo()bar => foobar
~/bin/rename.pl run s/foo../foo/ foo\(\)bar
791デフォルトの名無しさん
2019/10/02(水) 20:34:07.49ID:9nRFYl/a792デフォルトの名無しさん
2019/10/02(水) 20:52:22.16ID:56vpBHGI >>789
ファイル名をシングルクォートまたはダブルクォートで括る。またはそのようにシェルが特別な解釈をしてしまう文字の直前に \ を入れる。
ファイル名をシングルクォートまたはダブルクォートで括る。またはそのようにシェルが特別な解釈をしてしまう文字の直前に \ を入れる。
793デフォルトの名無しさん
2019/10/03(木) 00:15:58.71ID:SqD9WxB/ 空白絡みで便乗質問です。
スクリプトがあるディレクトリを変数に入れるために、よく、
BASEDIR=$(cd $(dirname $0); pwd)
みたいなの書くと思うんですけど、
スクリプトを呼び出す際の相対パスや絶対パスに空白があっても大丈夫な場合はどう""をつければいいんでしょうか。
いつも試行錯誤するんですけどうまくいかなくて空白禁止にしちゃってます。
スクリプトがあるディレクトリを変数に入れるために、よく、
BASEDIR=$(cd $(dirname $0); pwd)
みたいなの書くと思うんですけど、
スクリプトを呼び出す際の相対パスや絶対パスに空白があっても大丈夫な場合はどう""をつければいいんでしょうか。
いつも試行錯誤するんですけどうまくいかなくて空白禁止にしちゃってます。
794デフォルトの名無しさん
2019/10/03(木) 00:16:32.35ID:SqD9WxB/ 大丈夫な場合→大丈夫にしたい場合、です。
795デフォルトの名無しさん
2019/10/03(木) 00:41:53.26ID:kXokk7Ss dirname "$0"じゃダメな理由はなに?
796デフォルトの名無しさん
2019/10/03(木) 00:56:16.10ID:WHDqtNcX "$(dirname "$0")" じゃない
797デフォルトの名無しさん
2019/10/03(木) 02:58:37.36ID:DFQVUXe/ >>793
BASEDIR=$(cd "$(dirname "$0")"; pwd)
BASEDIR="$(cd "$(dirname "$0")"; pwd)"
↑これは不要
"引数"として渡す場合に必要。
変数への代入は引数ではないので不要
BASEDIR=$(cd "$(dirname "$0")"; pwd)
BASEDIR="$(cd "$(dirname "$0")"; pwd)"
↑これは不要
"引数"として渡す場合に必要。
変数への代入は引数ではないので不要
798デフォルトの名無しさん
2019/10/03(木) 07:38:56.48ID:vim6DLSQ799デフォルトの名無しさん
2019/10/03(木) 08:37:13.31ID:/bA39X9L 小数の計算がPOSIXで標準化されるって本当?
これどうにかしてほしいんだが
$ zsh -c 'echo $((0.1+0.2))'
0.30000000000000004
固定小数点をサポートしてくれよ。
これどうにかしてほしいんだが
$ zsh -c 'echo $((0.1+0.2))'
0.30000000000000004
固定小数点をサポートしてくれよ。
800デフォルトの名無しさん
2019/10/03(木) 09:12:38.31ID:BSBvRGI4 各言語での 0.1 + 0.2 の結果
http://0.30000000000000004.com/
http://0.30000000000000004.com/
801デフォルトの名無しさん
2019/10/03(木) 09:41:30.99ID:T62xH6xP 言語というよりはどういうライブラリ使っているかの問題だと思うが
802デフォルトの名無しさん
2019/10/03(木) 09:46:51.64ID:wbZFe5vy きちんと0.3返す言語は
分子と分母の2つ記録するから速度は遅くなる
遅いシェルスクリプトの選択した方法は正しい
分子と分母の2つ記録するから速度は遅くなる
遅いシェルスクリプトの選択した方法は正しい
803デフォルトの名無しさん
2019/10/03(木) 09:50:59.70ID:/bA39X9L いや、誰が浮動小数点数的な答えを求めてるのよ?
誰も数学的に間違った答えなんか求めてないでしょ?
誰も数学的に間違った答えなんか求めてないでしょ?
804デフォルトの名無しさん
2019/10/03(木) 13:46:15.91ID:oxXSy4fC 固定小数点なんて採用することはないな
提案してみろ、まずはStandard C Libraryとして
提案してみろ、まずはStandard C Libraryとして
805デフォルトの名無しさん
2019/10/03(木) 14:46:29.02ID:Fw9k5QN4806デフォルトの名無しさん
2019/10/03(木) 14:56:31.03ID:gitagY/F807デフォルトの名無しさん
2019/10/03(木) 15:03:35.77ID:Fw9k5QN4 そういうある意味特殊なことをしようとする意志のがあればな
結局はCなんだよどういう言語でもああいう部分は。そしてCがそうだからただそうなだけ。わざわざ言うようなことをするのは極めて少ないだろ
浮動小数点がIEEEで決められてる正規なものだし。特殊なプログラムを使えということだよ=シェルとかに求めるのは現在のコンピュータ界隈では無理筋だな
結局はCなんだよどういう言語でもああいう部分は。そしてCがそうだからただそうなだけ。わざわざ言うようなことをするのは極めて少ないだろ
浮動小数点がIEEEで決められてる正規なものだし。特殊なプログラムを使えということだよ=シェルとかに求めるのは現在のコンピュータ界隈では無理筋だな
808デフォルトの名無しさん
2019/10/03(木) 15:08:16.36ID:wbZFe5vy perl か何かに任せておけ
#!/usr/bin/env perl
use bigrat;
my ( $ss, $F, $ISO ) = (@ARGV);
unless ( defined $ISO ) { $ISO = 100 }
my %shutter_speed = (
30 => -5,
25 => -14/3,
20 => -13/3,
......
);
printf "%s\n", 0/1 + $shutter_speed{$ss} + $F_number{$F} - $ISO_number{$ISO};
ただし perl bigrat だと
0/1 +
を抜くと型が整数処理されるというわけのわからん挙動するケースがあったから
別の言語がいいけど
#!/usr/bin/env perl
use bigrat;
my ( $ss, $F, $ISO ) = (@ARGV);
unless ( defined $ISO ) { $ISO = 100 }
my %shutter_speed = (
30 => -5,
25 => -14/3,
20 => -13/3,
......
);
printf "%s\n", 0/1 + $shutter_speed{$ss} + $F_number{$F} - $ISO_number{$ISO};
ただし perl bigrat だと
0/1 +
を抜くと型が整数処理されるというわけのわからん挙動するケースがあったから
別の言語がいいけど
809デフォルトの名無しさん
2019/10/03(木) 17:47:54.90ID:vTPkh0Cq >>807
浮動小数点とIEEE754は同じ意味じゃないから語弊が生まれるよ。
文字コードとUTF-8ぐらいの関係だろう。
そして大抵の小数を扱えるプログラムがCでIEEE754に準拠した浮動小数点による取り扱いをしてるって意見は、全然同意できないな。
浮動小数点とIEEE754は同じ意味じゃないから語弊が生まれるよ。
文字コードとUTF-8ぐらいの関係だろう。
そして大抵の小数を扱えるプログラムがCでIEEE754に準拠した浮動小数点による取り扱いをしてるって意見は、全然同意できないな。
810デフォルトの名無しさん
2019/10/03(木) 18:03:01.77ID:NYKgu9W2 1. 数学的には正しくない。
2. 速度のために正確さを犠牲にしている。
3. 誰も間違った答えは望んでいない
仕様だから〜とかいう話じゃないんだよね。
本当はみんな正しい答えが欲しい。
シェルスクリプトに速度は重要じゃないんだから
正しい答えのほうが便利だろ
2. 速度のために正確さを犠牲にしている。
3. 誰も間違った答えは望んでいない
仕様だから〜とかいう話じゃないんだよね。
本当はみんな正しい答えが欲しい。
シェルスクリプトに速度は重要じゃないんだから
正しい答えのほうが便利だろ
811デフォルトの名無しさん
2019/10/03(木) 18:39:51.77ID:K4DSf+RO ほとんど近似値でたりるし必要なら自分でつくるなりすればとしか思わないよ
812デフォルトの名無しさん
2019/10/03(木) 18:40:45.48ID:Fw9k5QN4813デフォルトの名無しさん
2019/10/03(木) 20:14:25.67ID:A9ow2usS >>811
0.1+0.2が0.3にならなくてもいいよっていう業界を教えてくれ
0.1+0.2が0.3にならなくてもいいよっていう業界を教えてくれ
814デフォルトの名無しさん
2019/10/03(木) 20:20:38.23ID:gitagY/F 適当なところで丸めりゃ良いんだからいいじゃねえか
815デフォルトの名無しさん
2019/10/03(木) 20:23:06.87ID:Fw9k5QN4 少数なんて大体でしかないなんて常識だと思ってたのにな。少数使わないでも結局できたりするので、また、固定少数でも結局工夫が必要なのには変わりないので
なんでそんなに少数の正しさに拘っているのだか、どういう業界でそういうのをしかもスクリプトオンリーで書かなきゃならないって想像できないな
なんでそんなに少数の正しさに拘っているのだか、どういう業界でそういうのをしかもスクリプトオンリーで書かなきゃならないって想像できないな
816デフォルトの名無しさん
2019/10/03(木) 20:30:23.62ID:KR7C+a5e >>813
必要なら用途に合うもん使えよ
必要なら用途に合うもん使えよ
817デフォルトの名無しさん
2019/10/03(木) 23:39:56.70ID:5pSilKMJ 気が付いたら少数を使うことがほとんどなくなった
利子の計算ぐらいだが、これは何桁で計算を打ち切るか
あらかじめ決めておく。安易に double とか使わない
利子の計算ぐらいだが、これは何桁で計算を打ち切るか
あらかじめ決めておく。安易に double とか使わない
818デフォルトの名無しさん
2019/10/03(木) 23:43:58.79ID:6kVVAM38 簡単なシェルスクリプトしか書けんが何が覚えとけって言語ある?
s以外のsedの機能をようやく覚えたけどコマンドは文字列操作系で手一杯だわ
やっぱりperlの呪文覚えるしかないか
s以外のsedの機能をようやく覚えたけどコマンドは文字列操作系で手一杯だわ
やっぱりperlの呪文覚えるしかないか
819デフォルトの名無しさん
2019/10/03(木) 23:49:00.65ID:wbZFe5vy パイプが強烈だから文字列処理に強い perl でしょ
オブジェクト指向はいらない
オブジェクト指向はいらない
820デフォルトの名無しさん
2019/10/04(金) 00:41:14.19ID:jIZSSFYe >>818
JavaScript
JavaScript
821デフォルトの名無しさん
2019/10/04(金) 00:43:47.35ID:jIZSSFYe >>817
それな。何桁で計算を打ち切るだと、どこで誤差が出るか想定しやすいが
doubleとかだと、桁数小さくても誤差が出るから、想定しづらいんだよね。
シェルスクリプトは型が文字列しか無いんだから、
内部の都合である数値型には影響されてほしくないな
それな。何桁で計算を打ち切るだと、どこで誤差が出るか想定しやすいが
doubleとかだと、桁数小さくても誤差が出るから、想定しづらいんだよね。
シェルスクリプトは型が文字列しか無いんだから、
内部の都合である数値型には影響されてほしくないな
822デフォルトの名無しさん
2019/10/04(金) 01:20:38.52ID:5l5U7bxj >>812
文字コードってのは文字に番号を割り振って取り扱いますよ、という概念。
浮動小数点も一緒で、有限の長さの小数を、小数点の位置を自由にすること
(仮数部と基数部で表現する)ことで表しますよって概念。
各ベンダーが独自に実装したら不便極まりないから文字コードにおけるUnicode(とかUTF-8)と同様IEEE754という標準がある。
浮動小数点演算、と言ったときにそれは一概にIEEE754内部表現を用いた演算とはならない。
https://ja.wikipedia.org/wiki/任意精度演算 の方式の中にはIEEE754でない浮動小数点表現を取り扱ってるものだってあるだろう。
BCDで小数が扱えるライブラリだってそう言うのが多いと思うよ。
IEEE754の仕様の浮動小数点演算で十分な場合は、CPUに便利命令が用意されてて1桁ずつ計算とかしなくても
一発で計算が求まるからIEEE754の浮動小数点は使われている、というだけでしょ。
浮動小数点っていう大きい概念がどういったものかってのと、IEEE754はその概念を実現するための一例でしかないってのを、
Wikipediaなり読み込んで理解したほうが良いと思うよ。
ほんと、文字コードとUTF-8は同じものだ、って言ってるぐらいトンチンカンだから
文字コードってのは文字に番号を割り振って取り扱いますよ、という概念。
浮動小数点も一緒で、有限の長さの小数を、小数点の位置を自由にすること
(仮数部と基数部で表現する)ことで表しますよって概念。
各ベンダーが独自に実装したら不便極まりないから文字コードにおけるUnicode(とかUTF-8)と同様IEEE754という標準がある。
浮動小数点演算、と言ったときにそれは一概にIEEE754内部表現を用いた演算とはならない。
https://ja.wikipedia.org/wiki/任意精度演算 の方式の中にはIEEE754でない浮動小数点表現を取り扱ってるものだってあるだろう。
BCDで小数が扱えるライブラリだってそう言うのが多いと思うよ。
IEEE754の仕様の浮動小数点演算で十分な場合は、CPUに便利命令が用意されてて1桁ずつ計算とかしなくても
一発で計算が求まるからIEEE754の浮動小数点は使われている、というだけでしょ。
浮動小数点っていう大きい概念がどういったものかってのと、IEEE754はその概念を実現するための一例でしかないってのを、
Wikipediaなり読み込んで理解したほうが良いと思うよ。
ほんと、文字コードとUTF-8は同じものだ、って言ってるぐらいトンチンカンだから
823デフォルトの名無しさん
2019/10/04(金) 01:34:09.77ID:N11Kz3K2 >>813
セブンイレブンとか
セブンイレブンとか
824デフォルトの名無しさん
2019/10/04(金) 01:44:25.75ID:eSKeLXlH825デフォルトの名無しさん
2019/10/04(金) 03:06:51.70ID:gCVTKDJQ >>822
他のが無いというのではなく、実際に使われている多くはというのだよ
実際に使われているのはどれだけあるの?わざわざ使ってるのならそれは意味があるのだから、そうナニか書いてあってすぐにわかるだろうという。例えばbcのように
https://ja.wikipedia.org/wiki/IEEE_754
多くのプロセッサなどの〜 から書いてある通り。Javaがそうでないように書いてあるが、
https://www.ibm.com/developerworks/jp/java/library/j-jtp0114/index.html
同様に、java.math.BigDecimal が提供する任意精度の10進数もアプリケーションで使用されることは少ないため、開発者に無視されているケースがほとんどです
しかし整数を中心としたプログラムに、突如、整数以外の表現が出てくることがあります。たとえば、JDBCではSQLDECIMAL 列の優先変換形式としてBigDecimal が使用されます
なんてある意味それを表しすぎなくらい(まあ、ここは作る側ではなく使う側を言ってるけど)
CPUに便利命令ってFPUに対するのこと?一発で計算が決まるからという簡単だからとかじゃなくて、FPUがあるのはハードで支援用意しないとそもそも浮動小数点は重い演算だからなんだけど
>文字コードとUTF-8は同じものだ、って言ってるぐらい
いや、言ってないけど、なにか思い込みが激しいね。IEEEが利用されないのも普通という考え方もそうだが
他のが無いというのではなく、実際に使われている多くはというのだよ
実際に使われているのはどれだけあるの?わざわざ使ってるのならそれは意味があるのだから、そうナニか書いてあってすぐにわかるだろうという。例えばbcのように
https://ja.wikipedia.org/wiki/IEEE_754
多くのプロセッサなどの〜 から書いてある通り。Javaがそうでないように書いてあるが、
https://www.ibm.com/developerworks/jp/java/library/j-jtp0114/index.html
同様に、java.math.BigDecimal が提供する任意精度の10進数もアプリケーションで使用されることは少ないため、開発者に無視されているケースがほとんどです
しかし整数を中心としたプログラムに、突如、整数以外の表現が出てくることがあります。たとえば、JDBCではSQLDECIMAL 列の優先変換形式としてBigDecimal が使用されます
なんてある意味それを表しすぎなくらい(まあ、ここは作る側ではなく使う側を言ってるけど)
CPUに便利命令ってFPUに対するのこと?一発で計算が決まるからという簡単だからとかじゃなくて、FPUがあるのはハードで支援用意しないとそもそも浮動小数点は重い演算だからなんだけど
>文字コードとUTF-8は同じものだ、って言ってるぐらい
いや、言ってないけど、なにか思い込みが激しいね。IEEEが利用されないのも普通という考え方もそうだが
826デフォルトの名無しさん
2019/10/04(金) 03:13:49.05ID:gCVTKDJQ827デフォルトの名無しさん
2019/10/04(金) 04:25:45.39ID:jIZSSFYe もうさ、ハードで固定小数点数演算できるようにしたほうが良いんじゃね?
時代的にさ
時代的にさ
828デフォルトの名無しさん
2019/10/04(金) 05:02:19.85ID:Lr70dHDq BCDはCPUで支援してた(そういう命令があったが)ようだが、無くなったっぽいという
BCDは速度的に有利な側面があるからわざわざそれ専用に用意しなくてもで無くなったかもしれない
BCDは速度的に有利な側面があるからわざわざそれ専用に用意しなくてもで無くなったかもしれない
829デフォルトの名無しさん
2019/10/04(金) 07:56:41.21ID:sZOtDaP2 >>827
お前さんがこだわるほど他の人は必要だと思ってない。あったら便利なケースもあるかも知れんがコストなどに見合わないから誰もやらない。
お前さんがこだわるほど他の人は必要だと思ってない。あったら便利なケースもあるかも知れんがコストなどに見合わないから誰もやらない。
830デフォルトの名無しさん
2019/10/04(金) 08:55:49.66ID:UTOwlhyp 消費税の話もあるし、固定小数点は重要だよ
831デフォルトの名無しさん
2019/10/04(金) 11:44:19.51ID:VMw2vpri 固定小数点演算なんて整数演算と同等だからわざわざハードで実装しなくても問題ない
832デフォルトの名無しさん
2019/10/04(金) 14:32:11.23ID:hcjI0QEW >>818
そのままPerl覚えれば良い。
というのは、昔からあってあちこちで使われており、だいたいの Linux distribution はデフォルトでインストールされるような言語であるため。
インストールや環境整備で悩まなくて済む。後からモジュールを追加するとしても最初からrpmファイルがあったり、なくてもCPANを利用して簡単にインストールできる。
歴史が長く昔から使われて来たのでモジュールも沢山あり、またそれを解説しているサイトも多い。
そのままPerl覚えれば良い。
というのは、昔からあってあちこちで使われており、だいたいの Linux distribution はデフォルトでインストールされるような言語であるため。
インストールや環境整備で悩まなくて済む。後からモジュールを追加するとしても最初からrpmファイルがあったり、なくてもCPANを利用して簡単にインストールできる。
歴史が長く昔から使われて来たのでモジュールも沢山あり、またそれを解説しているサイトも多い。
833デフォルトの名無しさん
2019/10/04(金) 14:36:19.79ID:hcjI0QEW834デフォルトの名無しさん
2019/10/04(金) 14:37:02.99ID:5wfXTPgW alpine linuxでperllインストールされてないんだが?
835デフォルトの名無しさん
2019/10/04(金) 14:42:01.29ID:hcjI0QEW >>831
そうそう。整数計算後に割って桁合わせすれば良い。
そうそう。整数計算後に割って桁合わせすれば良い。
836デフォルトの名無しさん
2019/10/04(金) 14:42:43.80ID:hcjI0QEW >>834
そうか。まあそういうのもある。
そうか。まあそういうのもある。
837デフォルトの名無しさん
2019/10/04(金) 14:43:52.73ID:M3k51a5A 必要ならインストールすれば良いだけだ
838デフォルトの名無しさん
2019/10/04(金) 14:59:17.54ID:5wfXTPgW 余計なものに依存したくない
839デフォルトの名無しさん
2019/10/04(金) 17:13:04.07ID:/U6oHgYD そりゃお前の趣味だからな
perlを使いたいならインストールする
当たり前の話だよな
perlを使いたいならインストールする
当たり前の話だよな
840デフォルトの名無しさん
2019/10/04(金) 21:55:54.53ID:a0HWEhLa perlを使いたいわけじゃないからなぁ
841デフォルトの名無しさん
2019/10/04(金) 22:57:45.34ID:eSKeLXlH Perl, Python2・3 は最初から、入っているけど、
Ruby も、apt で、簡単にインストールできる
ただし、Ruby 2.3 〜 2.6 で、プログラマーが、新しめの書き方をしていた場合に、
古いバージョンで動かないことがあるかも
Ruby も、apt で、簡単にインストールできる
ただし、Ruby 2.3 〜 2.6 で、プログラマーが、新しめの書き方をしていた場合に、
古いバージョンで動かないことがあるかも
842デフォルトの名無しさん
2019/10/06(日) 09:16:44.91ID:XBuBF2Rc 全員がsudo権限あるわけじゃないしな・・・
843デフォルトの名無しさん
2019/10/06(日) 09:44:40.51ID:462kqzf/ perlなんて普通に入ってるからな
Solaris、AIX、HP-UX、FreeBSD、Ubuntu、Centos、Redhat、Fedora
俺が触ってきたシステムではデフォルトで入ってたな
入ってない方が少数派だろ
Solaris、AIX、HP-UX、FreeBSD、Ubuntu、Centos、Redhat、Fedora
俺が触ってきたシステムではデフォルトで入ってたな
入ってない方が少数派だろ
844デフォルトの名無しさん
2019/10/06(日) 11:20:12.25ID:NnE09bAt 少数派だが入ってない
845デフォルトの名無しさん
2019/10/06(日) 11:24:56.60ID:kChpVj98 所属する研究室のMFにも入ってねーな。
Bシェルとかは(もちろん)入ってるけど
そういう点で言えばPOSIX準拠のシェルがあるようなシステムにはPerlも入っていて
PerlもないようなシステムにはPOSIX準拠シェルもないのかも知れんw
Bシェルとかは(もちろん)入ってるけど
そういう点で言えばPOSIX準拠のシェルがあるようなシステムにはPerlも入っていて
PerlもないようなシステムにはPOSIX準拠シェルもないのかも知れんw
846デフォルトの名無しさん
2019/10/06(日) 12:03:22.79ID:NnE09bAt だからAlpine linuxにはPOSIX準拠のシェルは入っているが
Perlは入ってないんだって。
いい加減Perl依存やめようぜw
Perlは入ってないんだって。
いい加減Perl依存やめようぜw
847デフォルトの名無しさん
2019/10/06(日) 12:15:46.78ID:rthNV3zo 俺達もそろそろPOSIX汚染から脱却しようぜ
848デフォルトの名無しさん
2019/10/06(日) 12:17:46.00ID:NnE09bAt849デフォルトの名無しさん
2019/10/06(日) 12:21:19.21ID:rthNV3zo そもそも使ってないし
850デフォルトの名無しさん
2019/10/06(日) 12:28:35.75ID:NnE09bAt サーバー側で使われてる
851デフォルトの名無しさん
2019/10/06(日) 12:38:20.58ID:462kqzf/ 相変わらずPOSIX原理主義者が張り付いてるんだな
日本は信教の自由はあるが強要するのは犯罪だ
他人を巻き込まないで1人でやってろよ
日本は信教の自由はあるが強要するのは犯罪だ
他人を巻き込まないで1人でやってろよ
852デフォルトの名無しさん
2019/10/06(日) 12:54:03.04ID:NnE09bAt だからPOSIX原理主義じゃないってw
Alpineはbusybox使ってるからPOSIX未満なんだよ
Alpineはbusybox使ってるからPOSIX未満なんだよ
853デフォルトの名無しさん
2019/10/06(日) 13:05:31.69ID:462kqzf/ お前はperl使いたくないんだろ?
お前の自由だし好きにすればいい
それを他人に押し付けるなと言っている
俺は普通にperlを使う
俺の自由だし好きにする
以上
お前の自由だし好きにすればいい
それを他人に押し付けるなと言っている
俺は普通にperlを使う
俺の自由だし好きにする
以上
854デフォルトの名無しさん
2019/10/06(日) 13:12:15.17ID:rthNV3zo ∧∧ ミ _ ドスッ
( ,,)┌─┴┴─┐
/ つ. 終 了 │
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
( ,,)┌─┴┴─┐
/ つ. 終 了 │
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
855デフォルトの名無しさん
2019/10/06(日) 13:16:18.11ID:NnE09bAt 誰もPerl使うなって言ってないだろ。
Perlが入ってない環境があるという
事実を言ってるんだが
Perlが入ってない環境があるという
事実を言ってるんだが
856デフォルトの名無しさん
2019/10/06(日) 14:00:34.35ID:mC4FM69a >>845
そのミッドフィールダーってなに?
そのミッドフィールダーってなに?
857デフォルトの名無しさん
2019/10/06(日) 14:56:55.93ID:VRfDnOhz マネーフォワードだろ。
858デフォルトの名無しさん
2019/10/06(日) 17:41:58.00ID:3lXqNGxa 容量削減のためにPerlだけ抜くのも変だしそれ目的なら他のも入ってないのでは?
859デフォルトの名無しさん
2019/10/06(日) 21:01:12.68ID:TprJMO+0 まぁないものどうこう言っても始まらない
ただwin のiE6とかのようにubuntu以外は淘汰されていくだろうから
最終的には問題ないんじゃない?
ただwin のiE6とかのようにubuntu以外は淘汰されていくだろうから
最終的には問題ないんじゃない?
860デフォルトの名無しさん
2019/10/06(日) 21:15:53.96ID:/W6lnfS0 Linuxはdistributionごとに色々目的が違うからPerl入ってないのがあっても特に不思議はない。
AndroidのベースのLinuxにも入ってないし、普通はそこでは必要とされない。
AndroidのベースのLinuxにも入ってないし、普通はそこでは必要とされない。
861デフォルトの名無しさん
2019/10/06(日) 21:31:35.20ID:1e7RWsdc AndroidをLinuxとして使ってるのはどれだけいるのかと
862デフォルトの名無しさん
2019/10/06(日) 22:18:30.79ID:+aq+gJyQ それ向けの端末エミュレータとかシェルスクリプト編集実行とかは結構種類あるけどね
割合は少ないだろうね
割合は少ないだろうね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント [ひかり★]
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- アイヌ民族の「戸籍簿」がヤフオクで落札 団体「人権無視」と憤り [蚤の市★]
- 【S.RIDE】「忘年会の幹事ずるい」 ソニー系配車アプリの広告が物議…… 運営が謝罪「配慮に欠ける不適切な表現」掲出終了に [ぐれ★]
- 【維新→自民党・旧安倍派】元衆院議員の妻を逮捕、コロナ補助金5000万円詐取疑い 名古屋地検 [ぐれ★]
- スーパーで売ってる鍋出汁で最強なのって結局
- 【画像】東京都民「助けて!満員電車もう無理いいぃぃいいぃぃぃいいいいいぃ😭」!!!! [732289945]
- 【堂上隼人】ソフトバンク幹部「よし更生してる」→現在までに逮捕12回、レイプ被害者15人
- 【悲報】教育ママ「ギャオオオオオン!息子が大麻吸ってるのお!!」⇨中3の息子を警察に突き出し全てを終わらせる [455031798]
- 【誰食】おせち料理で確実にゴミ箱行きになる食材1位、「黒豆」 [748563222]
- ミラブルシャワーヘッド買ったった
