プログラミング言語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
697デフォルトの名無しさん
2017/11/05(日) 01:27:54.84ID:P7Kt20uM 型を無くすことが目的になっちゃダメだよね。
コンピュータにとっては型が無くても良いかもしれないが
人間にとっては型があったほうが理解しやすい。
型は人間にとって必要なもの
書くのが面倒っていうのなら、必要な所と必要ない所にわければいいじゃん
そもそも型は何かというと外部とのインターフェースだよ。
外部というのはクラスであれば、クラスの外から呼び出す時
つまりはprivateメソッドやローカル変数には型はいらない
逆にpublicメソッドには型は必要
あとメソッド名だけで区別するのはいい加減やめよう
Aというインターフェースのnameと、
Bというインターフェースのnameは意味が違う
インターフェースを複数実装するなら、
def A_name や def B_name という名前で定義できるようにするべき
外部から呼び出すときは、B_name()ってやらないといけないのか?と
思うかもしれないがそれは違う。例えばこんな感じだ
obj = Klass.new
obj.name ← これはKlassのnameメソッドが呼び出される
a = cast<A>obj
a.name ← これはKlassのAインターフェースのnameメソッドが呼び出される
b = cast<B>obj
b.name ← これはKlassのBインターフェースのnameメソッドが呼び出される
このように複数のインターフェースを持たせても適切なメソッドを呼び出せるようにできる
コンピュータにとっては型が無くても良いかもしれないが
人間にとっては型があったほうが理解しやすい。
型は人間にとって必要なもの
書くのが面倒っていうのなら、必要な所と必要ない所にわければいいじゃん
そもそも型は何かというと外部とのインターフェースだよ。
外部というのはクラスであれば、クラスの外から呼び出す時
つまりはprivateメソッドやローカル変数には型はいらない
逆にpublicメソッドには型は必要
あとメソッド名だけで区別するのはいい加減やめよう
Aというインターフェースのnameと、
Bというインターフェースのnameは意味が違う
インターフェースを複数実装するなら、
def A_name や def B_name という名前で定義できるようにするべき
外部から呼び出すときは、B_name()ってやらないといけないのか?と
思うかもしれないがそれは違う。例えばこんな感じだ
obj = Klass.new
obj.name ← これはKlassのnameメソッドが呼び出される
a = cast<A>obj
a.name ← これはKlassのAインターフェースのnameメソッドが呼び出される
b = cast<B>obj
b.name ← これはKlassのBインターフェースのnameメソッドが呼び出される
このように複数のインターフェースを持たせても適切なメソッドを呼び出せるようにできる
698デフォルトの名無しさん
2017/11/05(日) 01:29:39.27ID:g65KNgLI >>696
別人に絡むなよ
別人に絡むなよ
699デフォルトの名無しさん
2017/11/05(日) 01:29:55.90ID:gkdND+eq >>697
他の動的型スレで同じ主張をしているなら説得力があるけど、ここだけで書いても何も説得力ないよ
他の動的型スレで同じ主張をしているなら説得力があるけど、ここだけで書いても何も説得力ないよ
700デフォルトの名無しさん
2017/11/05(日) 01:41:47.44ID:Gz3QD+PD701デフォルトの名無しさん
2017/11/05(日) 01:59:30.31ID:P7Kt20uM >>700
はい。だから作ってますよ?
将来、言語の標準機能としてlint相当のものが内蔵され
現在ドキュメントとして書いている設計書を
プログラム言語として記述できる言語ができたとしたら
その開発者は俺だと思っていいよ。
はい。だから作ってますよ?
将来、言語の標準機能としてlint相当のものが内蔵され
現在ドキュメントとして書いている設計書を
プログラム言語として記述できる言語ができたとしたら
その開発者は俺だと思っていいよ。
702デフォルトの名無しさん
2017/11/05(日) 02:17:25.35ID:Gz3QD+PD >>701
笑いを取ろうとしたのか?
笑いを取ろうとしたのか?
703デフォルトの名無しさん
2017/11/05(日) 02:21:35.80ID:P7Kt20uM704デフォルトの名無しさん
2017/11/05(日) 02:25:17.49ID:Gz3QD+PD >>703
うん、分かったからrubyスレに書き込むなよ
うん、分かったからrubyスレに書き込むなよ
705デフォルトの名無しさん
2017/11/05(日) 02:28:39.27ID:P7Kt20uM 言語作ってみろと言われたから
作ってると言っただけなのに
この反応w コンプレックスかな?
作ってると言っただけなのに
この反応w コンプレックスかな?
706デフォルトの名無しさん
2017/11/05(日) 02:33:38.73ID:gkdND+eq >>701
githubのページ教えて
githubのページ教えて
707デフォルトの名無しさん
2017/11/05(日) 02:59:23.84ID:P7Kt20uM708デフォルトの名無しさん
2017/11/05(日) 03:06:23.11ID:gkdND+eq709デフォルトの名無しさん
2017/11/05(日) 03:07:41.09ID:P7Kt20uM710デフォルトの名無しさん
2017/11/05(日) 03:11:06.77ID:gkdND+eq711デフォルトの名無しさん
2017/11/05(日) 03:16:26.19ID:mZtOvkfq 勘違いしてそうだけど
言語作ってるから偉いとかじゃないぞ
どうせ確実にRubyより使われないだろうし
言語作ってるから偉いとかじゃないぞ
どうせ確実にRubyより使われないだろうし
712デフォルトの名無しさん
2017/11/05(日) 03:19:38.51ID:P7Kt20uM713デフォルトの名無しさん
2017/11/05(日) 03:21:31.80ID:gkdND+eq714デフォルトの名無しさん
2017/11/05(日) 03:41:15.40ID:mZtOvkfq 言語を作って公開したら次に言うのは
「このオレの素晴らしい言語が流行らないのは
どう考えてもRubyにしがみついてるお前らが悪い!」
「このオレの素晴らしい言語が流行らないのは
どう考えてもRubyにしがみついてるお前らが悪い!」
715デフォルトの名無しさん
2017/11/05(日) 03:43:14.48ID:P7Kt20uM716デフォルトの名無しさん
2017/11/05(日) 03:46:46.05ID:P7Kt20uM >>714
すべての言語を作っている人にそれ言ってあげると良いよ
すべての言語を作っている人にそれ言ってあげると良いよ
717デフォルトの名無しさん
2017/11/05(日) 03:52:40.81ID:gkdND+eq718デフォルトの名無しさん
2017/11/05(日) 04:01:09.32ID:P7Kt20uM 煽っても無駄w
719デフォルトの名無しさん
2017/11/05(日) 04:07:11.43ID:g65KNgLI アホみたいに絡んでくるやつめんどくせえな
720デフォルトの名無しさん
2017/11/05(日) 05:45:23.75ID:eKLBOKdE 昔は別スレ立ててゴミクズ連中を隔離するだけの分別があったのにな
今のRubyコミュニティはすっかり腐り果ててしまった
今のRubyコミュニティはすっかり腐り果ててしまった
721デフォルトの名無しさん
2017/11/05(日) 05:46:52.55ID:sql+xI5H >>720
5chで世界を知った気になり始めたら、色んな意味でヤバイぞw
5chで世界を知った気になり始めたら、色んな意味でヤバイぞw
722デフォルトの名無しさん
2017/11/05(日) 09:49:28.54ID:sB6tkFho matrixライブラリのベクトルクラスってなんで昔は外積ついてなかったの?
俺が知らないだけで右手座標系か左手座標系かってそれほど問題になるの?
俺が知らないだけで右手座標系か左手座標系かってそれほど問題になるの?
723デフォルトの名無しさん
2017/11/05(日) 10:11:29.75ID:iAaHdauh >>722
高次元の場合の定義が曖昧だから
高次元の場合の定義が曖昧だから
724デフォルトの名無しさん
2017/11/05(日) 12:51:14.45ID:4Bj/mfgI725デフォルトの名無しさん
2017/11/05(日) 13:11:52.14ID:gkdND+eq726デフォルトの名無しさん
2017/11/05(日) 13:19:57.68ID:P7Kt20uM プログラム言語の話をしてるのにCOBOLの話がないのは明らかにおかしい
727デフォルトの名無しさん
2017/11/05(日) 13:22:20.98ID:4Bj/mfgI だからpythonは過去の過ちを認めて静的型の機能を取り入れていく方向で
今まさに努力している最中なんだから、もういいだろ?生暖かく見守れよ
なんで更生しようとしているやつまで叩く必要があるんだよ、それはいじめだろ、鬼畜
最初からやっとけよ、とは思うが、済んだことだからもういいんだよ
今まさに努力している最中なんだから、もういいだろ?生暖かく見守れよ
なんで更生しようとしているやつまで叩く必要があるんだよ、それはいじめだろ、鬼畜
最初からやっとけよ、とは思うが、済んだことだからもういいんだよ
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は想定通り動く
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】盗難車ひき逃げで歩行者ら12人死傷 逃走した“運転手”の37歳男を逮捕 東京・足立区 ★2 [Ailuropoda melanoleuca★]
- 石破前総理「どうすれば台湾有事にならないかを考えるべき」 [1ゲットロボ★]
- 〈台湾からも批判の声〉完全に詰んだ高市首相「存立危機事態」発言「愛国心はあっても外交能力がない」 [バイト歴50年★]
- 防衛費増額「賛成」62・8% 「反対」32・2%を大きく上回る 賛成「18~29歳で8割」世代差あらわ 産経FNN合同世論調査 ★2 [尺アジ★]
- 毛寧(もう・ねい)報道官 「日本は実際の行動で対話への誠意を示すべき」 中国、高市首相に改めて発言撤回を要求 [ぐれ★]
- 『ちいかわ』映画化で2026年夏公開 『映画ちいかわ 人魚の島のひみつ』脚本ナガノ氏で制作はCygamesPictures [征夷大将軍★]
- WBC世界バンタム級 那須川天心 vs 井上拓真 4
- 競輪実況★1610
- WBC世界バンタム級 那須川天心 vs 井上拓真 7修
- 〓たかせん〓 日本一パレード&ファンフェスティバル
- こいせん 全レス転載禁止
- 巨専】
- 【実況】博衣こよりとホロックスのえちえちウミガメのスープ🧪 ★3
- 白上フブキ🦊🤘とすこん部🌽のお🏡
- 【実況】WBC世界バンタム級王座決定戦 那須川天心vs井上拓真
- 芸能人、なぜか一斉に高市を支持し始めるwwwwwwwwww [246620176]
- 【悲報】高市斬首発言の中国総領事、任期満了で離日へ [271912485]
- 韓国大統領「関わりたくないので高市と中国の対立は冷静に見守る」 [931948549]
