プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 60
https://mevius.2ch.net/test/read.cgi/tech/1493398918/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
Ruby 初心者スレッド Part 61 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/08/25(金) 15:59:11.22ID:HsL9LVKJ
582デフォルトの名無しさん
2017/10/31(火) 11:41:18.35ID:f3HKFkZK Rubyはクラス定義自体が動的で、それを悪用したメタプログラミング(笑)とかいうハックが横行しているから静的解析でなんとかするのは無理がある
Rails界隈も含めて現実的にまともに役立つものにするにはTypeScriptみたいな後付け方式しかないだろうけど、
「型書きたくないでござる」(笑)に真っ向から反するのであり得ないだろうね
Rails界隈も含めて現実的にまともに役立つものにするにはTypeScriptみたいな後付け方式しかないだろうけど、
「型書きたくないでござる」(笑)に真っ向から反するのであり得ないだろうね
583デフォルトの名無しさん
2017/10/31(火) 11:46:12.10ID:23Zr0FFS >>580
俺が言ってるわけじゃなくて、Ruby界隈の人が言ってるんだよ
君の文章も借りて平たく言うと
Rubyは実行速度が遅くて、静的型が無くて、並列実行が無くて
(何十年かは知らないが) 遅れてるから
Ruby3.0で上記3つをなんとかしたい
って事でしょ
いや実際問題ないんだったら、Ruby3.0の目玉になんかするかね
俺が言ってるわけじゃなくて、Ruby界隈の人が言ってるんだよ
君の文章も借りて平たく言うと
Rubyは実行速度が遅くて、静的型が無くて、並列実行が無くて
(何十年かは知らないが) 遅れてるから
Ruby3.0で上記3つをなんとかしたい
って事でしょ
いや実際問題ないんだったら、Ruby3.0の目玉になんかするかね
584デフォルトの名無しさん
2017/10/31(火) 12:02:14.47ID:qfHwvl41 Javascriptみたいに
strictって文頭につければ厳しくチェックできるように
typeって文頭につければ型をつけれるようにとか出来ればいいな
strictって文頭につければ厳しくチェックできるように
typeって文頭につければ型をつけれるようにとか出来ればいいな
585デフォルトの名無しさん
2017/10/31(火) 12:37:58.97ID:f3HKFkZK >>584
付けるならソースファイルじゃなくてクラスに対してだと思う
Rubyの場合、型付けをどうするかよりも、そもそも型というものをどう定義するかが問題
Rubyのクラス定義ってクラスの静的な構造を表してるんじゃなくて、メモリ上にクラスを定義する手続きなんだよ
実行してみないとどんなクラスになるかが分かんないの
付けるならソースファイルじゃなくてクラスに対してだと思う
Rubyの場合、型付けをどうするかよりも、そもそも型というものをどう定義するかが問題
Rubyのクラス定義ってクラスの静的な構造を表してるんじゃなくて、メモリ上にクラスを定義する手続きなんだよ
実行してみないとどんなクラスになるかが分かんないの
586デフォルトの名無しさん
2017/10/31(火) 15:23:54.17ID:CDGz4c1c ここは初心者スレなので初心者に役立つ会話をしようね
リアルで話し相手がいないレス乞食が常駐してるとうざいよ
リアルで話し相手がいないレス乞食が常駐してるとうざいよ
587デフォルトの名無しさん
2017/10/31(火) 18:39:39.63ID:HaPb6HyZ Rubyのバージョンを上げるんじゃなくて、別の言語をまた作るべきだな
何か言語を使っていると、こうだったらもっと楽なのにというネタがいろいろ溜まってきて、
それを解決した言語が現れる
それを使っているとまたネタが溜まってくる、というサイクルで進化していくもので、
それはバージョンアップで対応できるような内容ではないのが普通
何か言語を使っていると、こうだったらもっと楽なのにというネタがいろいろ溜まってきて、
それを解決した言語が現れる
それを使っているとまたネタが溜まってくる、というサイクルで進化していくもので、
それはバージョンアップで対応できるような内容ではないのが普通
588デフォルトの名無しさん
2017/10/31(火) 21:16:56.30ID:23Zr0FFS まぁはっきり言ってそれは無理だね
言語のシェアみりゃ分かるが、昔からある言語が未だに強い
その言語を使うしかない(他にない)、ってぐらい追い込まないと
新規の言語が広まるのは無理(Swiftとか)
特にRubyの場合は今の一般的な常識でまともな言語に作り直したら
C#やJavaとそう変わりない物が出来上がるだけで、だったらC#やJava使えば?ってなる
これはちょうど、新たに希望の党を作って民進党のリベラルを排除して
自民党と何が違うのかよくわからなくなって、だったら実績のある自民党で良いじゃん、な
希望の党みたいなもの
逆に今のRubyをどんどん改良していけばよいかと言われると、これも民進党と同じでジリ貧
C#みたいに互換性を維持しつつ新しい機能を取り入れまくって進化している言語もあるが
Rubyがそうなれなかったのは、最初の一歩が既におかしかったから
今頃、静的型がどうのこうの言ってるのは最初に犯した過ちを今まで引きづってて
2020年のオリンピックまでにはRuby3.0で云々言ってるわけだが
逆に間違えたからこそ、一部の狂信者に支持されてここまで来たわけで
マトモにしたらJava、C#、C++などのメジャー言語とガチンコになるし、狂信者も付かない
押すも引くも、結局どうにもならんということ
言語のシェアみりゃ分かるが、昔からある言語が未だに強い
その言語を使うしかない(他にない)、ってぐらい追い込まないと
新規の言語が広まるのは無理(Swiftとか)
特にRubyの場合は今の一般的な常識でまともな言語に作り直したら
C#やJavaとそう変わりない物が出来上がるだけで、だったらC#やJava使えば?ってなる
これはちょうど、新たに希望の党を作って民進党のリベラルを排除して
自民党と何が違うのかよくわからなくなって、だったら実績のある自民党で良いじゃん、な
希望の党みたいなもの
逆に今のRubyをどんどん改良していけばよいかと言われると、これも民進党と同じでジリ貧
C#みたいに互換性を維持しつつ新しい機能を取り入れまくって進化している言語もあるが
Rubyがそうなれなかったのは、最初の一歩が既におかしかったから
今頃、静的型がどうのこうの言ってるのは最初に犯した過ちを今まで引きづってて
2020年のオリンピックまでにはRuby3.0で云々言ってるわけだが
逆に間違えたからこそ、一部の狂信者に支持されてここまで来たわけで
マトモにしたらJava、C#、C++などのメジャー言語とガチンコになるし、狂信者も付かない
押すも引くも、結局どうにもならんということ
589デフォルトの名無しさん
2017/10/31(火) 21:36:49.59ID:7Ixc7xPG もちろん新規言語がそう簡単に広まるわけないが
Rubyが登場したときにも昔の言語はあったわけで
自由に選択できても広まったし
今でも囲い込みされてるSwiftより
言語ランキングで上位だったりする
政治の比喩を持ち出して印象操作してるけど
ScalaとかGoとか新言語どんどん出てきて
JavaやC#ほどじゃないけどそれなりに使われてるから
むしろ昔より新言語が使われてる位だと思う
Rubyが登場したときにも昔の言語はあったわけで
自由に選択できても広まったし
今でも囲い込みされてるSwiftより
言語ランキングで上位だったりする
政治の比喩を持ち出して印象操作してるけど
ScalaとかGoとか新言語どんどん出てきて
JavaやC#ほどじゃないけどそれなりに使われてるから
むしろ昔より新言語が使われてる位だと思う
590デフォルトの名無しさん
2017/10/31(火) 21:41:41.86ID:kBfCDZdZ LLスレから追い出された連中が相手してもらえると思って来てるからな
彼らは別にRubyを使えるわけじゃないから厄介だ
彼らは別にRubyを使えるわけじゃないから厄介だ
591デフォルトの名無しさん
2017/10/31(火) 21:49:47.48ID:23Zr0FFS >自由に選択できても広まったし
>今でも囲い込みされてるSwiftより
>言語ランキングで上位だったりする
どうでもよいことだが、それは昔からある言語の方が
新規の言語より強いという裏付けにしかなってないのでは?
新たに言語を作れば今のRubyのポジションは捨てて0からなわけで
今の時代に何の後ろ盾もない状態で新たに言語作ったって
>今でも囲い込みされてるSwiftより
>言語ランキングで上位だったりする
どうでもよいことだが、それは昔からある言語の方が
新規の言語より強いという裏付けにしかなってないのでは?
新たに言語を作れば今のRubyのポジションは捨てて0からなわけで
今の時代に何の後ろ盾もない状態で新たに言語作ったって
592デフォルトの名無しさん
2017/10/31(火) 22:02:16.15ID:HaPb6HyZ どんな時代なんだ?
593デフォルトの名無しさん
2017/10/31(火) 22:04:27.90ID:7Ixc7xPG >>591
>昔からある言語の方が
>新規の言語より強いという
>裏付けにしかなってないのでは?
「昔からある言語」も昔は
「新規の言語」だったんだよ
もし常に昔の言語の方が強かったら
永久に世代交代しないで
FortranとかLispがずっと主流になってるはずだろ?
>昔からある言語の方が
>新規の言語より強いという
>裏付けにしかなってないのでは?
「昔からある言語」も昔は
「新規の言語」だったんだよ
もし常に昔の言語の方が強かったら
永久に世代交代しないで
FortranとかLispがずっと主流になってるはずだろ?
594デフォルトの名無しさん
2017/10/31(火) 22:23:05.12ID:23Zr0FFS 時代背景を全く考慮しなければそうなるね
595デフォルトの名無しさん
2017/10/31(火) 22:39:42.30ID:HaPb6HyZ だから、かつては受け入れられた新しい言語が今は受け入れられない時代背景を説明しろ
596デフォルトの名無しさん
2017/10/31(火) 22:55:05.06ID:kGPpeMmk597デフォルトの名無しさん
2017/11/01(水) 01:37:44.29ID:nt6bNFBd やっほー
discordrbについて聞きたいんだけどこのスレでいいんかな
discordrbについて聞きたいんだけどこのスレでいいんかな
598デフォルトの名無しさん
2017/11/01(水) 02:02:23.05ID:kQ1wt9JW599デフォルトの名無しさん
2017/11/01(水) 02:19:40.62ID:Z130aY0S >>596
それは今の主流言語がさらに進化するだけ
いくつが理由がありそうだけど、みんなそんなに言語に飢えてないし
(おおむね満足している、というか供給過多)
光るアイデアを持った新たな言語が生まれても
メジャー言語がパクれば終わりだし、皆がそれを望んでる
何か光るものを見出しても
それだけでその言語を使おうということにはならない
仮に新しい言語を作るにも、今時は求められるものが高すぎるので
個人では手に負えないし、そもそも個人で作った言語など
昔から存在していて実績があるとかでもない限り、誰も使わん
他、既存の言語の資産が、C言語が登場した当時と比べて
というか比べられないほど凄いことになってる
世界中のプログラマがひたすら書きまくったから
一例としてLinuxのカーネルのソースコードの行数の推移
1991年 0.01 約 10,000 ユーザー数1人(開発者)
1992年 0.96 約 40,000
1994年3月14日 1.0.0 176,250
1995年3月 1.2.0 310,950
1996年6月9日 2.0.0 N/A
1997年 2.1.0 約 800,000
1999年1月25日 2.2.0 1,800,847
2001年1月4日 2.4.0 3,377,902
2003年12月17日 2.6.0 5,929,913
2008年 2.6.x 約 10,000,000
2011年7月21日 3.0 14,646,952
2012年1月 3.x 約 15,000,000
2015年8月 4.2 約 20,000,000
それは今の主流言語がさらに進化するだけ
いくつが理由がありそうだけど、みんなそんなに言語に飢えてないし
(おおむね満足している、というか供給過多)
光るアイデアを持った新たな言語が生まれても
メジャー言語がパクれば終わりだし、皆がそれを望んでる
何か光るものを見出しても
それだけでその言語を使おうということにはならない
仮に新しい言語を作るにも、今時は求められるものが高すぎるので
個人では手に負えないし、そもそも個人で作った言語など
昔から存在していて実績があるとかでもない限り、誰も使わん
他、既存の言語の資産が、C言語が登場した当時と比べて
というか比べられないほど凄いことになってる
世界中のプログラマがひたすら書きまくったから
一例としてLinuxのカーネルのソースコードの行数の推移
1991年 0.01 約 10,000 ユーザー数1人(開発者)
1992年 0.96 約 40,000
1994年3月14日 1.0.0 176,250
1995年3月 1.2.0 310,950
1996年6月9日 2.0.0 N/A
1997年 2.1.0 約 800,000
1999年1月25日 2.2.0 1,800,847
2001年1月4日 2.4.0 3,377,902
2003年12月17日 2.6.0 5,929,913
2008年 2.6.x 約 10,000,000
2011年7月21日 3.0 14,646,952
2012年1月 3.x 約 15,000,000
2015年8月 4.2 約 20,000,000
600デフォルトの名無しさん
2017/11/01(水) 02:42:46.97ID:Z130aY0S 建築がどうのこうの言ったって建築に互換性は関係ないしな
セキスイだろうがダイワだろうが、基本的にどうでもよい
車もそうだし、というか、ほとんどの物は自由競争の名のもとに
メーカー間の互換性を気にしなくてもよいようになってるんだが
(ハードウェア業界はわりと規格をきっちりやる)
ソフトウェアだけは互換性の壁が異常
この辺、なにか
フォトショップのデータを山のように持ってればフォトショップを使い続けるしかないし
MSOfficeのデータを山のように持ってればMSOfficeを使い続けるしかない
値段は大手企業の良心にかかってるというか、不当に値段を吊り上げられても、割と買うしかない
パチもんもあるけど、互換性が完璧ではないしな
まさかRubyでPythonのコードが走るわけないし
セキスイだろうがダイワだろうが、基本的にどうでもよい
車もそうだし、というか、ほとんどの物は自由競争の名のもとに
メーカー間の互換性を気にしなくてもよいようになってるんだが
(ハードウェア業界はわりと規格をきっちりやる)
ソフトウェアだけは互換性の壁が異常
この辺、なにか
フォトショップのデータを山のように持ってればフォトショップを使い続けるしかないし
MSOfficeのデータを山のように持ってればMSOfficeを使い続けるしかない
値段は大手企業の良心にかかってるというか、不当に値段を吊り上げられても、割と買うしかない
パチもんもあるけど、互換性が完璧ではないしな
まさかRubyでPythonのコードが走るわけないし
601デフォルトの名無しさん
2017/11/01(水) 07:50:12.58ID:uQFQAfJE 説得力が全くない
602デフォルトの名無しさん
2017/11/01(水) 17:44:59.02ID:gYykKPjL 3DCG目的で、答えが同じになる浮動小数点を含んだ別々の計算で、
結果にズレのない同じ数値になるようにするにはどうしたらいいの?
結果にズレのない同じ数値になるようにするにはどうしたらいいの?
603デフォルトの名無しさん
2017/11/01(水) 17:46:43.92ID:K6DgRYf4 >別々の計算
式が違うって意味なら結果が変わっても仕方ない
何桁まで使うかを自分で決める
式が違うって意味なら結果が変わっても仕方ない
何桁まで使うかを自分で決める
604デフォルトの名無しさん
2017/11/01(水) 17:48:34.39ID:K6DgRYf4 あと
>浮動小数点を含んだ
ここもちょっとあいまいだな
BCDとかを除外するのか使ってもいいのか
いまいちどっちともとれなくもないこともない
>浮動小数点を含んだ
ここもちょっとあいまいだな
BCDとかを除外するのか使ってもいいのか
いまいちどっちともとれなくもないこともない
605デフォルトの名無しさん
2017/11/01(水) 19:13:42.89ID:kQ1wt9JW >>602
浮動小数点数の計算誤差なんて、値と式によっていくらでも蓄積されるから、割り切りが必要だぞ
極端な例をCで言うけど、floatの精度で一致させるつもりでdoubleを使っても一致しないことも出てくる
rubyだと標準ライブラリに含まれるbigdecimalライブラリがあるけど、
これも無理数だと計算誤差が出てくるわけだし
https://docs.ruby-lang.org/ja/latest/library/bigdecimal.html
浮動小数点数の計算誤差なんて、値と式によっていくらでも蓄積されるから、割り切りが必要だぞ
極端な例をCで言うけど、floatの精度で一致させるつもりでdoubleを使っても一致しないことも出てくる
rubyだと標準ライブラリに含まれるbigdecimalライブラリがあるけど、
これも無理数だと計算誤差が出てくるわけだし
https://docs.ruby-lang.org/ja/latest/library/bigdecimal.html
606デフォルトの名無しさん
2017/11/01(水) 20:07:42.50ID:uQFQAfJE Rationalクラスなら誤差出ない
607デフォルトの名無しさん
2017/11/01(水) 20:47:39.78ID:kQ1wt9JW608デフォルトの名無しさん
2017/11/01(水) 20:53:14.66ID:uQFQAfJE マクローリン展開で
609デフォルトの名無しさん
2017/11/01(水) 21:13:10.79ID:mbpKs61j マクローリン展開でどうやって誤差なしで計算するのw
610デフォルトの名無しさん
2017/11/01(水) 21:16:19.51ID:uQFQAfJE 真の値である必要は無い
二通りの計算が同じになって欲しいんでしょ
どんなコンピュータ持ってきても円の面積すら誤差なしで計算できないぞ
二通りの計算が同じになって欲しいんでしょ
どんなコンピュータ持ってきても円の面積すら誤差なしで計算できないぞ
611デフォルトの名無しさん
2017/11/01(水) 23:37:46.94ID:Oby+I+5u 宇宙船でも、円周率の誤差のせいで、目的地にたどりつけないから、double 型を使ってる
float だと精度が足りないから
float だと精度が足りないから
612デフォルトの名無しさん
2017/11/02(木) 00:32:00.52ID:iVcltcyL >>610
次の命題Pが真であるといっているんだよね?
命題P
任意のマクローリン展開可能な関数f:R -> Rに対して
適当な次元で切り上げたものをgとすると、
任意のr, r' ∈ Q に対して
g(r) = g(r') => f(r) = f(r')
しかしr'の任意の近傍Dに対して
g(r) = g(r') => f(r) = f(r') (r ∈ D)
は、自明なfを除き明らかに成り立たない。
よってその論理はおかしいよ。
次の命題Pが真であるといっているんだよね?
命題P
任意のマクローリン展開可能な関数f:R -> Rに対して
適当な次元で切り上げたものをgとすると、
任意のr, r' ∈ Q に対して
g(r) = g(r') => f(r) = f(r')
しかしr'の任意の近傍Dに対して
g(r) = g(r') => f(r) = f(r') (r ∈ D)
は、自明なfを除き明らかに成り立たない。
よってその論理はおかしいよ。
613デフォルトの名無しさん
2017/11/02(木) 00:50:02.65ID:c5hpxlFZ614デフォルトの名無しさん
2017/11/02(木) 04:58:30.09ID:S5CQdMtg 誤差のあるPC1
誤差のあるPC2
PC1とPC2で同じ結果になったら合格です!!!
誤差のあるPC2
PC1とPC2で同じ結果になったら合格です!!!
615デフォルトの名無しさん
2017/11/02(木) 06:00:37.83ID:RnqR+Yur 10.0 , 10.0 , 0.0 の座標にある頂点に、
Z軸を軸とした45度の回転を正負どちらの方向に加えても、きっちりX軸やY軸にのってくれなくて、
頂点が同じ座標に重なるはずの別々のポリゴンの計算でも、ずれる可能性がある
これってライブラリ使うだけで解決できそう?
それともライブラリ+αで自分で何か実装しないといけないの?
Z軸を軸とした45度の回転を正負どちらの方向に加えても、きっちりX軸やY軸にのってくれなくて、
頂点が同じ座標に重なるはずの別々のポリゴンの計算でも、ずれる可能性がある
これってライブラリ使うだけで解決できそう?
それともライブラリ+αで自分で何か実装しないといけないの?
616デフォルトの名無しさん
2017/11/02(木) 07:10:11.88ID:nD35tXd7617デフォルトの名無しさん
2017/11/02(木) 07:34:22.72ID:0ATVgqBG >>615
浮動小数点計算の同値判定は差の絶対値が微小値未満かどうかでやれ、というのが
よく言われることかな
もちろん計算誤差の蓄積の問題もあるけどこれ以上は計算機科学でも勉強しないと
いけないかもしれない
というか浮動小数点の話はスレ違いかと
浮動小数点計算の同値判定は差の絶対値が微小値未満かどうかでやれ、というのが
よく言われることかな
もちろん計算誤差の蓄積の問題もあるけどこれ以上は計算機科学でも勉強しないと
いけないかもしれない
というか浮動小数点の話はスレ違いかと
618デフォルトの名無しさん
2017/11/02(木) 07:50:56.95ID:vQ98pS2c Ruby遅い
↓
速いと言われるPythonやLuaに手を出す
↓
言われるほど速くならない
↓
Ruby(+ネイティブコードの拡張ライブラリ)に戻ってくる ←イマココ
↓
速いと言われるPythonやLuaに手を出す
↓
言われるほど速くならない
↓
Ruby(+ネイティブコードの拡張ライブラリ)に戻ってくる ←イマココ
619デフォルトの名無しさん
2017/11/02(木) 09:47:21.54ID:XIufFp9a なんでPython?
いまならGoだろ
いまならGoだろ
620デフォルトの名無しさん
2017/11/02(木) 10:19:56.68ID:iVcltcyL >>616
だからそれじゃ意味ないでしょ
結局それはsinの引数xが等しいかを比較してるのと殆ど同じなんだよ
x' = x + ε (|ε| << |x|) の時、その方法では正しく比較できないことは自明だし
更にsin(π/3) と sin(2π/3) などの比較も同様
だからそれじゃ意味ないでしょ
結局それはsinの引数xが等しいかを比較してるのと殆ど同じなんだよ
x' = x + ε (|ε| << |x|) の時、その方法では正しく比較できないことは自明だし
更にsin(π/3) と sin(2π/3) などの比較も同様
621デフォルトの名無しさん
2017/11/02(木) 19:25:21.94ID:vQ98pS2c 唐突にコンパイラ言語が出てくるのはなぜなのか
622デフォルトの名無しさん
2017/11/02(木) 20:37:04.48ID:rd1E1A0+ まあ速度でRubyからPythonに変えようとするのは無知としか言いようがない
623デフォルトの名無しさん
2017/11/03(金) 01:16:26.72ID:zxns9zZh >>602
rational使え。
rational使え。
624デフォルトの名無しさん
2017/11/03(金) 01:22:01.48ID:GsNSAeOV >>速いと言われるPythonやLuaに手を出す
↓
なんでPython?
いまならGoだろ
↓
>>唐突にコンパイラ言語が出てくるのはなぜなのか
速さを求めているのに、
逆にコンパイラ言語と突っ込むほうが なぜなのか? だわ
Pythonに手を出すほうもほうだけどな
↓
なんでPython?
いまならGoだろ
↓
>>唐突にコンパイラ言語が出てくるのはなぜなのか
速さを求めているのに、
逆にコンパイラ言語と突っ込むほうが なぜなのか? だわ
Pythonに手を出すほうもほうだけどな
625デフォルトの名無しさん
2017/11/03(金) 01:47:41.25ID:Xm/a3Zyv 浮動小数の話は、他のスレで聞くか、検索して
誤差があるから、同値比較はできないので、
自分で誤差を決めて、範囲内かどうかをチェックする
値 - 誤差 < 値 < 値 + 誤差
誤差があるから、同値比較はできないので、
自分で誤差を決めて、範囲内かどうかをチェックする
値 - 誤差 < 値 < 値 + 誤差
626デフォルトの名無しさん
2017/11/03(金) 06:47:30.50ID:q7n+YR5K それはもう工夫とかじゃなくて、
プログラムを作る時の当たり前の話だな
どんな言語でもそう
いるんだよ
ループ変数に平気で実数使うのが
プログラムを作る時の当たり前の話だな
どんな言語でもそう
いるんだよ
ループ変数に平気で実数使うのが
627デフォルトの名無しさん
2017/11/03(金) 06:57:52.19ID:Xm/a3Zyv 浮動小数点は、情報処理試験の基本。
プログラミング以前の問題
float に、ずっと、1を足していくと、どうなるでしょう? とか
プログラミング以前の問題
float に、ずっと、1を足していくと、どうなるでしょう? とか
628デフォルトの名無しさん
2017/11/03(金) 08:32:22.48ID:+RrAZtoT Rubyにおいての浮動小数点のライブラリの話とかはこのスレの範疇だからどんどん質問していいぞ
スレ違いとか言ってるのは、ただのスレ進行の妨害したい奴だから無視していい
以前もこのスレには自演で荒らそうとする奴が出没してるんだ
スレ違いとか言ってるのは、ただのスレ進行の妨害したい奴だから無視していい
以前もこのスレには自演で荒らそうとする奴が出没してるんだ
629デフォルトの名無しさん
2017/11/03(金) 10:51:06.92ID:11xKh3l5 Rubyに関する話なんてほとんど出てないだろこのスレ
どこに目をつけてるんだ
どこに目をつけてるんだ
630デフォルトの名無しさん
2017/11/03(金) 11:09:16.39ID:BJmK7MtV 落ち目だから目移りするのは仕方ない
いくらRubyが好きでも、今の状況でRubyしか見てないとしたらむしろエンジニアとしての資質に欠ける
いくらRubyが好きでも、今の状況でRubyしか見てないとしたらむしろエンジニアとしての資質に欠ける
631デフォルトの名無しさん
2017/11/03(金) 12:30:06.18ID:yrerCLlf まだいるのかコイツ
自演してる暇あったらくたばれ屑
自演してる暇あったらくたばれ屑
632デフォルトの名無しさん
2017/11/03(金) 19:33:46.87ID:GjY9johE633デフォルトの名無しさん
2017/11/03(金) 19:55:07.78ID:9CXEo34m JavaScriptの方がよっぽど嫌なんだが
罠みたいな奇妙な仕様が多いし
罠みたいな奇妙な仕様が多いし
634デフォルトの名無しさん
2017/11/03(金) 20:06:52.11ID:r8BoLq9w635デフォルトの名無しさん
2017/11/03(金) 20:08:31.78ID:9CXEo34m636デフォルトの名無しさん
2017/11/03(金) 20:14:54.76ID:r8BoLq9w Rubyは0が真という罠がある
637デフォルトの名無しさん
2017/11/03(金) 20:15:29.96ID:r8BoLq9w638デフォルトの名無しさん
2017/11/03(金) 20:26:11.63ID:CfVklZAP639デフォルトの名無しさん
2017/11/03(金) 20:35:25.56ID:9CXEo34m 求める答えが0の場合ってけっこうあるし
1,0を真偽に使う言語仕様だと
数値化されてグダグダになることがよくあるから
0とfalse,nilを分けるRubyの方がスッキリしてて良い
1,0を真偽に使う言語仕様だと
数値化されてグダグダになることがよくあるから
0とfalse,nilを分けるRubyの方がスッキリしてて良い
640デフォルトの名無しさん
2017/11/03(金) 20:41:44.90ID:r8BoLq9w 言い訳www
641デフォルトの名無しさん
2017/11/03(金) 20:53:45.43ID:hlowM2W8 >>637
随分古い資料だね
随分古い資料だね
642デフォルトの名無しさん
2017/11/03(金) 20:56:32.85ID:JBf6zZHQ javascriptはTypeScriptに救われたが、rubyは誰が救ってくれるのか
643デフォルトの名無しさん
2017/11/03(金) 21:20:51.03ID:q7n+YR5K 数字の0とか文字列の""は、大抵はfalseになってくれた方がシンプルに書ける
でも、たまーに落とし穴にはまる
perl だと "0" という名前のファイルだけ処理できなかったりしてた
そういう痛い経験があるから、敢えてなんだろうな
でも、たまーに落とし穴にはまる
perl だと "0" という名前のファイルだけ処理できなかったりしてた
そういう痛い経験があるから、敢えてなんだろうな
644デフォルトの名無しさん
2017/11/04(土) 00:39:28.17ID:FdHKGPou JavaScript では、偽が何種類もあるから、
!!変数
みたいに変数を否定して、ブール値に直してから、
さらに否定するなど、大変
!!変数
みたいに変数を否定して、ブール値に直してから、
さらに否定するなど、大変
645デフォルトの名無しさん
2017/11/04(土) 00:42:39.26ID:hKqH3C3y 0という1文字だけが書かれたファイルはPerlが誤作動するというのは大昔からの定番ネタだからな
646デフォルトの名無しさん
2017/11/04(土) 02:36:36.21ID:57ycABKa TypeScriptの何がいいのかさっぱりわからん
CoffeeScriptと何が違うのか?
CoffeeScriptと何が違うのか?
647デフォルトの名無しさん
2017/11/04(土) 02:42:32.09ID:die+TITB 型
648デフォルトの名無しさん
2017/11/04(土) 04:04:59.69ID:mUpZK5PE 開発力
CoffeeScriptは所詮個人のプロジェクト
一人がやめたら頓挫するレベル
CoffeeScriptは所詮個人のプロジェクト
一人がやめたら頓挫するレベル
649デフォルトの名無しさん
2017/11/04(土) 06:31:30.70ID:juOwH5Ai Rails使いは宗教上の理由で絶対にTypeScriptに手を出せないのが悲しいよね
バックエンドよりフロントエンドのほうが厳格な言語で書かれてるとかさすがにキチガイ
バックエンドよりフロントエンドのほうが厳格な言語で書かれてるとかさすがにキチガイ
650デフォルトの名無しさん
2017/11/04(土) 09:11:23.50ID:D9DL6WlM >>638,649
分かれてはいるけど、肝心のifではnilは偽と同じ扱いになる。
はじめから、boolしか受け付けない、であれば0が真とか悩む必要なかった。
一見よく考えられているようで、実は大失敗だったと。
分かれてはいるけど、肝心のifではnilは偽と同じ扱いになる。
はじめから、boolしか受け付けない、であれば0が真とか悩む必要なかった。
一見よく考えられているようで、実は大失敗だったと。
651デフォルトの名無しさん
2017/11/04(土) 09:22:28.68ID:v7stxdd6652デフォルトの名無しさん
2017/11/04(土) 09:48:16.91ID:xcEGHyeH >>646
コード補完やリファクタリング
騙されたと思ってVSCodeでTypeScript書いてみたらいい
なぜ手間をかけてでも型を書くのか理解できる
型書きたくないでござるを否定するわけじゃないが、
ちゃんと両方の短所長所を理解した上でどちらが優れているか自分の頭で判断することが大切
それを放棄して一方の信者の言うことを鵜呑みにするのはそれこそ宗教だ
コード補完やリファクタリング
騙されたと思ってVSCodeでTypeScript書いてみたらいい
なぜ手間をかけてでも型を書くのか理解できる
型書きたくないでござるを否定するわけじゃないが、
ちゃんと両方の短所長所を理解した上でどちらが優れているか自分の頭で判断することが大切
それを放棄して一方の信者の言うことを鵜呑みにするのはそれこそ宗教だ
653デフォルトの名無しさん
2017/11/04(土) 11:32:17.49ID:llWWFdXR 「とにかく楽をして速く書きたい」
というのと、
「売り物なんだから万に一つの間違いも無いようにガチガチに作りたい」
という、二つの相反するパラダイムがあって、
それを同じ言語に負わせるのは無理がある
awkとかperlとかrubyとかは前者を志向してるので、
それに逆らった使い方をして使いにくいとごねられても困る
というのと、
「売り物なんだから万に一つの間違いも無いようにガチガチに作りたい」
という、二つの相反するパラダイムがあって、
それを同じ言語に負わせるのは無理がある
awkとかperlとかrubyとかは前者を志向してるので、
それに逆らった使い方をして使いにくいとごねられても困る
654デフォルトの名無しさん
2017/11/04(土) 11:57:41.85ID:/qI+U4k3 >>653
前者は「好きなエディタで」または「書捨ての単純なものを」が抜けてる
メンバ補完がバリバリ効く環境ならAPIリファレンスを見る時間が節約できて、ある程度まとまった規模なら型を書く手間は余裕でペイする
Matzクラスになると慣れたEmacs以外のエディタを使うコストが大きいからまた違うんだろうけど
前者は「好きなエディタで」または「書捨ての単純なものを」が抜けてる
メンバ補完がバリバリ効く環境ならAPIリファレンスを見る時間が節約できて、ある程度まとまった規模なら型を書く手間は余裕でペイする
Matzクラスになると慣れたEmacs以外のエディタを使うコストが大きいからまた違うんだろうけど
655デフォルトの名無しさん
2017/11/04(土) 12:05:39.20ID:NciV8/1n 型推論でvarで済むようになると、型を書く煩わしさがほとんど無くなって
さらに一般的に使われるエディタがIDE化した現在では
型があるメリットのほうが遥かに大きい
しかし動的言語に直接型を導入するのは無理があるので
TypeScriptみたいなのが最良の方式になるわけだが、
あんな完成度の高いものを作るのはもっと無理な話だろうな
さらに一般的に使われるエディタがIDE化した現在では
型があるメリットのほうが遥かに大きい
しかし動的言語に直接型を導入するのは無理があるので
TypeScriptみたいなのが最良の方式になるわけだが、
あんな完成度の高いものを作るのはもっと無理な話だろうな
656デフォルトの名無しさん
2017/11/04(土) 12:06:26.13ID:mUpZK5PE >>653
そんなに速く書きたいのかな?
それよりも速く読めるほうが重要じゃね?
型を書くのは面倒だけど、読む方は型が書いてあるから
コードの理解が速くなる。
書くのはタイピング速度を上げればいいだけの話だし
そんなに速く書きたいのかな?
それよりも速く読めるほうが重要じゃね?
型を書くのは面倒だけど、読む方は型が書いてあるから
コードの理解が速くなる。
書くのはタイピング速度を上げればいいだけの話だし
657デフォルトの名無しさん
2017/11/04(土) 12:23:37.40ID:gvMVqdNY バックエンドで安全性最優先ならコンパイラ言語だがRustじゃね。まだ発展途上だが
658デフォルトの名無しさん
2017/11/04(土) 13:33:25.21ID:afxny8Pa このスレ見てたらruby嫌いになるわ
割とマジで
割とマジで
659デフォルトの名無しさん
2017/11/04(土) 13:58:55.15ID:xcEGHyeH 斜陽なのは事実だから仕方ないね
全盛期に粗製乱造されたRailsアプリが負債化して、品質も大事だという方へ揺り戻しが来てるのが今
全盛期に粗製乱造されたRailsアプリが負債化して、品質も大事だという方へ揺り戻しが来てるのが今
660デフォルトの名無しさん
2017/11/04(土) 14:32:18.79ID:afxny8Pa リプレイス案件で次は別の言語使いましょうですね判ります
661デフォルトの名無しさん
2017/11/04(土) 14:46:58.00ID:57ycABKa 早くシンプルに作る時代から
安定して長期的な傾向になったんだから
時代に合わなくなってきているのは分かる。
でもスタートアップとかにならまだまだ現役
安定して長期的な傾向になったんだから
時代に合わなくなってきているのは分かる。
でもスタートアップとかにならまだまだ現役
662デフォルトの名無しさん
2017/11/04(土) 14:49:21.40ID:gvMVqdNY 日本って本来の意味のシステムエンジニアリングは壊滅的にダメだからなぁ
品質を管理できる体制作りとか絶望的に期待できない。ガバガバ管理でゴミが
乱造されても現場に押しつけて終わりだし
品質を管理できる体制作りとか絶望的に期待できない。ガバガバ管理でゴミが
乱造されても現場に押しつけて終わりだし
663デフォルトの名無しさん
2017/11/04(土) 15:08:41.19ID:mUpZK5PE RubyやRailsや最先端だと誤解されていた時期もあったけど
実は全てJavaが十数年前に通った道・・・のすぐとなりの
けもの道を歩いているに過ぎない
実は全てJavaが十数年前に通った道・・・のすぐとなりの
けもの道を歩いているに過ぎない
664デフォルトの名無しさん
2017/11/04(土) 15:25:41.52ID:llWWFdXR JavaもRubyも出来たのは同じ頃
665デフォルトの名無しさん
2017/11/04(土) 15:41:04.71ID:mUpZK5PE666デフォルトの名無しさん
2017/11/04(土) 16:18:08.99ID:zO59KQfY Javaが「先」だと?w
667デフォルトの名無しさん
2017/11/04(土) 16:21:05.85ID:e6S1BAQ6 小型船の製造を得意としていたルビー造船所だったが、
大型船の製造を頼まれてこなし、持て囃されてしまったのがケチの付き始め。
挙句の果に「ルビー造船所は豪華客船を作るのに向いてない!」
と言いだすお馬鹿さんまで出てきてしまった。
大型船の製造を頼まれてこなし、持て囃されてしまったのがケチの付き始め。
挙句の果に「ルビー造船所は豪華客船を作るのに向いてない!」
と言いだすお馬鹿さんまで出てきてしまった。
668デフォルトの名無しさん
2017/11/04(土) 17:43:36.41ID:O0AU1SEY 船の大きさの問題じゃなくて作業員の質の問題
669デフォルトの名無しさん
2017/11/04(土) 18:13:54.51ID:xZyYrbxC Rubyのような動的型言語は手軽に気楽に素早く、
だが長期的にみればむしろコストがかさむかもしれない
↑っていうイメージがそもそも嘘っつーか
これは言語開発者が言語を作る場合においては確かに成り立つ
マトモな実用的な言語を作るのは大変なわけだが、それでも
動的型言語をを作るのは静的型言語を作るのに比べればかなり楽、最初は楽
ただし、発展していって、実行速度とかコード補完とか、本当の意味での使いやすさとか
そういう次元の話になってくると、むしろ難しいというか行き詰まる
だから、手軽に素早く作れるが、後で困るかも、というのは
Rubyの言語生命の話であって、そこからくるイメージは有るが
実際には俺らには関係が無い
利用者には単に手抜き言語であることのディメリットしかない
もしくは言語開発者自身がそういう思想に基づいて言語を作ったことから派生する
負の連鎖のようなものが起こっているかもしれないが
だが長期的にみればむしろコストがかさむかもしれない
↑っていうイメージがそもそも嘘っつーか
これは言語開発者が言語を作る場合においては確かに成り立つ
マトモな実用的な言語を作るのは大変なわけだが、それでも
動的型言語をを作るのは静的型言語を作るのに比べればかなり楽、最初は楽
ただし、発展していって、実行速度とかコード補完とか、本当の意味での使いやすさとか
そういう次元の話になってくると、むしろ難しいというか行き詰まる
だから、手軽に素早く作れるが、後で困るかも、というのは
Rubyの言語生命の話であって、そこからくるイメージは有るが
実際には俺らには関係が無い
利用者には単に手抜き言語であることのディメリットしかない
もしくは言語開発者自身がそういう思想に基づいて言語を作ったことから派生する
負の連鎖のようなものが起こっているかもしれないが
670デフォルトの名無しさん
2017/11/04(土) 18:33:51.52ID:v7stxdd6 >>669
むしろ、作った後困ってない言語って何よ?
むしろ、作った後困ってない言語って何よ?
671デフォルトの名無しさん
2017/11/04(土) 18:39:23.17ID:uQ9Lq+uS 未踏に参加して金が絡んできてからおかしくなった気がする
672デフォルトの名無しさん
2017/11/04(土) 19:15:21.01ID:die+TITB 「Rubyは言語の宝石箱や〜」(金銭的な意味で)
673デフォルトの名無しさん
2017/11/04(土) 19:59:05.55ID:xZyYrbxC 冷静になって考えてみると>>659の言い方もおかしいよな
揺り戻しっつっても、全盛期ですら静的型言語に勝ってたことは一度もないし、ニッチもニッチ
一部の人がはしゃいでただけだからなぁ、揺り戻しもなにもなー
殆どの人は支持も何もしてなかったし(むしろ冷ややかか?)
既定路線っつーかなんつーか、大人と子供みたいな感じかね
民主党みたいに一時期でも与党だったってわけでもないし
揺り戻しっていうのかね、これ
揺り戻しっつっても、全盛期ですら静的型言語に勝ってたことは一度もないし、ニッチもニッチ
一部の人がはしゃいでただけだからなぁ、揺り戻しもなにもなー
殆どの人は支持も何もしてなかったし(むしろ冷ややかか?)
既定路線っつーかなんつーか、大人と子供みたいな感じかね
民主党みたいに一時期でも与党だったってわけでもないし
揺り戻しっていうのかね、これ
674デフォルトの名無しさん
2017/11/04(土) 20:17:22.74ID:die+TITB Rubyがニッチっていうのは違和感がある
D言語とかもっとニッチなのがあるからね
言語ランキングの十位台位に常にいるんだから
そこそこメジャーって言ってもいいと思う
D言語とかもっとニッチなのがあるからね
言語ランキングの十位台位に常にいるんだから
そこそこメジャーって言ってもいいと思う
675デフォルトの名無しさん
2017/11/04(土) 20:17:36.86ID:iK5iZLmc コーディング仕様と言語仕様の区別が付いていない人がいるな
676デフォルトの名無しさん
2017/11/04(土) 20:49:10.69ID:KrLu9mes >>674
D言語は競プロには便利だぞ
C++よりは書きやすいし、競プロならライブラリが揃ってるかどうかは関係ないしな
それはともかく、Rubyは10位前後をずっと保ってるわけだからニッチではないわな
完全にメジャー言語だと思う
メジャー言語なんだからそりゃアンチもいるわ
たまたま粘着度の高いアンチがいるとこういう状態になるのも2chならよくある話
粘着度が高いのはキモいけどね、個人的には
D言語は競プロには便利だぞ
C++よりは書きやすいし、競プロならライブラリが揃ってるかどうかは関係ないしな
それはともかく、Rubyは10位前後をずっと保ってるわけだからニッチではないわな
完全にメジャー言語だと思う
メジャー言語なんだからそりゃアンチもいるわ
たまたま粘着度の高いアンチがいるとこういう状態になるのも2chならよくある話
粘着度が高いのはキモいけどね、個人的には
677デフォルトの名無しさん
2017/11/04(土) 21:13:30.27ID:e6S1BAQ6 rubyにアンチが多いっていうのはrails伝説に夢見て飛び込んで
勝手に挫折や絶望を味わった連中が暴れているからだろ。
rails絡みの要望をそのまま受け入れ続ければrubyは死ぬな。
勝手に挫折や絶望を味わった連中が暴れているからだろ。
rails絡みの要望をそのまま受け入れ続ければrubyは死ぬな。
678デフォルトの名無しさん
2017/11/04(土) 21:51:45.01ID:3Qk/5QRn 何を今更
今のRubyのコミットはほとんどRails絡みでしょ
とっくにRails専用スクリプトになってるんだよ
今のRubyのコミットはほとんどRails絡みでしょ
とっくにRails専用スクリプトになってるんだよ
679デフォルトの名無しさん
2017/11/04(土) 22:00:15.04ID:llWWFdXR もともとperlの進化系として便利に使ってただけの人にとっては、
いろいろ環境が充実して有り難い限りだ
いろいろ環境が充実して有り難い限りだ
680デフォルトの名無しさん
2017/11/04(土) 22:38:20.83ID:t9DikZno 世界の中でプログラマーは1%も居ない。
更にその中で複数の計算モデルの違う言語を使いこなして、本当の意味の比較が出来る者など極一部。
つまり、殆どの者は自分の好き嫌い・得手不得手を言語の良し悪しに摩り替えて喋ってる。
そういう俺も、Javaは許せん!w
更にその中で複数の計算モデルの違う言語を使いこなして、本当の意味の比較が出来る者など極一部。
つまり、殆どの者は自分の好き嫌い・得手不得手を言語の良し悪しに摩り替えて喋ってる。
そういう俺も、Javaは許せん!w
681デフォルトの名無しさん
2017/11/04(土) 23:08:22.96ID:kIiPx95D 珍しくスレ数が伸びているからと覗いてみたけど、
エンジニア視点によるRuby固有の問題点は何一つ話題になっていないのね
エンジニア視点によるRuby固有の問題点は何一つ話題になっていないのね
682デフォルトの名無しさん
2017/11/04(土) 23:44:23.98ID:xZyYrbxC 何か問題があったとして
それがRubyだけの固有の問題かどうかは、割とどうでもよい
ざっくりというと、動的型言語はどれも同じような問題にぶち当たってる
元々は多少マシンのリソースを食ってもプログラマが楽できた方が良い
とかいうユルフワな考えもあったんだろうけど
実際にはプログラマは楽できないし、マシンに負荷がかかるだけだった
動的型で楽できたのは言語を開発する側だけ
(それも自分たちは静的型言語で静的型の恩恵を受けながら言語を開発してるという)
しかも、パフォーマンスとかコード補完とかマトモなことをやり始めると
むしろ静的型より難易度が上がるという
結局、言語開発者にも利用者にも機械にも、おおよそ誰にも優しくないのが動的型で
非常に筋の悪い、行き詰まった方式と言える
また、文法の面からみても、変数宣言が無いから変数スコープがぐちゃぐちゃになるし
( もし変数スコープを明確にするために変数宣言を導入するんなら
(オプションかどうかは置いておいて)型がかけても良いんじゃね?という発想に至る←通常は )
元々変数宣言が無い言語に後からオプションで型宣言を入れるなら
これは本当にダサくて、それをやっても、後付け故に変数スコープはグチャグチャのままで
だったら初めから変数宣言導入しとけって感じ
それがRubyだけの固有の問題かどうかは、割とどうでもよい
ざっくりというと、動的型言語はどれも同じような問題にぶち当たってる
元々は多少マシンのリソースを食ってもプログラマが楽できた方が良い
とかいうユルフワな考えもあったんだろうけど
実際にはプログラマは楽できないし、マシンに負荷がかかるだけだった
動的型で楽できたのは言語を開発する側だけ
(それも自分たちは静的型言語で静的型の恩恵を受けながら言語を開発してるという)
しかも、パフォーマンスとかコード補完とかマトモなことをやり始めると
むしろ静的型より難易度が上がるという
結局、言語開発者にも利用者にも機械にも、おおよそ誰にも優しくないのが動的型で
非常に筋の悪い、行き詰まった方式と言える
また、文法の面からみても、変数宣言が無いから変数スコープがぐちゃぐちゃになるし
( もし変数スコープを明確にするために変数宣言を導入するんなら
(オプションかどうかは置いておいて)型がかけても良いんじゃね?という発想に至る←通常は )
元々変数宣言が無い言語に後からオプションで型宣言を入れるなら
これは本当にダサくて、それをやっても、後付け故に変数スコープはグチャグチャのままで
だったら初めから変数宣言導入しとけって感じ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★2 [ぐれ★]
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★7 [おっさん友の会★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… [BFU★]
- 中国側が首相答弁の撤回要求、日本側拒否★7 [夜のけいちゃん★]
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 [蚤の市★]
- 「高市人気」どこに? 自民候補が福島市長選で大敗、葛飾区議選でも苦戦 衆院早期解散論に冷や水 [1ゲットロボ★]
- 高市早苗「つい言い過ぎた」公邸で一人ひきこもる😲 [861717324]
- 高市はわかっていない、発言撤回や中国に謝罪してもネトウヨは「さすが!」「実を取った!」と持て囃してくれることを [452836546]
- 日本人、ついに気づく「あれ、日本が対中国で取れる対抗措置ってなくない…?」 [931948549]
- 中国「水産物輸入停止は高市首相の発言が理由」 [256556981]
- 中国「次に禁止してほしいものを教えて」 [358382861]
- 日本行きの航空便が50万件キャンセル。日本人「中国依存度が異常に高かったからちょうどいい😏」 [441660812]
