プログラミング言語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
728デフォルトの名無しさん
2017/11/05(日) 13:25:33.32ID:P7Kt20uM でさ、Pythonの話なんだけど、あの言語標準で
なんでもかんでも用意するっていうのは素晴らしいと思うわけ
なんでもかんでも用意するっていうのは素晴らしいと思うわけ
729デフォルトの名無しさん
2017/11/05(日) 13:31:15.46ID:gkdND+eq730デフォルトの名無しさん
2017/11/05(日) 14:19:09.06ID:WRVCeBNz731デフォルトの名無しさん
2017/11/05(日) 16:46:03.37ID:dOXftlaT 荒らす意図でないならRuby議論スレ立てな。スレタイ読める?
732デフォルトの名無しさん
2017/11/05(日) 18:38:16.07ID:S5vmMqw3 おいこら
自演してスレ立てんなどあほ
Pythonスレいけやボケ
自演してスレ立てんなどあほ
Pythonスレいけやボケ
733デフォルトの名無しさん
2017/11/05(日) 20:12:15.28ID:sB6tkFho 荒らしってまだいるの?
734デフォルトの名無しさん
2017/11/05(日) 20:43:53.38ID:vWNY+clC >>733
初心者スレでしか議論ゴッコが出来ない奴も荒らしだろうな。
初心者スレでしか議論ゴッコが出来ない奴も荒らしだろうな。
735デフォルトの名無しさん
2017/11/05(日) 22:24:18.88ID:S5vmMqw3736デフォルトの名無しさん
2017/11/05(日) 22:44:38.97ID:sB6tkFho >>735
これだけ長々やってるならどんなにIDを変えようがリホモだって固まってくる筈だから、
サーバ管理者に言えば各リホモ教えて貰えたり、
永久ban等の対策してもらえるんじゃない?
サーバ管理者自身が荒らしてるのでなければだけど
これだけ長々やってるならどんなにIDを変えようがリホモだって固まってくる筈だから、
サーバ管理者に言えば各リホモ教えて貰えたり、
永久ban等の対策してもらえるんじゃない?
サーバ管理者自身が荒らしてるのでなければだけど
737デフォルトの名無しさん
2017/11/05(日) 23:25:03.80ID:Gz3QD+PD >>736
アッー!はお断りなんですけど
アッー!はお断りなんですけど
738デフォルトの名無しさん
2017/11/05(日) 23:33:25.37ID:S5vmMqw3739デフォルトの名無しさん
2017/11/06(月) 00:33:47.14ID:JFyWwn9i 注意してもしなくても続けるのが荒らしなんだから問答無用で良い
740デフォルトの名無しさん
2017/11/06(月) 01:18:05.29ID:+FH43uxL >>736
推測じゃなくて実際にやってみ
基本は削除依頼だ
http://qb5.5ch.net/saku/index2.html
http://qb5.5ch.net/test/read.cgi/saku/1352422796/l50
削除が追いつかないとみなされたときにのみ規制が考慮される
削除議論スレ
http://agree.5ch.net/test/read.cgi/sakud/1116892398/l50
サーバに負担をかけるとされるときは規制議論にスレが立てられる
http://agree.5ch.net/sec2chd/subback.html
もう一度だけ持論を述べさせてもらうなら、>>730で書いたとおり、
いまや見捨てるコストのほうが維持しようとするコストより圧倒的に安い
推測じゃなくて実際にやってみ
基本は削除依頼だ
http://qb5.5ch.net/saku/index2.html
http://qb5.5ch.net/test/read.cgi/saku/1352422796/l50
削除が追いつかないとみなされたときにのみ規制が考慮される
削除議論スレ
http://agree.5ch.net/test/read.cgi/sakud/1116892398/l50
サーバに負担をかけるとされるときは規制議論にスレが立てられる
http://agree.5ch.net/sec2chd/subback.html
もう一度だけ持論を述べさせてもらうなら、>>730で書いたとおり、
いまや見捨てるコストのほうが維持しようとするコストより圧倒的に安い
741デフォルトの名無しさん
2017/11/06(月) 09:25:16.33ID:xdkFQOua 荒らしが何か言ってるが無視無視
742デフォルトの名無しさん
2017/11/06(月) 12:22:13.30ID:2TAusKQx 荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
注意するとしたらこんな感じか?
これでも続けるのが荒らしだから、見分けやすくなるだろう
荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
注意するとしたらこんな感じか?
これでも続けるのが荒らしだから、見分けやすくなるだろう
743デフォルトの名無しさん
2017/11/06(月) 13:07:39.87ID:wL8uE6G5 >>729
誰しも神ではないから本当の意味での過ちかは誰にもわからないし
そこの部分の定義ははっきり言ってどうでもよいが
ともかく過ちを訂正する振る舞いが行われた、という事実だけで十分
現象としての事実だけが重要だし、それ以上は求めてない
それに、「過ちだったか?」などという議論の段階では無くて
もう既に訂正されているし、意思が行動で示されてるし、終わったこと
>「過ち」だと言い切るならそれを披露してこいよ
何度も言ってるが、もう済んだ過去のことを無理に掘り起こして
つべこべ言う趣味はない
誰しも神ではないから本当の意味での過ちかは誰にもわからないし
そこの部分の定義ははっきり言ってどうでもよいが
ともかく過ちを訂正する振る舞いが行われた、という事実だけで十分
現象としての事実だけが重要だし、それ以上は求めてない
それに、「過ちだったか?」などという議論の段階では無くて
もう既に訂正されているし、意思が行動で示されてるし、終わったこと
>「過ち」だと言い切るならそれを披露してこいよ
何度も言ってるが、もう済んだ過去のことを無理に掘り起こして
つべこべ言う趣味はない
744デフォルトの名無しさん
2017/11/06(月) 14:08:37.90ID:xdkFQOua さっそく出やがったな
すれ違いじゃぼけ
すれ違いじゃぼけ
745デフォルトの名無しさん
2017/11/06(月) 14:24:36.94ID:2TAusKQx >荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
毎回コレをはっても、続けるようなら悪質だよ
後は粛々と関連する法令の元で弁護士に請求してもらって、法的に措置とるしかない
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
毎回コレをはっても、続けるようなら悪質だよ
後は粛々と関連する法令の元で弁護士に請求してもらって、法的に措置とるしかない
746デフォルトの名無しさん
2017/11/06(月) 14:58:55.26ID:Vd7vqFxu 荒らしがどうこう言ってる奴らのほうが圧倒的に鬱陶しい
747デフォルトの名無しさん
2017/11/06(月) 15:11:00.00ID:xdkFQOua 荒らしが火病っとる
748デフォルトの名無しさん
2017/11/06(月) 15:18:46.17ID:JFyWwn9i もう相当長く粘着されてるからこの辺りで荒らしとはケリをつけて良いと思う
いい加減にうざい
いい加減にうざい
749デフォルトの名無しさん
2017/11/06(月) 15:37:48.41ID:xdkFQOua >荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
荒らしはこれ張られるのが物凄く嫌いみたいだな
荒らしってばれちゃうから
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
荒らしはこれ張られるのが物凄く嫌いみたいだな
荒らしってばれちゃうから
750デフォルトの名無しさん
2017/11/06(月) 15:49:08.45ID:6JLIEeFJ >プログラマは楽できないし、マシンに負荷がかかるだけだった
嗤っちゃ遺憾がほんそれの通りだ
みんな裸の王様が好きなのかそれともそのことにすら気付いていないあほばっか
嗤っちゃ遺憾がほんそれの通りだ
みんな裸の王様が好きなのかそれともそのことにすら気付いていないあほばっか
751デフォルトの名無しさん
2017/11/06(月) 15:59:10.22ID:xdkFQOua また出やがった
752デフォルトの名無しさん
2017/11/06(月) 16:01:06.01ID:JjVH4ZAK 上に出てたテンプレ張ってとことん荒らしを炙り出してやればいい
誰も困らないし
つーか、荒らしの一人芝居がキモイ
誰も困らないし
つーか、荒らしの一人芝居がキモイ
753デフォルトの名無しさん
2017/11/06(月) 16:10:20.13ID:xdkFQOua 荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
とりあえず荒らしはこれを破りたがるから踏み絵にして、IPやリモホ請求するか
荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
とりあえず荒らしはこれを破りたがるから踏み絵にして、IPやリモホ請求するか
754デフォルトの名無しさん
2017/11/06(月) 16:12:38.62ID:Vd7vqFxu そもそも誰のことを荒らしと言ってるのかがわからないし、過剰反応してて気味が悪い
755デフォルトの名無しさん
2017/11/06(月) 16:15:07.42ID:5ghIEcyF 散々、荒らされたけどこれで決着か
どれくらい荒らされてたんだっけ?
半年?
どれくらい荒らされてたんだっけ?
半年?
756デフォルトの名無しさん
2017/11/06(月) 16:26:03.44ID:xdkFQOua それぐらいじゃない?
流石にこんなに長期間荒らされたら誰だって対策もとるし、
過剰反応とかなんとか苦情を言い出すのは自演してる荒らし意外いないわ
流石にこんなに長期間荒らされたら誰だって対策もとるし、
過剰反応とかなんとか苦情を言い出すのは自演してる荒らし意外いないわ
757デフォルトの名無しさん
2017/11/06(月) 16:33:56.86ID:5ghIEcyF 一般人を装った荒らしが文句を言うかもしれないけど、
ここは初心者用の質問スレだから、荒らしの排除は誰からも文句でないよ
ここは初心者用の質問スレだから、荒らしの排除は誰からも文句でないよ
758デフォルトの名無しさん
2017/11/06(月) 16:40:49.63ID:xdkFQOua これだけ注意しても荒らしは意固地になって自演してくれるわけだから
ある意味、わかりやすい
ある意味、わかりやすい
759デフォルトの名無しさん
2017/11/06(月) 18:00:13.17ID:RNAOm4Mq760デフォルトの名無しさん
2017/11/06(月) 18:44:46.08ID:5ghIEcyF761デフォルトの名無しさん
2017/11/06(月) 22:49:22.33ID:tjV5ukzM 【ActiveScript】RubyをWindowsで使うスレ【GUI】
http://mevius.2ch.net/test/read.cgi/tech/1155031689/
なんか連投してる奴がいて落ちたな
http://mevius.2ch.net/test/read.cgi/tech/1155031689/
なんか連投してる奴がいて落ちたな
762デフォルトの名無しさん
2017/11/07(火) 07:31:48.57ID:aiMeo2fF class Hoge
require 'matrix'
class Vector
def huga
return "huga"
end
end
def self.get_vector(array)
return Vector[ *array ]
end
end
p Hoge.get_vector([1,2,3])
#=> 11:in `get_vector': undefined method `[]' for Hoge::Vector:Class (NoMethodError)
これやるとVectorの元のメソッドが未定義っていわれるんだけど、
オープンクラスなライブラリとそうじゃないライブラリがあるの?
class Vector < Vectorって派生させてやればメソッドの追加はできるけど、ものすごく気になる
require 'matrix'
class Vector
def huga
return "huga"
end
end
def self.get_vector(array)
return Vector[ *array ]
end
end
p Hoge.get_vector([1,2,3])
#=> 11:in `get_vector': undefined method `[]' for Hoge::Vector:Class (NoMethodError)
これやるとVectorの元のメソッドが未定義っていわれるんだけど、
オープンクラスなライブラリとそうじゃないライブラリがあるの?
class Vector < Vectorって派生させてやればメソッドの追加はできるけど、ものすごく気になる
763デフォルトの名無しさん
2017/11/07(火) 08:10:41.00ID:uepCx6fG クラスを一旦閉じてから、また開けば?
764デフォルトの名無しさん
2017/11/07(火) 08:46:40.88ID:pIiosI/w 現実を正確にとらえる力や想像力が無いのが分かりやすく露呈してて
面白い流れだったから期待してたけど、あまり伸びなかったね
まともな頭のやつは流石にドン引きしたか
面白い流れだったから期待してたけど、あまり伸びなかったね
まともな頭のやつは流石にドン引きしたか
765デフォルトの名無しさん
2017/11/07(火) 09:20:39.93ID:aiMeo2fF766デフォルトの名無しさん
2017/11/07(火) 10:14:55.61ID:sYu75wDW Hogeクラス内でVectorクラスを定義すると、Hoge::Vectorクラスを定義する事になる
当然、require 'matrix'でロードされるのはHoge::Vectorクラスではなく、トップレベルで定義されたVectorクラスだから、違うクラスを定義している事になる
self.get_vector(array)メソッドはmatrixのVectorクラスではなくHoge::Vectorクラスのメソッドを呼び出そうとしてそんなメソッドはありませんよって言ってるわけ
matrixのVectorクラスはトップレベルで定義されているからどこからでも呼べるけど、
追加の定義を行うにはトップレベルで記述するか、下記のように記述する必要がある
class Hoge
require 'matrix'
class ::Vector
def huga
return "huga"
end
end
end
p Vector[1,2,3].huga
それはそうと、初心者用の質問スレで質問をブッチして意味不明な事を言い出す奴は何考えてるんだ?
ここは初心者用の質問スレだぞ?
そんなに自己主張したいなら他スレ行けよ
当然、require 'matrix'でロードされるのはHoge::Vectorクラスではなく、トップレベルで定義されたVectorクラスだから、違うクラスを定義している事になる
self.get_vector(array)メソッドはmatrixのVectorクラスではなくHoge::Vectorクラスのメソッドを呼び出そうとしてそんなメソッドはありませんよって言ってるわけ
matrixのVectorクラスはトップレベルで定義されているからどこからでも呼べるけど、
追加の定義を行うにはトップレベルで記述するか、下記のように記述する必要がある
class Hoge
require 'matrix'
class ::Vector
def huga
return "huga"
end
end
end
p Vector[1,2,3].huga
それはそうと、初心者用の質問スレで質問をブッチして意味不明な事を言い出す奴は何考えてるんだ?
ここは初心者用の質問スレだぞ?
そんなに自己主張したいなら他スレ行けよ
767デフォルトの名無しさん
2017/11/07(火) 10:33:50.08ID:uepCx6fG >Vector[ *array ]
Vector クラスに、[ ] のメソッドが無いのだろ
Vector クラス内で、Vector を使っているのが、おかしいのかも?
self を使えば?
メタプログラミングは、この本を読む。
メタプログラミング Ruby 第2版、2015
「ruby オープンクラス」で検索して
Vector クラスに、[ ] のメソッドが無いのだろ
Vector クラス内で、Vector を使っているのが、おかしいのかも?
self を使えば?
メタプログラミングは、この本を読む。
メタプログラミング Ruby 第2版、2015
「ruby オープンクラス」で検索して
768デフォルトの名無しさん
2017/11/07(火) 10:51:58.21ID:AVR6D+uA Vectorに[]あるから
769デフォルトの名無しさん
2017/11/07(火) 11:41:45.24ID:aiMeo2fF Rubyの内部クラスの定義ってそういう事なんだ
すごく勉強になった
ついでにもう一つ質問
特定の内部クラスとしてtopレベルにあるクラスを継承した時、
クラスの一部が機能しなくなるクラスってあるの?
継承すれば元のクラスの全部を引き継ぐんだよね?
すごく勉強になった
ついでにもう一つ質問
特定の内部クラスとしてtopレベルにあるクラスを継承した時、
クラスの一部が機能しなくなるクラスってあるの?
継承すれば元のクラスの全部を引き継ぐんだよね?
770デフォルトの名無しさん
2017/11/07(火) 16:38:43.71ID:speVoQlz >>761
どうせおまえが犯人だろ
どうせおまえが犯人だろ
771デフォルトの名無しさん
2017/11/07(火) 16:58:38.40ID:qTtPzD5n772デフォルトの名無しさん
2017/11/07(火) 20:00:55.15ID:twCDXPE4 同じRubyファイル内で定義したメソッドを別のメソッド内で呼び出すことってできる?
AAA.rbってファイルがあって、その中に『def A』ってメソッドと『def B』ってメソッドがあって、メソッドBの中でメソッドAを呼び出す的な
AAA.rbってファイルがあって、その中に『def A』ってメソッドと『def B』ってメソッドがあって、メソッドBの中でメソッドAを呼び出す的な
773デフォルトの名無しさん
2017/11/07(火) 20:18:12.84ID:EPRxDT20 def a
hoge
end
def b
a
end
hoge
end
def b
a
end
774デフォルトの名無しさん
2017/11/07(火) 20:22:59.97ID:twCDXPE4 ごめん、普通にできた
775デフォルトの名無しさん
2017/11/07(火) 21:07:47.29ID:PZcCqrnZ クラスメソッド、インスタンスメソッドなど継承される。
変数に関する記憶が怪しかったからちょっと確認したら、
クラス自身のインスタンス変数のみが警鐘されない買った。
class A
X = self # 定数は継承される!
@y = self # クラス自身のインスタンス変数は継承されない!
@@z = self # クラス変数は継承されう!
end
class B < A
p X: X, y: @y, z: @@z
# => {:X=>A, :y=>nil, :z=>A}
end
変数に関する記憶が怪しかったからちょっと確認したら、
クラス自身のインスタンス変数のみが警鐘されない買った。
class A
X = self # 定数は継承される!
@y = self # クラス自身のインスタンス変数は継承されない!
@@z = self # クラス変数は継承されう!
end
class B < A
p X: X, y: @y, z: @@z
# => {:X=>A, :y=>nil, :z=>A}
end
776デフォルトの名無しさん
2017/11/07(火) 21:09:24.61ID:PZcCqrnZ777デフォルトの名無しさん
2017/11/07(火) 21:09:59.57ID:hhPr1fc6778デフォルトの名無しさん
2017/11/07(火) 22:04:06.56ID:sYu75wDW >>777
いい加減うせろよ荒らし
これ以上スレの進行を妨害するな
それと下記のテンプレ読めや
>荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
いい加減うせろよ荒らし
これ以上スレの進行を妨害するな
それと下記のテンプレ読めや
>荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
779デフォルトの名無しさん
2017/11/08(水) 08:00:52.41ID:jFXmR+bn >>778
だからそれを他人に強制して何か変えた気になる前にあなたの考えできちんと行動しろと言われているのでは
だからそれを他人に強制して何か変えた気になる前にあなたの考えできちんと行動しろと言われているのでは
780デフォルトの名無しさん
2017/11/08(水) 09:11:49.22ID:JQY6Yohe >>779
お前モナ
お前モナ
781デフォルトの名無しさん
2017/11/08(水) 10:02:46.51ID:D96h8IHt テンプレのおかげで誰が荒らしかすぐ分るようになったな
さすがに半年以上も荒らされて、みんなぶち切れてたし
さすがに半年以上も荒らされて、みんなぶち切れてたし
782デフォルトの名無しさん
2017/11/08(水) 10:09:02.34ID:hy4K9jZ1 なかなか面白い流れだな
783デフォルトの名無しさん
2017/11/08(水) 10:28:19.29ID:BuB9+Tz4 コードで間接参照の概念が必要になったとき、
Arrayクラスでオブジェクトを包装してやり取りしてるんだけど
Ruby的には正しいのコレ?
Arrayクラスでオブジェクトを包装してやり取りしてるんだけど
Ruby的には正しいのコレ?
784デフォルトの名無しさん
2017/11/08(水) 11:01:17.22ID:/a2FPcjq そもそも何が間違いかなんて見方はナンセンス
筋が悪いとは思う
筋が悪いとは思う
785デフォルトの名無しさん
2017/11/08(水) 13:25:58.44ID:KVemNC3B >>783
Rubyに限らないが、一般論でいうなら、低い抽象度で物事を考えすぎてる
例えば文字列中のカーソルの位置を進めるなら、
それは pos[0] += 1 ではなく cursor.next_char() だろ
Rubyに限らないが、一般論でいうなら、低い抽象度で物事を考えすぎてる
例えば文字列中のカーソルの位置を進めるなら、
それは pos[0] += 1 ではなく cursor.next_char() だろ
786デフォルトの名無しさん
2017/11/08(水) 20:27:09.27ID:yXBCWp2w Rubyでポインタが必要だと思ったことがまずない
Cを難解にしてるのがポインタだし
Cを難解にしてるのがポインタだし
787デフォルトの名無しさん
2017/11/08(水) 23:27:04.92ID:CJyDItek 関数やprocやlambdaでSystemStackErrorを起こすとRuby自体が落ちちゃうんだけどこれって仕様?
https://ideone.com/GmkU9W
IDEONEでは何も問題ないんだけど
うちの環境(UbuntuとWindows8.1)ではnested_method1の2回目の途中でRubyが落ちる
1.8.7ではなぜか問題なく動くがそれ以外のバージョンは全て全滅
https://ideone.com/GmkU9W
IDEONEでは何も問題ないんだけど
うちの環境(UbuntuとWindows8.1)ではnested_method1の2回目の途中でRubyが落ちる
1.8.7ではなぜか問題なく動くがそれ以外のバージョンは全て全滅
788デフォルトの名無しさん
2017/11/08(水) 23:28:13.06ID:CJyDItek ああ1行目は関数じゃなくてメソッドね
789デフォルトの名無しさん
2017/11/09(木) 08:01:53.37ID:LcbWCl7/ メモリーがハード故障起こしてると落ちたりするし、マルウェアからの保護機能で落とされてる可能性も有る
落ちる現象がハードウェア要因なのかソフトウェア要因なのかいまいち判断付かないから、
CPUからM/B、OSのバージョンとかRubyのインスコ環境や実行環境をもっと書いて
なんだったらVMWareでシンプルな環境を構築してそこでコードを試して、落ちるかどうか確認する方法もある
落ちる現象がハードウェア要因なのかソフトウェア要因なのかいまいち判断付かないから、
CPUからM/B、OSのバージョンとかRubyのインスコ環境や実行環境をもっと書いて
なんだったらVMWareでシンプルな環境を構築してそこでコードを試して、落ちるかどうか確認する方法もある
790デフォルトの名無しさん
2017/11/09(木) 08:11:17.58ID:O2u0zvzZ >>787
ruby のBug だと思う。
手元の環境だと、2.4.2 2.3.5 2.5.0-preview1 rbx-3.84 でsegfault 、jruby-9.1.13.0 はsegfault は回避してるのを確認した。
1.9 以降で出てきたのは、ruby の実行エンジンが YARV 化されたタイミングでの問題だと思う。
ただ、スタック食いつぶす動作を安全に回避するのは面倒な上に、過度な再帰はプログラムの問題なので優先度は低い扱いになる気がする。
ruby のBug だと思う。
手元の環境だと、2.4.2 2.3.5 2.5.0-preview1 rbx-3.84 でsegfault 、jruby-9.1.13.0 はsegfault は回避してるのを確認した。
1.9 以降で出てきたのは、ruby の実行エンジンが YARV 化されたタイミングでの問題だと思う。
ただ、スタック食いつぶす動作を安全に回避するのは面倒な上に、過度な再帰はプログラムの問題なので優先度は低い扱いになる気がする。
791デフォルトの名無しさん
2017/11/09(木) 09:11:32.41ID:Zo52Bx6X 既知のバグなの?
792デフォルトの名無しさん
2017/11/09(木) 10:02:35.59ID:UInw5/Yz begin - rescue を外に書けってことかな
793デフォルトの名無しさん
2017/11/09(木) 10:47:34.59ID:LcbWCl7/ ttps://bugs.ruby-lang.org/projects/ruby/wiki/HowtoReportJa
バグレポートのやりかたのページ貼っておく
バグレポートのやりかたのページ貼っておく
794デフォルトの名無しさん
2017/11/09(木) 11:09:27.98ID:Zo52Bx6X >>792
ruby落ちて
ruby落ちて
795デフォルトの名無しさん
2017/11/09(木) 11:10:33.69ID:Zo52Bx6X るんだが
796デフォルトの名無しさん
2017/11/09(木) 11:21:25.84ID:UInw5/Yz 外に書いたら落ちないんじゃね
797デフォルトの名無しさん
2017/11/09(木) 12:44:30.09ID:lsXbZUw6 >>789-790
ありがとう
SEGVだったんだね
確認してみたところ同様の問題はいくつも報告されてたわ
https://bugs.ruby-lang.org/issues/13412
https://bugs.ruby-lang.org/issues/13596
ちなみに
RUBY_THREAD_VM_STACK_SIZEを10000とか小さい値にすると
>>787は想定通り動く
ありがとう
SEGVだったんだね
確認してみたところ同様の問題はいくつも報告されてたわ
https://bugs.ruby-lang.org/issues/13412
https://bugs.ruby-lang.org/issues/13596
ちなみに
RUBY_THREAD_VM_STACK_SIZEを10000とか小さい値にすると
>>787は想定通り動く
798デフォルトの名無しさん
2017/11/09(木) 15:30:22.12ID:LcbWCl7/ #terget = Proc.new do |x|
#p "nest_in"
#x.call(x)
#p "nest_out"
#end
#terget.call(terget)
proc使ってstack level too deep (SystemStackError)が出るコードって言ったらこんな感じか?
#p "nest_in"
#x.call(x)
#p "nest_out"
#end
#terget.call(terget)
proc使ってstack level too deep (SystemStackError)が出るコードって言ったらこんな感じか?
799デフォルトの名無しさん
2017/11/09(木) 17:52:29.86ID:hsGRI/CZ ポインタが難解なのではない、C/C++のポインタの実装が難解なのだ
800デフォルトの名無しさん
2017/11/09(木) 17:58:10.14ID:Kt7ooYYm >>798
(f=->{f[]})[]
(f=->{f[]})[]
801デフォルトの名無しさん
2017/11/09(木) 19:19:57.54ID:UInw5/Yz >>799
+1
+1
802デフォルトの名無しさん
2017/11/09(木) 19:47:42.78ID:LcbWCl7/ 平易といわれようが読みやすいんだから仕方がない
def func_recall()
func_recall()
end
proc{func_recall()}.call
def func_recall()
func_recall()
end
proc{func_recall()}.call
803デフォルトの名無しさん
2017/11/09(木) 19:58:50.93ID:EJhAj4oK 昨日と同じように今日も池沼のフリして荒らしてきたか
804デフォルトの名無しさん
2017/11/09(木) 20:10:42.01ID:Zo52Bx6X 荒らし本人は自演がばれてないと本気で思っていそう
今のうちに例のテンプレ貼っとく
>荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
今のうちに例のテンプレ貼っとく
>荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
805デフォルトの名無しさん
2017/11/10(金) 21:19:41.48ID:zSzvlQjG new以外のインスタンス生成方法を持ってるクラスって、
派生させても元のクラスのインスタンスを生成するんだね
全てのメソッド書き換えるのがすごく面倒なんだけど何か良い方法ない?
派生させても元のクラスのインスタンスを生成するんだね
全てのメソッド書き換えるのがすごく面倒なんだけど何か良い方法ない?
806デフォルトの名無しさん
2017/11/10(金) 22:05:04.82ID:tus45AjF self.class.new
807デフォルトの名無しさん
2017/11/10(金) 22:51:06.22ID:zSzvlQjG class MyArray < Array
end
p (MyArray[1,2,3] + MyArray[1,2,3]).class
#=>Array
上のコードを見てもらえば分るけど、
Arrayを継承したMyArrayのインスタンス同士の演算を行うと、MyArrayでなくArrayのインスタンスが出力される
全てのメソッドの出力をMyArrayのインスタンスになるようにしたいんだけど、
メソッドを全部書き換える以外に良い方法って何かない?
end
p (MyArray[1,2,3] + MyArray[1,2,3]).class
#=>Array
上のコードを見てもらえば分るけど、
Arrayを継承したMyArrayのインスタンス同士の演算を行うと、MyArrayでなくArrayのインスタンスが出力される
全てのメソッドの出力をMyArrayのインスタンスになるようにしたいんだけど、
メソッドを全部書き換える以外に良い方法って何かない?
808デフォルトの名無しさん
2017/11/10(金) 23:47:08.43ID:fJV6zsPP >>807
ソースコードを見てみるとArrayの派生クラスであってもArrayとして作成されるようになってる
https://github.com/ruby/ruby/blob/trunk/array.c#L3643
度々似たようなやり取りが起こるけど、この件についてはRubyの仕様として、
改善される兆しが見えない (開発者の変更する必要性が薄そう)
正攻法となるとメーリングリストのruby-devに必要性を訴えて改善するくらいになるんじゃないかなあ
ソースコードを見てみるとArrayの派生クラスであってもArrayとして作成されるようになってる
https://github.com/ruby/ruby/blob/trunk/array.c#L3643
度々似たようなやり取りが起こるけど、この件についてはRubyの仕様として、
改善される兆しが見えない (開発者の変更する必要性が薄そう)
正攻法となるとメーリングリストのruby-devに必要性を訴えて改善するくらいになるんじゃないかなあ
809デフォルトの名無しさん
2017/11/11(土) 00:16:49.19ID:JLG7hn9J >>807
ビルトインクラスは継承すんな、てのがあるらしい
ビルトインクラスは継承すんな、てのがあるらしい
810デフォルトの名無しさん
2017/11/11(土) 01:33:08.56ID:XLuIumW0 確かに、出力するオブジェクトのクラスをメソッドの書き換えしないで派生先や派生元に切り替えられたら便利だよな
811デフォルトの名無しさん
2017/11/11(土) 04:45:48.84ID:TdyG/ulQ しかしそもそもArrayとか継承したいクラスだよな
オープンクラスで直接Array自体の挙動を変えてしまうと
何か問題が起こったときに怖い
オープンクラスで直接Array自体の挙動を変えてしまうと
何か問題が起こったときに怖い
812デフォルトの名無しさん
2017/11/11(土) 09:50:02.65ID:5mgMmggv 方法を聞いているんだから感想を言っててどうするよ
一つの方法としてMarshal.dumpとMarshal.load使うってのはどうか?
メソッドで派生元クラスのインスタンスがでてきたら、
そのインスタンスをMarshal.dumpしてクラス部分だけ書き換えてMarshal.loadしてクラスを変えるわけ
一つの方法としてMarshal.dumpとMarshal.load使うってのはどうか?
メソッドで派生元クラスのインスタンスがでてきたら、
そのインスタンスをMarshal.dumpしてクラス部分だけ書き換えてMarshal.loadしてクラスを変えるわけ
813デフォルトの名無しさん
2017/11/11(土) 11:50:45.38ID:AwGKm55U どの言語でも、Array, String などの基本クラスは継承できないし、継承してはならない
prototype.js というライブラリは、基本クラスの動作を上書きして、変更したため、
モンキーパッチと言って、非常に嫌われた
ただし、Rails のような権威が、基本クラスにメソッドを追加するのは、認められている。
これらは、開発保守が継続して行われるため
つまり、個人レベルではダメ
prototype.js というライブラリは、基本クラスの動作を上書きして、変更したため、
モンキーパッチと言って、非常に嫌われた
ただし、Rails のような権威が、基本クラスにメソッドを追加するのは、認められている。
これらは、開発保守が継続して行われるため
つまり、個人レベルではダメ
814デフォルトの名無しさん
2017/11/11(土) 11:54:48.07ID:7DvP3YTX どうでもいいよ
どうせRubyなんか書捨てスクリプトにしか使わないし
どうせRubyなんか書捨てスクリプトにしか使わないし
815デフォルトの名無しさん
2017/11/11(土) 12:07:00.75ID:TdyG/ulQ 配列が使いたいときは代替eachが使いたいから
EnumerableかEnumeratorを継承するとか?
EnumerableかEnumeratorを継承するとか?
816デフォルトの名無しさん
2017/11/11(土) 12:08:40.11ID:v8o/qZh1 + が返すクラスをどうすべきかってだけで、他のメソッドはできるだけ継承したクラスを返すようになってるよ
817デフォルトの名無しさん
2017/11/11(土) 12:34:01.09ID:AwGKm55U 基本クラスは、継承するな!
継承よりも、委譲
継承よりも、委譲
818デフォルトの名無しさん
2017/11/11(土) 14:10:03.21ID:BdEcqbw0 処理系に依ってEnumerable#mapとArray#mapが別実装だったり同じだったりして気持ち悪いから
Array継承するくらいならEnumerableを継承するわ
Array継承するくらいならEnumerableを継承するわ
819デフォルトの名無しさん
2017/11/11(土) 14:21:19.83ID:JLG7hn9J820デフォルトの名無しさん
2017/11/11(土) 15:07:21.47ID:5mgMmggv また荒らしが進行妨害してるのか
方法聞いてるレスだっつってんだろ
毎度毎度、スレの質問無視して自演で持論を語って荒らすのやめろ
ここは初心者用の質問スレだ
方法聞いてるレスだっつってんだろ
毎度毎度、スレの質問無視して自演で持論を語って荒らすのやめろ
ここは初心者用の質問スレだ
821デフォルトの名無しさん
2017/11/11(土) 16:38:25.00ID:XLuIumW0 確かに、聞いてたのは方法だったな
明らかに見当違いなレス返してた荒らしもいたし
ごめん
質問への回答だけどメソッド書き換えせずにという事だから、
const_get、const_setを使ってその場だけクラスを入れ替えるというのは?
今、適当に思いついたので検証してないけど
明らかに見当違いなレス返してた荒らしもいたし
ごめん
質問への回答だけどメソッド書き換えせずにという事だから、
const_get、const_setを使ってその場だけクラスを入れ替えるというのは?
今、適当に思いついたので検証してないけど
822デフォルトの名無しさん
2017/11/11(土) 21:37:18.75ID:05iXsNcy このスレって雑談OKなのに何言ってるんだか
823デフォルトの名無しさん
2017/11/11(土) 22:58:55.05ID:+LVMEIXu では雑談をしましょう
型Aを渡したときは型AAで、型Bを渡したときは型BBで
こういったことが簡単にしたければ、静的型の機能を使うのが一番手軽で自然
なぜなら構文レベルでサポートされてるから
(C++で言うところのテンプレートとか)
なのでRubyに静的型を導入するのが手っ取り早い
結果的にはうまくいかなかったんですが、TypeAnnotationをつけて
頑張ろうっていうのを余暇でやっているらしく
Ruby 3で導入しようとしている型システムは型推論だけでどうにかしようという
アプローチとは別のアプローチ
2010年代のプログラミング言語は型ありなのが当たり前になってきているので
Rubyはだいぶ置いてけぼり感(笑)があります
ですので、コミュニティ内での危機感も高いと思います
型Aを渡したときは型AAで、型Bを渡したときは型BBで
こういったことが簡単にしたければ、静的型の機能を使うのが一番手軽で自然
なぜなら構文レベルでサポートされてるから
(C++で言うところのテンプレートとか)
なのでRubyに静的型を導入するのが手っ取り早い
結果的にはうまくいかなかったんですが、TypeAnnotationをつけて
頑張ろうっていうのを余暇でやっているらしく
Ruby 3で導入しようとしている型システムは型推論だけでどうにかしようという
アプローチとは別のアプローチ
2010年代のプログラミング言語は型ありなのが当たり前になってきているので
Rubyはだいぶ置いてけぼり感(笑)があります
ですので、コミュニティ内での危機感も高いと思います
824デフォルトの名無しさん
2017/11/11(土) 23:03:47.07ID:JLG7hn9J それは雑談ではなくて荒らし
825デフォルトの名無しさん
2017/11/12(日) 00:27:53.41ID:WkrbFi3G 雑談にみせかけた荒らしをずっとやってる奴が何か文句言ってるけど、
初心者の質問スレで質問無視してスレ妨害し続けてたらみんなぶち切れるわな
もう半年以上になるんやで?
初心者の質問スレで質問無視してスレ妨害し続けてたらみんなぶち切れるわな
もう半年以上になるんやで?
826デフォルトの名無しさん
2017/11/12(日) 00:40:27.97ID:Ob05ibl6 質問なんてめったにないでしょ
827デフォルトの名無しさん
2017/11/12(日) 01:01:09.44ID:WkrbFi3G そうやって質問のレスを無視して荒らすから、
みんなぶち切れてるんやで?
いい加減にしとけよ
みんなぶち切れてるんやで?
いい加減にしとけよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★3 [おっさん友の会★]
- 【速報】中国、水産物輸入停止と通達 日本政府に ★2 [おっさん友の会★]
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★4 [おっさん友の会★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 [ぐれ★]
- 中国側が首相答弁の撤回要求、日本側拒否★6 [夜のけいちゃん★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 【速報】高市首相「つい言い過ぎた」 存立危機事態の答弁について [237216734]
- 【ネトウヨ朗報】イギリスのトラス元首相、高市有事で高市早苗の支持を表明 [603416639]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
- 【速報】中国、水産物輸入停止★2 [989870298]
- 立憲岡田「高市さんはなぜ慎重な答弁をされなかったのか。非常に残念に思っている」 [834922174]
- 【悲報】斎藤元彦陣営のネット広報担当会社が投稿したnoteで騒然 ★950 [931948549]
