プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ
質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 64
https://mevius.5ch.net/test/read.cgi/tech/1535797516/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
Ruby コミュニティ公式
https://www.ruby-lang.org/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
Ruby 初心者スレッド Part 65
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f80-JI52)
2018/12/22(土) 04:43:34.03ID:84E3pYZa0490デフォルトの名無しさん (アウウィフ FF11-a57L)
2019/07/01(月) 17:05:17.93ID:87GWfzf4F startswith や endswith には s ついてる
491デフォルトの名無しさん (アメ MM39-rSnO)
2019/07/01(月) 18:04:52.69ID:MoEwNeEzM 識別子に?や!使えるようにしてるもんだから他の言語は?.のところ&.なんだよなwww
ダッサwwwww
ダッサwwwww
492デフォルトの名無しさん (ワッチョイ 9d33-CaMw)
2019/07/01(月) 19:31:12.97ID:sgfBLVFM0 >>489
sort「!」なんかの時点で、もう英語は関係ないやろ!w
sort「!」なんかの時点で、もう英語は関係ないやろ!w
493デフォルトの名無しさん (ワッチョイ ca2c-fjwL)
2019/07/02(火) 04:10:59.33ID:uMGeffjZ0 PowerShell -Part 3
744デフォルトの名無しさん2019/07/01(月) 14:41:57.11ID:YzHO/9WR
>>743
どうでもいい
745デフォルトの名無しさん2019/07/01(月) 16:21:19.60ID:MoEwNeEz
>>743
死ね
745は、色んなスレに「死ね」って書いてる荒らし。ID:MoEwNeEz。
荒らしは必ず、複数の書き込みをするので要注意!
Ruby 初心者スレッド Part 65
485デフォルトの名無しさん (アメ MM39-rSnO)2019/07/01(月) 12:57:54.84ID:MoEwNeEzM
put stringの略だとよwww
to_sとかもそうだけどjap engrish思考よなwwww
491デフォルトの名無しさん (アメ MM39-rSnO)2019/07/01(月) 18:04:52.69ID:MoEwNeEzM
識別子に?や!使えるようにしてるもんだから他の言語は?.のところ&.なんだよなwww
ダッサwwwww
744デフォルトの名無しさん2019/07/01(月) 14:41:57.11ID:YzHO/9WR
>>743
どうでもいい
745デフォルトの名無しさん2019/07/01(月) 16:21:19.60ID:MoEwNeEz
>>743
死ね
745は、色んなスレに「死ね」って書いてる荒らし。ID:MoEwNeEz。
荒らしは必ず、複数の書き込みをするので要注意!
Ruby 初心者スレッド Part 65
485デフォルトの名無しさん (アメ MM39-rSnO)2019/07/01(月) 12:57:54.84ID:MoEwNeEzM
put stringの略だとよwww
to_sとかもそうだけどjap engrish思考よなwwww
491デフォルトの名無しさん (アメ MM39-rSnO)2019/07/01(月) 18:04:52.69ID:MoEwNeEzM
識別子に?や!使えるようにしてるもんだから他の言語は?.のところ&.なんだよなwww
ダッサwwwww
494デフォルトの名無しさん (ワッチョイ 2a52-ebfw)
2019/07/02(火) 08:05:59.97ID:b3K46sKz0 >>493
他人をどうこういう前に、お前の書き込み履歴と鏡を見直せ
他人をどうこういう前に、お前の書き込み履歴と鏡を見直せ
495デフォルトの名無しさん (ワッチョイ a97c-a57L)
2019/07/02(火) 09:54:03.28ID:dJ0Zw08U0 493 は死んで良い
496デフォルトの名無しさん (ワッチョイ 69da-3te8)
2019/07/03(水) 12:11:49.04ID:+RO4gFPu0 俺も493は死んでいいと思う
497デフォルトの名無しさん (ワッチョイ ff2c-NenP)
2019/07/10(水) 14:15:50.44ID:Jbt6AAsO0 redo は、現在のループをやり直すけど、
ループを最初の要素から、やり直すにはどう書く?
例えば、3 なら、また1 からループを始める
ary = [ 1, 2, 3, 4 ]
ary.each do |num|
p num if num == 3
end
ループを最初の要素から、やり直すにはどう書く?
例えば、3 なら、また1 からループを始める
ary = [ 1, 2, 3, 4 ]
ary.each do |num|
p num if num == 3
end
498デフォルトの名無しさん (ワッチョイ 03e7-MLAK)
2019/07/10(水) 15:22:02.98ID:tfcMfkAP0 >>497
http://ideone.com/8UfEyv
もしもCPUの仕組みを知っていれば、制御変数 i は
プログラムカウンタのことだと見立てることができます
さらに抽象化して、もしもステートマシンを知っていれば:
・ブロック do .. end は状態遷移を表し、
・ブロック引数 i は遷移元状態であり、
・ブロックの評価値は遷移先状態であると
見立てることができます
なお、loop.inject というパターンは過去にも別スレで利用しました
https://mevius.5ch.net/test/read.cgi/tech/1415419907/264
> なおメソッド loop は一般に loop do .... end という手続き型のスタイルで
> 書かれることが多いために ループ構文の一種と誤解されがちですが、
> (lambda を構文糖であると >>254 が 勘違いしたように....)
> loop はメソッドですので(コードで示したように) inject へ
> チェーンさせることができます
http://ideone.com/8UfEyv
もしもCPUの仕組みを知っていれば、制御変数 i は
プログラムカウンタのことだと見立てることができます
さらに抽象化して、もしもステートマシンを知っていれば:
・ブロック do .. end は状態遷移を表し、
・ブロック引数 i は遷移元状態であり、
・ブロックの評価値は遷移先状態であると
見立てることができます
なお、loop.inject というパターンは過去にも別スレで利用しました
https://mevius.5ch.net/test/read.cgi/tech/1415419907/264
> なおメソッド loop は一般に loop do .... end という手続き型のスタイルで
> 書かれることが多いために ループ構文の一種と誤解されがちですが、
> (lambda を構文糖であると >>254 が 勘違いしたように....)
> loop はメソッドですので(コードで示したように) inject へ
> チェーンさせることができます
499デフォルトの名無しさん (ワッチョイ ff2c-NenP)
2019/07/10(水) 16:16:11.40ID:Jbt6AAsO0 require 'prime'
p ary = Prime.prime_division( 18 )
#=> [[2, 1], [3, 2]]
18 を素因数分解した結果、
[[2, 1], [3, 2]]、2が1回, 3が2回みたいな表記を、
単純に、[2, 3, 3]のように開くには、どうすればよいですか?
p ary = Prime.prime_division( 18 )
#=> [[2, 1], [3, 2]]
18 を素因数分解した結果、
[[2, 1], [3, 2]]、2が1回, 3が2回みたいな表記を、
単純に、[2, 3, 3]のように開くには、どうすればよいですか?
500497 (ワッチョイ ff2c-NenP)
2019/07/10(水) 16:39:54.23ID:Jbt6AAsO0501デフォルトの名無しさん (ワッチョイ 03e7-MLAK)
2019/07/10(水) 17:37:17.74ID:tfcMfkAP0503デフォルトの名無しさん (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 14:16:26.97ID:NKxgAyGK0 乱数はメルセンヌツイスタらしいけど、
偏るので、マシなやり方はないですか?
Array.new( 25 ) { rand( 1..9 ) }
出力
[3, 2, 4, 3, 6, 3, 1, 3, 7, 6, 1, 9, 3, 2, 5, 6, 6, 7, 5, 6, 3, 3, 8, 4, 9]
[5, 8, 4, 1, 3, 3, 2, 2, 9, 7, 9, 7, 7, 6, 7, 4, 3, 4, 5, 4, 8, 8, 7, 2, 5]
[7, 7, 6, 7, 9, 5, 8, 2, 8, 5, 1, 8, 4, 9, 3, 3, 9, 8, 6, 1, 1, 3, 5, 7, 2]
偏るので、マシなやり方はないですか?
Array.new( 25 ) { rand( 1..9 ) }
出力
[3, 2, 4, 3, 6, 3, 1, 3, 7, 6, 1, 9, 3, 2, 5, 6, 6, 7, 5, 6, 3, 3, 8, 4, 9]
[5, 8, 4, 1, 3, 3, 2, 2, 9, 7, 9, 7, 7, 6, 7, 4, 3, 4, 5, 4, 8, 8, 7, 2, 5]
[7, 7, 6, 7, 9, 5, 8, 2, 8, 5, 1, 8, 4, 9, 3, 3, 9, 8, 6, 1, 1, 3, 5, 7, 2]
504デフォルトの名無しさん (エムゾネ FF5f-CMz4)
2019/07/20(土) 14:25:34.88ID:1y0e4GF6F a=[3, 2, 4, 3, 6, 3, 1, 3, 7, 6, 1, 9, 3, 2, 5, 6, 6, 7, 5, 6, 3, 3, 8, 4, 9]
b=[5, 8, 4, 1, 3, 3, 2, 2, 9, 7, 9, 7, 7, 6, 7, 4, 3, 4, 5, 4, 8, 8, 7, 2, 5]
c=[7, 7, 6, 7, 9, 5, 8, 2, 8, 5, 1, 8, 4, 9, 3, 3, 9, 8, 6, 1, 1, 3, 5, 7, 2]
(a+b+c)/3
b=[5, 8, 4, 1, 3, 3, 2, 2, 9, 7, 9, 7, 7, 6, 7, 4, 3, 4, 5, 4, 8, 8, 7, 2, 5]
c=[7, 7, 6, 7, 9, 5, 8, 2, 8, 5, 1, 8, 4, 9, 3, 3, 9, 8, 6, 1, 1, 3, 5, 7, 2]
(a+b+c)/3
505デフォルトの名無しさん (ドコグロ MMc3-bkmc)
2019/07/20(土) 16:32:33.97ID:/lD6o5wQM506デフォルトの名無しさん (ワッチョイ 7f2d-ShKg)
2019/07/20(土) 17:05:02.08ID:wkIhGLkm0 2人コミッター知ってるけど何の専門家でもなければまともな経歴でもないよ・・・・
507デフォルトの名無しさん (ワッチョイ 4f7c-CMz4)
2019/07/20(土) 17:08:41.13ID:ppdy8tl00 メルセンヌツイスターって初期化しなくて良いんだっけ
508デフォルトの名無しさん (ワッチョイ 3f52-5sVo)
2019/07/20(土) 17:54:18.98ID:QHhW8HGw0 >>504
乱数で平均値を取ったら中央値に近づいて偏りが酷くなるだけじゃね
乱数で平均値を取ったら中央値に近づいて偏りが酷くなるだけじゃね
509503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 17:57:37.26ID:NKxgAyGK0 Kernel#rand の種は、現在時刻で初期化されるから、意識しないでもよい
統計を取れば、平均になるだろうけど、1回1回が偏る。
例えれば、
1回目 : 3,3,1,1,3,3,1,1
2回目 : 2,2,8,8,2,2,8,8
3回目 : 5,5,9,9,5,5,9,9
平均すると、まんべんなく出るのだろうが
統計を取れば、平均になるだろうけど、1回1回が偏る。
例えれば、
1回目 : 3,3,1,1,3,3,1,1
2回目 : 2,2,8,8,2,2,8,8
3回目 : 5,5,9,9,5,5,9,9
平均すると、まんべんなく出るのだろうが
510503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 18:02:25.41ID:NKxgAyGK0 例えば、503 で偏る部分は、
5, 6, 6, 7, 5, 6
9, 7, 9, 7, 7, 6, 7
7, 7, 6, 7
9, 3, 3, 9
何回やっても偏る
5, 6, 6, 7, 5, 6
9, 7, 9, 7, 7, 6, 7
7, 7, 6, 7
9, 3, 3, 9
何回やっても偏る
511デフォルトの名無しさん (ワッチョイ 4f7c-CMz4)
2019/07/20(土) 18:37:19.17ID:ppdy8tl00 おま環かどうか切り分けるために
codepad.org
とか
ideone.com
あたりで実行してみたら
codepad.org
とか
ideone.com
あたりで実行してみたら
512デフォルトの名無しさん (ワッチョイ 4f7c-CMz4)
2019/07/20(土) 18:37:49.12ID:ppdy8tl00 おま環かどうか切り分けるために
codepad.org
とか
ideone.com
あたりで実行してみたら
codepad.org
とか
ideone.com
あたりで実行してみたら
513503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 19:30:22.40ID:NKxgAyGK0 codepad は古すぎる!
p RUBY_VERSION #=> "1.8.6"
一方、Paiza.io では、"2.6.3"
[3, 6, 3, 8, 8, 9, 1, 3, 1, 4, 3, 8, 2, 2, 2, 6, 6, 9, 4, 2, 2, 9, 1, 1, 1]
これでも偏る
2, 2, 2, 6, 6
2, 2, 9, 1, 1, 1
p RUBY_VERSION #=> "1.8.6"
一方、Paiza.io では、"2.6.3"
[3, 6, 3, 8, 8, 9, 1, 3, 1, 4, 3, 8, 2, 2, 2, 6, 6, 9, 4, 2, 2, 9, 1, 1, 1]
これでも偏る
2, 2, 2, 6, 6
2, 2, 9, 1, 1, 1
514デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/20(土) 19:33:04.24ID:2izalSzA0 1から9が完全に均等に出てほしいなら、(1..9).shuffleとでもすりゃいいんじゃね?
516503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 19:36:50.44ID:NKxgAyGK0517デフォルトの名無しさん (ワッチョイ 4f7d-woJQ)
2019/07/20(土) 19:40:04.58ID:CMictvk+0 まさか1桁の整数の乱数を10個取り出したら0から9までダブってないとかそういうのか
518503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 19:44:24.23ID:NKxgAyGK0 >>514
shuffle, sample も疑似乱数だから、 Kernel.#rand, Random と同じじゃないか?
shuffle, sample も疑似乱数だから、 Kernel.#rand, Random と同じじゃないか?
519デフォルトの名無しさん (オッペケ Sra3-/r7K)
2019/07/20(土) 19:46:37.50ID:eNhk7IpQr アホらし
バカが騒いでるだけ
バカが騒いでるだけ
520デフォルトの名無しさん (ワッチョイ cf14-C4ZB)
2019/07/20(土) 20:02:00.13ID:b/O9on/e0 乱数なんだから偏ってはいけない。
例えばサイコロを6回ふれば、必ず1〜6の数字が一回ずつ出るのが真の乱数だ
続けて1の目がでるなんてことはあってはいけない
俺の好きなテトリスも昔はテトリス棒が全然出なかったりしたもんだが
今のテトリスは同じものが続けて出ない。偏り無くまんべんなく出てくれるから
次に来るのが予測しやすい。これが真の乱数だ
例えばサイコロを6回ふれば、必ず1〜6の数字が一回ずつ出るのが真の乱数だ
続けて1の目がでるなんてことはあってはいけない
俺の好きなテトリスも昔はテトリス棒が全然出なかったりしたもんだが
今のテトリスは同じものが続けて出ない。偏り無くまんべんなく出てくれるから
次に来るのが予測しやすい。これが真の乱数だ
521デフォルトの名無しさん (ワッチョイ 4f7d-woJQ)
2019/07/20(土) 20:09:09.31ID:CMictvk+0 つまりテトリスカンパニーのようにメルセンヌツイスタ株式会社みたいなのが数字の出る順番のルールを決めて
ひとつの言語にはひとつのメルセンヌツイスタライブラリしか認可しないというふうにして品質の
ひとつの言語にはひとつのメルセンヌツイスタライブラリしか認可しないというふうにして品質の
522デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/20(土) 20:57:00.17ID:2izalSzA0523デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/20(土) 21:02:21.62ID:2izalSzA0524デフォルトの名無しさん (ワッチョイ 4f7d-woJQ)
2019/07/20(土) 21:11:50.98ID:CMictvk+0 ものによっては「7が最近出てないのでそろそろ出るはず」「1が何回も出るはずがない」を支持するデタラメ数が必要とされることはあるのだが
それは乱数で表現されるものではないので自前で実装するよりない
それは乱数で表現されるものではないので自前で実装するよりない
525デフォルトの名無しさん (ワッチョイ cf4e-NxfS)
2019/07/20(土) 21:43:20.93ID:/ET4uH9K0 乱数 まろやか で検索するといいぞ。ポイントは正規分布
526503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 21:51:55.20ID:NKxgAyGK0 JavaScript でも作ってみたが、これも乱数が偏っている。
7, 1, 7, 7, 5, 4, 7, 4, 1
function get_random_int( ) {
return function( ) {
const min = 1
const max = 9
return Math.floor( Math.random( ) * ( max + 1 - min ) ) + min ;
};
}
const ary = [ ...Array( 25 ) ].map( get_random_int( ) )
console.log( ary );
出力
[ 2, 8, 6, 2, 5, 7, 8, 1, 4, 6, 7, 1, 7, 7, 5, 4, 7, 4, 1, 3, 4, 5, 6, 8, 6 ]
7, 1, 7, 7, 5, 4, 7, 4, 1
function get_random_int( ) {
return function( ) {
const min = 1
const max = 9
return Math.floor( Math.random( ) * ( max + 1 - min ) ) + min ;
};
}
const ary = [ ...Array( 25 ) ].map( get_random_int( ) )
console.log( ary );
出力
[ 2, 8, 6, 2, 5, 7, 8, 1, 4, 6, 7, 1, 7, 7, 5, 4, 7, 4, 1, 3, 4, 5, 6, 8, 6 ]
527デフォルトの名無しさん (ワッチョイ cf4e-NxfS)
2019/07/20(土) 22:07:15.82ID:/ET4uH9K0 >>526
赤黒が1/2の確率で出るルーレットがあります。
三回回したところすべて黒が出ました。
次に赤が出る確率は?
一般人「1/2」
バカ「こんなに黒が続いたんだからそろそろ赤が出ないとおかしい!偏っている!だから赤100%だ!!」
赤黒が1/2の確率で出るルーレットがあります。
三回回したところすべて黒が出ました。
次に赤が出る確率は?
一般人「1/2」
バカ「こんなに黒が続いたんだからそろそろ赤が出ないとおかしい!偏っている!だから赤100%だ!!」
528デフォルトの名無しさん (ワッチョイ 3f52-5sVo)
2019/07/20(土) 23:53:39.37ID:QHhW8HGw0 >>526
乱数にけちつける前に10面ダイス買ってきて、10000回振って出目をメモして偏りを確認してこい。
それが片寄ってると思うなら、別の店でダイス買い直して再試行しろ。
終わるまでスレに帰ってくるなよ。
乱数にけちつける前に10面ダイス買ってきて、10000回振って出目をメモして偏りを確認してこい。
それが片寄ってると思うなら、別の店でダイス買い直して再試行しろ。
終わるまでスレに帰ってくるなよ。
529デフォルトの名無しさん (アウアウエー Sabf-CMz4)
2019/07/21(日) 01:29:14.20ID:7an9cjGSa リアルのダイスは安物だと
1の目と6の目で掘り具合が適当で
重心がばらつくから良くない
1をでかく掘ってあって
ちゃんとバランスとってる香具師を買え
1の目と6の目で掘り具合が適当で
重心がばらつくから良くない
1をでかく掘ってあって
ちゃんとバランスとってる香具師を買え
530デフォルトの名無しさん (ワッチョイ 7fd2-W26c)
2019/07/21(日) 05:50:29.99ID:8kiQELFp0531デフォルトの名無しさん (ワッチョイ 4f7d-woJQ)
2019/07/21(日) 06:37:51.08ID:OIgMVs9g0532デフォルトの名無しさん (ワッチョイ 8fb0-VOQx)
2019/07/21(日) 14:26:31.51ID:rj1b8/he0 単純にサンプル数が少なすぎる
2500回ぐらい生成してから文句言え
2500回ぐらい生成してから文句言え
533デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/21(日) 15:02:07.14ID:NYTsshMI0 1から9まで出る乱数を9個抜き出したとき:
1から9までの数が1個ずつ含まれる確率
9!/9^9 = 0.09%
1から9までの数のうち4個ある数字が1つ、2個ある数字が2つ、1個ある数字が1つである確率
9(8C2)6(9C4)(5C2)(3C2)/2/9^9 = 0.7%
10倍ぐらい確率が違うんだよ
「君の言葉で言う偏る」のは確率で見てもむしろ当然
# 計算式が合ってるかは誰か検証して
1から9までの数が1個ずつ含まれる確率
9!/9^9 = 0.09%
1から9までの数のうち4個ある数字が1つ、2個ある数字が2つ、1個ある数字が1つである確率
9(8C2)6(9C4)(5C2)(3C2)/2/9^9 = 0.7%
10倍ぐらい確率が違うんだよ
「君の言葉で言う偏る」のは確率で見てもむしろ当然
# 計算式が合ってるかは誰か検証して
534デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/21(日) 15:05:40.77ID:NYTsshMI0 あ、>>526 ね
分かるだろうけど
分かるだろうけど
535デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/21(日) 15:10:50.24ID:NYTsshMI0 もっと単純化して言ってしまえば、コインを2回投げたときに、表裏が1回ずつ出る確率と
表か裏かのどちらかしか出ない確率は同じだというのはすぐ分かると思う
それを「どちらかしか出ない場合があるのは偏ってる!」と言ってるようなもんだよ、これは
表か裏かのどちらかしか出ない確率は同じだというのはすぐ分かると思う
それを「どちらかしか出ない場合があるのは偏ってる!」と言ってるようなもんだよ、これは
536デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/21(日) 16:40:43.81ID:NYTsshMI0 こういうと、
「25回投げたときに、そのうち10回を取り出して8回以上表か裏が出てたら偏ってるじゃないか」
と言われそうなので、その確率も計算しておこう
面倒なのでPCでぶん回して計算すると、約49%だった。
つまり、25回投げたときに恣意的に10回を取り出して表か裏が8個以上あることなんて普通に
ありえることなんだよね
「25回投げたときに、そのうち10回を取り出して8回以上表か裏が出てたら偏ってるじゃないか」
と言われそうなので、その確率も計算しておこう
面倒なのでPCでぶん回して計算すると、約49%だった。
つまり、25回投げたときに恣意的に10回を取り出して表か裏が8個以上あることなんて普通に
ありえることなんだよね
537デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/21(日) 16:43:49.84ID:NYTsshMI0 ちなみに、8回以上を9回以上に置き換えても13%の確率があるので、特段珍しいことでもない
さらにちなみに、この計算はRubyを使って行いましたw
さらにちなみに、この計算はRubyを使って行いましたw
538デフォルトの名無しさん (スッップ Sdaa-nIbq)
2019/07/28(日) 16:46:50.69ID:RyVu3FEFd ActiveRecordの件数が多い時、メモリを大量に使った際に、その分のメモリが開放されないままになってるように見えるのですがこれは仕様ですか?
メモリ開放のやり方とか、そもそも件数が多すぎる場合はActiveRecord使わないほうが良いなどあったりするでしょうか…?
メモリ開放のやり方とか、そもそも件数が多すぎる場合はActiveRecord使わないほうが良いなどあったりするでしょうか…?
539デフォルトの名無しさん (ワッチョイ 8a33-SaMj)
2019/07/28(日) 17:41:05.41ID:x88Eo97q0 ActiveRecordは知らんけど、RubyのGCがあんまり働かないのはオレも経験したことがある。
いっそ自動処理をあてにしないで、適当なタイミングで明示的にGC.start()したほうがいいと思う。
あるいは、ちゃんと設定のチューニングをするか。
めんどくさそうなうえに、ちゃんと動作すんのかは知らんけどな。
https://docs.ruby-lang.org/ja/latest/class/GC.html
いっそ自動処理をあてにしないで、適当なタイミングで明示的にGC.start()したほうがいいと思う。
あるいは、ちゃんと設定のチューニングをするか。
めんどくさそうなうえに、ちゃんと動作すんのかは知らんけどな。
https://docs.ruby-lang.org/ja/latest/class/GC.html
540デフォルトの名無しさん (スッップ Sdaa-qbpu)
2019/07/31(水) 06:26:20.94ID:F/SyAmOad >>270
Railsはチュートリアルとか本とかネットの情報も多いけどSinatraは情報が少な過ぎるよ
Railsはチュートリアルとか本とかネットの情報も多いけどSinatraは情報が少な過ぎるよ
541デフォルトの名無しさん (ワッチョイ 8a2c-aoqV)
2019/07/31(水) 12:11:30.33ID:6BPSvdm10 たぶん、インデックスを使っていない、select だろう。
ランキングとか、レコードを総なめ・全件取得する、select だろう
DB の実行計画を見ると、わかる
DB設計は、DB資格の教科書とか、ミックの本などで勉強していないと難しい。
バグのほとんどは設計段階で生じるから、SE の給料が、プログラマーよりも高い!
ランキングとか、レコードを総なめ・全件取得する、select だろう
DB の実行計画を見ると、わかる
DB設計は、DB資格の教科書とか、ミックの本などで勉強していないと難しい。
バグのほとんどは設計段階で生じるから、SE の給料が、プログラマーよりも高い!
542デフォルトの名無しさん (ワッチョイ 0b14-3QQs)
2019/07/31(水) 12:17:18.62ID:JpBmxHct0 それだと設計ができない無能SEの給料は低くないといけない
543デフォルトの名無しさん (ワッチョイ ab7d-1GM0)
2019/07/31(水) 12:20:45.88ID:zH1G6UoN0 >>542
何荒らしにマジレスしてんの
何荒らしにマジレスしてんの
544デフォルトの名無しさん (アウウィフ FFcf-tP4r)
2019/07/31(水) 12:41:48.82ID:+MN2XkdtF 馬鹿には無理
545デフォルトの名無しさん (スッップ Sd43-LBQ1)
2019/08/01(木) 05:31:11.68ID:n5HVCX7yd 同じリポジトリの同じソースからのデプロイで昨日は成功したのに今日は成功しないのは何でなんだぜ?
Heroku
Heroku
546デフォルトの名無しさん (ワッチョイ 2dda-dfB4)
2019/08/01(木) 05:46:22.10ID:D666GHsD0 韓国に楯突いたことでアメリカからも敵国認定されてブロックされてしまったのだろうな
米国に置いてあるデータ、アメリカ製サービスからは早急に引き上げたほうがいい
エンジニアの生命線が...。米国の貿易施策でGitHubの利用制限を受けるイランなどの国々 | ギズモード・ジャパン
https://www.gizmodo.jp/2019/07/github-trade-control-regulations.html
GitHub、米国の経済制裁対象国ユーザーによる非公開リポジトリ利用をブロック | 財経新聞
https://www.zaikei.co.jp/article/20190730/523662.html
米国に置いてあるデータ、アメリカ製サービスからは早急に引き上げたほうがいい
エンジニアの生命線が...。米国の貿易施策でGitHubの利用制限を受けるイランなどの国々 | ギズモード・ジャパン
https://www.gizmodo.jp/2019/07/github-trade-control-regulations.html
GitHub、米国の経済制裁対象国ユーザーによる非公開リポジトリ利用をブロック | 財経新聞
https://www.zaikei.co.jp/article/20190730/523662.html
547デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/01(木) 12:25:16.08ID:czAE5CE00 >>546
イランから手を引けばいいだけでしょ(笑)
イランから手を引けばいいだけでしょ(笑)
548デフォルトの名無しさん (ワッチョイ 8595-7p+E)
2019/08/01(木) 20:11:56.88ID:WaJjQk0q0 ruby はよくある printf の類が日英混合文でも大丈夫?
perl で 日英両対応 align.pl 書いたけど 日本語はprintfのフォームと
ずれてしまったのでコードがそれを避けた書きかたになってしまって
気がはれない
perl で 日英両対応 align.pl 書いたけど 日本語はprintfのフォームと
ずれてしまったのでコードがそれを避けた書きかたになってしまって
気がはれない
549デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/01(木) 20:45:19.26ID:lSJbqNGy0550デフォルトの名無しさん (ワッチョイ eb7d-SEhp)
2019/08/01(木) 21:12:29.42ID:MCSzD/uO0 Rubyとしては「STDOUTに流すだけで特に何もしてない」ような気がする
Cursesはなんかしてくれてるんだっけ?
Cursesはなんかしてくれてるんだっけ?
551デフォルトの名無しさん (ワッチョイ 4584-ONLY)
2019/08/03(土) 00:58:45.19ID:uTJugp6Y0 逆にその日英混合文がダメな状況ってどういう状況だよ
552デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/03(土) 10:30:15.37ID:sR/VT/6l0 いわゆる全角半角の文字幅やろ。
553デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/03(土) 22:04:00.83ID:bbhz9sWw0 やった!!
俺の求めていたものだ
https://logmi.jp/tech/articles/321280
一見楽そうに見えて、余計に面倒なことになるwww
こんなんだったら、初めから型宣言したほうがマシだわな
型宣言の何が嫌なんだろ(謎
意地?
DRYに反してるっていうけど、何処が?
まぁでも求めていた展開だ
本人も作りたくないであろうこんなツールに多大な時間を割くことで
10年単位で他の言語に遅れることになるだろうな
大爆笑
俺の求めていたものだ
https://logmi.jp/tech/articles/321280
一見楽そうに見えて、余計に面倒なことになるwww
こんなんだったら、初めから型宣言したほうがマシだわな
型宣言の何が嫌なんだろ(謎
意地?
DRYに反してるっていうけど、何処が?
まぁでも求めていた展開だ
本人も作りたくないであろうこんなツールに多大な時間を割くことで
10年単位で他の言語に遅れることになるだろうな
大爆笑
554デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/03(土) 23:28:43.68ID:sR/VT/6l0 >>553
> DRYに反してるっていうけど、何処が?
Type obj=new Type()
じゃないの?型を2回書いてるじゃん!という。
なお、C#がそうだったんだけど、遠からず改善される予定。
Type obj=new()
# 最初からそうしといてよー、と思わないでもないけど。w
型のDRYを避ける方法はあるんだよな。
しかし、Rubyはそこから目をそらして、DRYを言い訳にして、とにかくなにがなんでもオブジェクトの宣言を含めたくないんだろう。
> DRYに反してるっていうけど、何処が?
Type obj=new Type()
じゃないの?型を2回書いてるじゃん!という。
なお、C#がそうだったんだけど、遠からず改善される予定。
Type obj=new()
# 最初からそうしといてよー、と思わないでもないけど。w
型のDRYを避ける方法はあるんだよな。
しかし、Rubyはそこから目をそらして、DRYを言い訳にして、とにかくなにがなんでもオブジェクトの宣言を含めたくないんだろう。
555デフォルトの名無しさん (ワッチョイ 75e7-27IP)
2019/08/04(日) 03:31:45.57ID:KgSPSwNu0 >>553
>DRYに反してるっていうけど、何処が?
https://qiita.com/t2y/items/2a1310608da7b5c4860b
> def sum_and_stringify(nums: List[int]) -> str:
> """Adds up the numbers in a list and returns the result as a string."""
> return str(sum(nums))
じゃないの?
型を2回書いてるじゃん!という。
なお本件、改善される計画はなく、いつまで待っても放置される予定。
# ML や Haskell なら最初から型アノーテーションなんて不要だからDRYだけど、
# その方向性を最初から放棄してどうすんのよー、と思わないでもないけど。w
型のDRYを避ける方法はあるんだよな。
しかし、そこから目をそらして、global だの nonlocal だのスコープ問題の泥縄的解決である
変数宣言を言い訳にして、とにかくなにがなんでも型宣言を含めさせたいんだろう。
>DRYに反してるっていうけど、何処が?
https://qiita.com/t2y/items/2a1310608da7b5c4860b
> def sum_and_stringify(nums: List[int]) -> str:
> """Adds up the numbers in a list and returns the result as a string."""
> return str(sum(nums))
じゃないの?
型を2回書いてるじゃん!という。
なお本件、改善される計画はなく、いつまで待っても放置される予定。
# ML や Haskell なら最初から型アノーテーションなんて不要だからDRYだけど、
# その方向性を最初から放棄してどうすんのよー、と思わないでもないけど。w
型のDRYを避ける方法はあるんだよな。
しかし、そこから目をそらして、global だの nonlocal だのスコープ問題の泥縄的解決である
変数宣言を言い訳にして、とにかくなにがなんでも型宣言を含めさせたいんだろう。
556デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/04(日) 12:53:29.81ID:uuq2lSJI0 あと
別ファイルに型定義書くのって立派なDRYじゃねーの?
だって、クラス名やメソッド名変更するとき
両方書き直さなきゃならないじゃねーか
これはDRY以外の何なんだ?
ほんと、ペテン師はいつも自分に都合のいい事だけ言うよな
分かっててすっとぼけるんだわ
信者には悪いが、マジで毎回そう
別ファイルに型定義書くのって立派なDRYじゃねーの?
だって、クラス名やメソッド名変更するとき
両方書き直さなきゃならないじゃねーか
これはDRY以外の何なんだ?
ほんと、ペテン師はいつも自分に都合のいい事だけ言うよな
分かっててすっとぼけるんだわ
信者には悪いが、マジで毎回そう
557デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/04(日) 13:05:34.87ID:uuq2lSJI0 つまり、
普通に素直に型宣言するより
別ファイルに型定義書く方が
よりDRYだし面倒だし
この掛け違えたボタンで首が絞まる感じ何なん
もう普通に型書いたら?
アホらしすぎ
普通に素直に型宣言するより
別ファイルに型定義書く方が
よりDRYだし面倒だし
この掛け違えたボタンで首が絞まる感じ何なん
もう普通に型書いたら?
アホらしすぎ
558デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/04(日) 13:18:44.89ID:uuq2lSJI0 型定義を別ファイルの書くのって
丁度C言語が.hと.cに分かれてるのと同じ感じだよね
で、関数名変えるとき.hと.cの両方書き換えるっていうね
今更C言語に先祖返りってどうよ
あれDRYって何だっけ
丁度C言語が.hと.cに分かれてるのと同じ感じだよね
で、関数名変えるとき.hと.cの両方書き換えるっていうね
今更C言語に先祖返りってどうよ
あれDRYって何だっけ
559デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/04(日) 13:39:41.20ID:uuq2lSJI0 あるクラスの名前を変更する
型定義ファイルに書いてあるクラス名を変更し忘れる
そのクラスの型定義が無くなり型チェックが効かなくなる
プログラマは型チェックが効いてると思い込みテストをサボる
バグを組み込んでしまう
あり得るシナリオだし、こういうのをDRYと言うのではww
同じような感じでヘッダと実装に分かれてるC/C++の場合は
これは間違ってるとコンパイルエラーになるから良いけど
Rubyの場合は修正し忘れてて型定義が見つからない状態になってても
それはそれとして、どうせ無テストになるだけでスルーでしょ
(他に型定義の無いクラスはいっぱいあるわけで型定義が無いだけでエラーには出来ない)
さあ型定義ファイルにあるクラス名とメソッド名が
間違っていないか確かめるテストを書かなきゃねwww
(単純にtypoしてるかもしれないわけで)
で、誰得なんこれ
型定義ファイルに書いてあるクラス名を変更し忘れる
そのクラスの型定義が無くなり型チェックが効かなくなる
プログラマは型チェックが効いてると思い込みテストをサボる
バグを組み込んでしまう
あり得るシナリオだし、こういうのをDRYと言うのではww
同じような感じでヘッダと実装に分かれてるC/C++の場合は
これは間違ってるとコンパイルエラーになるから良いけど
Rubyの場合は修正し忘れてて型定義が見つからない状態になってても
それはそれとして、どうせ無テストになるだけでスルーでしょ
(他に型定義の無いクラスはいっぱいあるわけで型定義が無いだけでエラーには出来ない)
さあ型定義ファイルにあるクラス名とメソッド名が
間違っていないか確かめるテストを書かなきゃねwww
(単純にtypoしてるかもしれないわけで)
で、誰得なんこれ
560デフォルトの名無しさん (ワッチョイ 8514-F0Sa)
2019/08/04(日) 15:37:02.28ID:M00OQnGm0 まつもとが型のメリットを理解してないからどうしようもない
561デフォルトの名無しさん (ワッチョイ 232c-n0r7)
2019/08/04(日) 20:45:52.66ID:zjBZp1dd0 WEB+DB vol.111
詳解 Rails 6
コミッターが解説する、26ページ分の特集!
詳解 Rails 6
コミッターが解説する、26ページ分の特集!
562デフォルトの名無しさん (ワッチョイ 75e7-27IP)
2019/08/05(月) 01:20:57.58ID:xLJRGiJi0 >>556-559
>別ファイルに型定義書くのって立派なDRYじゃねーの?
まず、この文章は「DRY違反じゃねーの」の間違いだろう
これだけでもアンチRubyがDRYという言葉の意味を理解せずに
トンチンカンな批判を繰り返している実証になる
次に上記の文章を:
>>別ファイルに型定義書くのって立派なDRY違反じゃねーの?
と訂正したとしても、答えは NO だ
確かに型推定を最初から放棄してユーザに型アノーテーション記述を
強制する言語(>>555)であれば、その型アノーテーション記述がソースファイルと
同一ファイルであっても別ファイルであってもDRY原則に反している、と言える
しかしRuby3.0で計画されている型プロファイルは、型宣言記述が無い
素のRubyソースコードから型定義ファイル rbi を自動生成できる
また、ソースコードと同一ファイルにアノーテーション(注釈、いわゆるコメント)として
型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる)
>別ファイルに型定義書くのって立派なDRYじゃねーの?
まず、この文章は「DRY違反じゃねーの」の間違いだろう
これだけでもアンチRubyがDRYという言葉の意味を理解せずに
トンチンカンな批判を繰り返している実証になる
次に上記の文章を:
>>別ファイルに型定義書くのって立派なDRY違反じゃねーの?
と訂正したとしても、答えは NO だ
確かに型推定を最初から放棄してユーザに型アノーテーション記述を
強制する言語(>>555)であれば、その型アノーテーション記述がソースファイルと
同一ファイルであっても別ファイルであってもDRY原則に反している、と言える
しかしRuby3.0で計画されている型プロファイルは、型宣言記述が無い
素のRubyソースコードから型定義ファイル rbi を自動生成できる
また、ソースコードと同一ファイルにアノーテーション(注釈、いわゆるコメント)として
型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる)
563デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/05(月) 01:57:11.36ID:kCWOwKEP0 >>562
> トンチンカンな批判を繰り返している実証になる
揚げ足をとれたからって、そんなに必死にならなくても。w
DRYDRYとうるさいのは信者くらいで、ふつうは実はそんなに気にしてないからな。しゃあない。
> 素のRubyソースコードから型定義ファイル rbi を自動生成できる
スケルトンみたいなこと?
その手のやりかたってヤバい原因になりがちだと思うんだけど、だいじょうぶなの?たいがい元ソースコードの変更に追い付けなくなって、うやむやになるよねえ?
> 型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる)
つまり、ソースを変更したら、あわせてアノテも変更しないといけないのか?
結局はDRY違反なの?
ホントにそんなだったら、どうせ誰も使わない気がするなあ。。。
> トンチンカンな批判を繰り返している実証になる
揚げ足をとれたからって、そんなに必死にならなくても。w
DRYDRYとうるさいのは信者くらいで、ふつうは実はそんなに気にしてないからな。しゃあない。
> 素のRubyソースコードから型定義ファイル rbi を自動生成できる
スケルトンみたいなこと?
その手のやりかたってヤバい原因になりがちだと思うんだけど、だいじょうぶなの?たいがい元ソースコードの変更に追い付けなくなって、うやむやになるよねえ?
> 型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる)
つまり、ソースを変更したら、あわせてアノテも変更しないといけないのか?
結局はDRY違反なの?
ホントにそんなだったら、どうせ誰も使わない気がするなあ。。。
564デフォルトの名無しさん (ワッチョイ 75e7-27IP)
2019/08/05(月) 02:20:06.63ID:xLJRGiJi0566デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 07:34:24.32ID:nl2V9bb60 https://img.logmi.jp/article_images/D2VbGeV4PWY5uay2tHho6g.jpg
こんなんを別ファイルに記述するはめになるんだ
クラス定義に似てるね
重複して同じようなことを二回書かなきゃならないって事
DRYの原則に反してるから型宣言を書きたくないって話だったのに
より一層DRYの原則に反してるね
C++のヘッダにそっくり
あと今更するなら最初からしておけば何かとよかったのにね
夏休みの宿題を最後にためておく人だったのかな
一方静的型言語にも型推論とか取り入れられてるけど
こっちは文法的にも文化的にも何の障壁もなく導入されてるのが笑える
なにこの差
さらにはヌル安全とかまでやろうとしてる
逆にこっちのやってるのはいまだにネイティブスレッドww
何周遅れよこれ
そんでいつも後出しジャンケンで負ける
動的型もそう
後出しジャンケンして負けた
後出しジャンケンでも勝てばいいんだが負けたら意味ないね
Rubyサイコー
こんなんを別ファイルに記述するはめになるんだ
クラス定義に似てるね
重複して同じようなことを二回書かなきゃならないって事
DRYの原則に反してるから型宣言を書きたくないって話だったのに
より一層DRYの原則に反してるね
C++のヘッダにそっくり
あと今更するなら最初からしておけば何かとよかったのにね
夏休みの宿題を最後にためておく人だったのかな
一方静的型言語にも型推論とか取り入れられてるけど
こっちは文法的にも文化的にも何の障壁もなく導入されてるのが笑える
なにこの差
さらにはヌル安全とかまでやろうとしてる
逆にこっちのやってるのはいまだにネイティブスレッドww
何周遅れよこれ
そんでいつも後出しジャンケンで負ける
動的型もそう
後出しジャンケンして負けた
後出しジャンケンでも勝てばいいんだが負けたら意味ないね
Rubyサイコー
567デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 07:39:15.45ID:nl2V9bb60 >また、ソースコードと同一ファイルにアノーテーション(注釈、いわゆるコメント)として
この方式はmatzが滅茶苦茶に嫌ってるから採用される事はないね
あの人わけわからないぐらいこのことに固執してるからね
また何も知らないか、知ってても嘘をつく
いつものパターンね
この方式はmatzが滅茶苦茶に嫌ってるから採用される事はないね
あの人わけわからないぐらいこのことに固執してるからね
また何も知らないか、知ってても嘘をつく
いつものパターンね
568デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 13:40:37.89ID:nl2V9bb60 ちなみにmatzがソースコードに型を書きたくない理由だが
色々言ってるが、彼は詐欺師だから、本音ではないし、嘘も含まれる
まず
https://logmi.jp/tech/articles/321280
にも書いてあるし、たびたび登場するDRYに反するというやつ
言うまでもないが別ファイルに書く方がDRYに反するし
これは多分、彼の本音ではないし、煙に巻くための適当な言い訳
つぎに、静的型と動的型は振り子のようにトレンドが移り変わり
今後また動的型言語の時代が来るから、というもの
いやいやこれから先、動的型の時代など来ないだろうし、そもそもの前提がおかしい
C言語以降はずっと静的型の天下であり、動的型が勝ってた時代などなかった
振り子のようにというのがそもそも嘘偽り誇大表現、こうやって騙してくる
C/C++、Java、C#といった超メジャー言語にRubyが勝っていた時代など一度もなかっただろ、詐欺師め
色々言ってるが、彼は詐欺師だから、本音ではないし、嘘も含まれる
まず
https://logmi.jp/tech/articles/321280
にも書いてあるし、たびたび登場するDRYに反するというやつ
言うまでもないが別ファイルに書く方がDRYに反するし
これは多分、彼の本音ではないし、煙に巻くための適当な言い訳
つぎに、静的型と動的型は振り子のようにトレンドが移り変わり
今後また動的型言語の時代が来るから、というもの
いやいやこれから先、動的型の時代など来ないだろうし、そもそもの前提がおかしい
C言語以降はずっと静的型の天下であり、動的型が勝ってた時代などなかった
振り子のようにというのがそもそも嘘偽り誇大表現、こうやって騙してくる
C/C++、Java、C#といった超メジャー言語にRubyが勝っていた時代など一度もなかっただろ、詐欺師め
569デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 13:43:49.85ID:nl2V9bb60 もう一つ
ここに書いてあることが実は本音(らしい)
https://jp.quora.com/TypeScript%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E5%9E%8B%E4%BB%98%E3%81%91%E3%82%92Ruby%E3%81%AB%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%9F%E3%82%89%E6%9C%80%E9%AB%98%E3%81%AE%E8%A8%80%E8%AA%9E%E3%81%AB%E3%81%AA%E3%82%8B
要約すると、Rubyに型アノテーションが導入されたら
型を書いた方が行儀が良いという風潮が蔓延するだろうが、自分は型を書きたくないので
そのために型をかけないようにしておく、というもの
良いことが出来ると、良いことをする風潮になるだろうが
自分は悪いことがしたいから、良いことが出来ると困る
と言っているわけで、マジキチなのがお分かりいただけるだろうか
法律があると法律を守らなければならないから嫌
信号があると信号無視が出来ないから嫌
と言ってるようなもので、まさに悪人の考え
型は書いた方が良い、とうことはしっかり分かってる上で
嫌だから出来ないようにしておく、と言ってるわけで、悪人独特の自己矛盾
しかし普段自分の都合のいいように嘘しか言わない彼が、本音を語っている点は評価できる
ここに書いてあることが実は本音(らしい)
https://jp.quora.com/TypeScript%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E5%9E%8B%E4%BB%98%E3%81%91%E3%82%92Ruby%E3%81%AB%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%9F%E3%82%89%E6%9C%80%E9%AB%98%E3%81%AE%E8%A8%80%E8%AA%9E%E3%81%AB%E3%81%AA%E3%82%8B
要約すると、Rubyに型アノテーションが導入されたら
型を書いた方が行儀が良いという風潮が蔓延するだろうが、自分は型を書きたくないので
そのために型をかけないようにしておく、というもの
良いことが出来ると、良いことをする風潮になるだろうが
自分は悪いことがしたいから、良いことが出来ると困る
と言っているわけで、マジキチなのがお分かりいただけるだろうか
法律があると法律を守らなければならないから嫌
信号があると信号無視が出来ないから嫌
と言ってるようなもので、まさに悪人の考え
型は書いた方が良い、とうことはしっかり分かってる上で
嫌だから出来ないようにしておく、と言ってるわけで、悪人独特の自己矛盾
しかし普段自分の都合のいいように嘘しか言わない彼が、本音を語っている点は評価できる
570デフォルトの名無しさん (ワッチョイ 23da-dfB4)
2019/08/05(月) 13:47:09.02ID:3mqInMrR0 そろそろこっちでやれ
アンチということではなく本スレの代わりとして
Rubyについて(アンチ専用) Part005
https://mevius.5ch.net/test/read.cgi/tech/1555162340/
アンチということではなく本スレの代わりとして
Rubyについて(アンチ専用) Part005
https://mevius.5ch.net/test/read.cgi/tech/1555162340/
571デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 13:52:01.39ID:nl2V9bb60 しかし>>569に書いたようなことを公式で言うとマジキチだから
静的型を導入しない理由を聞かれると、いつも適当なことを言って言葉を濁しているわけ
これでRuby3.0で導入されるといわれる型チェックが
どうしてああいう感じになってるか良くわかるでしょ
静的型を導入しない理由を聞かれると、いつも適当なことを言って言葉を濁しているわけ
これでRuby3.0で導入されるといわれる型チェックが
どうしてああいう感じになってるか良くわかるでしょ
572デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 13:52:35.64ID:MNXFY7cg0 型を書きたくないんじゃなくて、Rubyの設計上、型を書こうとすると
設計レベルで作り直さなきゃいけなくなるから面倒くさいだけだよ。
設計レベルで作り直さなきゃいけなくなるから面倒くさいだけだよ。
573デフォルトの名無しさん (ワッチョイ ad7c-ONUK)
2019/08/05(月) 14:07:53.55ID:NOA3rn3w0 Perlも6で詰んだしな
*byも脱皮失敗で死亡
pythonは2->3でヨタヨタだがうまく離陸してくれ
*byも脱皮失敗で死亡
pythonは2->3でヨタヨタだがうまく離陸してくれ
574デフォルトの名無しさん (ワッチョイ 037d-SEhp)
2019/08/05(月) 14:08:47.58ID:kz1352lP0 単純に全体の完成度がバージョン0.8くらいに戻るよね
そこまでして「わざわざRubyに」導入するべきものでもないということではあろう
昔ならともかく今は他の言語もあるのだから
これ言うと揉めるけどな
そこまでして「わざわざRubyに」導入するべきものでもないということではあろう
昔ならともかく今は他の言語もあるのだから
これ言うと揉めるけどな
575デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 14:14:45.71ID:MNXFY7cg0 1. 型を導入すると良いものになる。
2. だけど全体を再設計しなければならない。(面倒くさい)
3. その上、使いやすくすると、言語がガラリと変わる
4. ユーザーもその「使いやすい言語」に乗り換えるのが面倒くさい
5. 結果使われなくなるのがわかっている。
6. Ruby離れを防ぎつつ、型を導入するには、コレしかなかった
2. だけど全体を再設計しなければならない。(面倒くさい)
3. その上、使いやすくすると、言語がガラリと変わる
4. ユーザーもその「使いやすい言語」に乗り換えるのが面倒くさい
5. 結果使われなくなるのがわかっている。
6. Ruby離れを防ぎつつ、型を導入するには、コレしかなかった
576デフォルトの名無しさん (ワッチョイ ad7c-TyxI)
2019/08/05(月) 14:23:24.52ID:NOA3rn3w0 型無し*byに不満な人はElixirやればいい
577デフォルトの名無しさん (ワッチョイ ad61-5VcE)
2019/08/05(月) 14:27:47.88ID:bU1KwNWi0 LISP や Smalltalk が好きな人にとって使いやすい Perl の代替となるスクリプト言語なんだから、型欲しい人は他の言語使えば? と言うだけの話。
型を導入すると対話環境での使い勝手が悪くなり、書き捨てのプログラムを書く際の手間が増える。それは楽しくない。
型を使うと速くなる? そんなに速度が要求される要件に使うなんて決定をする奴がおかしい。 型を使うとバグが減る? そんなにレベルの低い人は使わなければいい。
妥協できるラインが、今の、書きたいやつは書けば良いんじゃない?でも、文法を拡張して既存コードとの非互換生むような修整は受け入れられない。
と言う話でしょ。
型を導入すると対話環境での使い勝手が悪くなり、書き捨てのプログラムを書く際の手間が増える。それは楽しくない。
型を使うと速くなる? そんなに速度が要求される要件に使うなんて決定をする奴がおかしい。 型を使うとバグが減る? そんなにレベルの低い人は使わなければいい。
妥協できるラインが、今の、書きたいやつは書けば良いんじゃない?でも、文法を拡張して既存コードとの非互換生むような修整は受け入れられない。
と言う話でしょ。
578デフォルトの名無しさん (ワッチョイ ad61-5VcE)
2019/08/05(月) 14:32:38.11ID:bU1KwNWi0579デフォルトの名無しさん (ワッチョイ 23a5-dfB4)
2019/08/05(月) 15:48:35.23ID:Umi2Ipdj0 ドキュメントに型を書くことになるんだから、そこの仕様をしっかり決めるべきだった
580デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 16:30:50.53ID:MNXFY7cg0581デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 16:33:24.89ID:MNXFY7cg0 >>577
> 型を使うと速くなる? そんなに速度が要求される要件に使うなんて決定をする奴がおかしい。
> 型を使うとバグが減る? そんなにレベルの低い人は使わなければいい。
その二つ、論点のすり替えだよね?
型を使うと速くなる? → それは事実 → だから人間の問題にすり替える。
型を使うとバグが減る? → それは事実 → だから人間の問題にすり替える。
事実ならまず「それは事実だね」って言ってみようか?
事実に対して反論するかと思いきや、反論しないんだもの(笑)
> 型を使うと速くなる? そんなに速度が要求される要件に使うなんて決定をする奴がおかしい。
> 型を使うとバグが減る? そんなにレベルの低い人は使わなければいい。
その二つ、論点のすり替えだよね?
型を使うと速くなる? → それは事実 → だから人間の問題にすり替える。
型を使うとバグが減る? → それは事実 → だから人間の問題にすり替える。
事実ならまず「それは事実だね」って言ってみようか?
事実に対して反論するかと思いきや、反論しないんだもの(笑)
582デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 16:34:57.91ID:MNXFY7cg0 > でも、文法を拡張して既存コードとの非互換生むような修整は受け入れられない。
結局本音はそこ。
速くなるとかバグが減るという "事実" は存在するが、
既存コードの非互換性をうむから、改善できない。
結局本音はそこ。
速くなるとかバグが減るという "事実" は存在するが、
既存コードの非互換性をうむから、改善できない。
583デフォルトの名無しさん (ワッチョイ ad61-5VcE)
2019/08/05(月) 17:42:09.05ID:bU1KwNWi0 >>581
型を入れてもオープンクラスな言語では大して速度は上がらない。精々一部のループの速度が上がるだけ。それは事実。java みたいに final や primitive 型入れれば効果は相当あると思うけど、それは Ruby を否定することになる。
型を入れると未熟なプログラマでもコンパイル時に分かる程度のバグなら発見できることはある。それは事実。でも実行時例外の回避は出来ないし、オープンクラスを使ったダックタイピングという Ruby の言語デザイン自体を否定することになる。
> 事実に対して反論するかと思いきや、反論しないんだもの(笑)
反論もなにも、自分はこのスレッドで >>344 >>577 >>578 しか書いてないよ。
だから、なんらかの反論を待ってるならその相手は自分ではない。
自分は Ruby に非互換を生む型の導入を期待するくらいなら、型有りの別の言語で書けばいいじゃんという立場。
>>580
この場合の strict モードって何を指してるの?
RPython 的に SRuby 作って型使いたい人は SRuby 使えってこと?同一バイナリにしてモード切り替えするとしたら、パーサも VM もほぼ別物レベルになると思うけど。
共有できるとしたら、pure ruby で書かれたごく一部のライブラリ程度じゃない?
型を入れてもオープンクラスな言語では大して速度は上がらない。精々一部のループの速度が上がるだけ。それは事実。java みたいに final や primitive 型入れれば効果は相当あると思うけど、それは Ruby を否定することになる。
型を入れると未熟なプログラマでもコンパイル時に分かる程度のバグなら発見できることはある。それは事実。でも実行時例外の回避は出来ないし、オープンクラスを使ったダックタイピングという Ruby の言語デザイン自体を否定することになる。
> 事実に対して反論するかと思いきや、反論しないんだもの(笑)
反論もなにも、自分はこのスレッドで >>344 >>577 >>578 しか書いてないよ。
だから、なんらかの反論を待ってるならその相手は自分ではない。
自分は Ruby に非互換を生む型の導入を期待するくらいなら、型有りの別の言語で書けばいいじゃんという立場。
>>580
この場合の strict モードって何を指してるの?
RPython 的に SRuby 作って型使いたい人は SRuby 使えってこと?同一バイナリにしてモード切り替えするとしたら、パーサも VM もほぼ別物レベルになると思うけど。
共有できるとしたら、pure ruby で書かれたごく一部のライブラリ程度じゃない?
584デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 17:55:40.47ID:MNXFY7cg0 型を入れてもオープンクラスな言語では大して速度は上がらない
→オープンでない言語なら速度は上がる
→速度を上げるためにはオープンでなくすれば良い
→そのような改善方法は存在するが、非互換性をうむから、取り入れられない。
→まつもと「Rubyでは改善はなんです。諦めてください」
→オープンでない言語なら速度は上がる
→速度を上げるためにはオープンでなくすれば良い
→そのような改善方法は存在するが、非互換性をうむから、取り入れられない。
→まつもと「Rubyでは改善はなんです。諦めてください」
585デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 17:55:56.86ID:MNXFY7cg0 →まつもと「Rubyでは改善は無理なんです。諦めてください」
586デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 17:58:22.53ID:MNXFY7cg0 >この場合の strict モードって何を指してるの?
適切な型を書いたものがstrictモード
だがどのオブジェクト指向でも、基底クラスのobject型として扱うことはできる。
暗黙的にobject型の変数を使ってるとみなしているのが今のRuby。
変数の型をobject型と書く(もしくは省略)か、適切な型を書くかの違い。
適切な型を書いたものがstrictモード
だがどのオブジェクト指向でも、基底クラスのobject型として扱うことはできる。
暗黙的にobject型の変数を使ってるとみなしているのが今のRuby。
変数の型をobject型と書く(もしくは省略)か、適切な型を書くかの違い。
587デフォルトの名無しさん (ワッチョイ 65cd-mfhl)
2019/08/05(月) 18:29:24.24ID:WUbT37Lx0 > 実行時例外の回避は出来ないし
は?
は?
588デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/05(月) 18:55:01.90ID:kCWOwKEP0 Rubyの癌は、型を指定できないことよりも、宣言ができないこと。
型を指定できないのは、宣言ができないことによる副産物。
宣言は、ここからこのオブジェクトを使うで、ということを明確にできてわかりやすいのに、何で嫌がってんだか。
型を指定できないのは、宣言ができないことによる副産物。
宣言は、ここからこのオブジェクトを使うで、ということを明確にできてわかりやすいのに、何で嫌がってんだか。
589デフォルトの名無しさん (ワッチョイ ad61-5VcE)
2019/08/05(月) 19:04:12.59ID:bU1KwNWi0 >>586
strict モードにしたら
Class が凍結されるの?
途中でモードを切り替えられるの?
そのスコープは?
マルチスレッド時の挙動は?
Object クラス(Kernelも?)への継承関係がなくなるの?
データは VALUE 型じゃなくなるの?
オブジェクトのデータ構造は自分で C で定義するの?
既存CAPIとの整合はどう取るの?
そのコードを古いインタプリタに食わせたらどうなるの?
また分断するの?(想像するに1.4->1.6 や 1.8->1.9 より大きそうだけど)
strict にしたら何がどう変わるのかわからん。
過去に例示してあるのなら参照求む。
>>585
そう。 大抵の要望は Crystal で解決されてると思う。
速度欲しいなら Elixir 。もしくは C で FFI。
strict モードにしたら
Class が凍結されるの?
途中でモードを切り替えられるの?
そのスコープは?
マルチスレッド時の挙動は?
Object クラス(Kernelも?)への継承関係がなくなるの?
データは VALUE 型じゃなくなるの?
オブジェクトのデータ構造は自分で C で定義するの?
既存CAPIとの整合はどう取るの?
そのコードを古いインタプリタに食わせたらどうなるの?
また分断するの?(想像するに1.4->1.6 や 1.8->1.9 より大きそうだけど)
strict にしたら何がどう変わるのかわからん。
過去に例示してあるのなら参照求む。
>>585
そう。 大抵の要望は Crystal で解決されてると思う。
速度欲しいなら Elixir 。もしくは C で FFI。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 千晴おはよう
- 【実況】博衣こよりのえちえち朝こよ🧪
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 🏡
- 「これが完成された醜い姿である>>1」←これなに?
- 安倍晋三の遺産、日銀ETF売却終了予定は2138年 [115996789]
