Ruby 初心者スレッド Part 62
■ このスレッドは過去ログ倉庫に格納されています
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 61
https://mevius.5ch.net/test/read.cgi/tech/1503644351/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/ ID:/arVeZ+Zがここ何ヶ月かこのスレに粘着して荒らしてた本人だと判明
で、分りやすい自演を繰り返して誤魔化すからruby-listかruby-devで発言して本人確認しろって事になった
それらからID:/arVeZ+Zが絶賛逃げ回ってる所
必死チェッカーで調べてみ?
これぞ粘着の本領だって分るレス数だから
今後の対策としてはID:/arVeZ+Zを念頭に荒らし行為やネガキャンを行う人がいた場合はruby-listとruby-devに誘導する事になった 荒らしと言われてる方はまだrubyの話してるけど、それに反応してる方がただのキチガイになって迷惑すぎる
あーまた馬鹿なこと言ってるわって相手にしないでおくか、rubyの話としてマジレスするかのどっちかにしなさい ruby?-d?ev云々いって/?a?r?V?e?Z?+?Zに絡んでいる人(全部同一人物。もしくは多くて2人程度と思われる)が荒らしなのでスルーしましょう >>223が急に発言しなくなっただろ?
これで自演できてるつもりなんだよ本人は 荒らしに、レスを付けるな。
荒らしと会話するな。
荒らしが、ずっと居座るだけ
この板では、何かを答えても、
「知らんくせに答えるな」ってレスが付いて、
「そうだよな」って、すぐにそのレスに賛同する、レスが付く
荒らしに、すぐに賛同する奴が、いる訳がないのに。
それが、どんな深夜にも起こる
とにかく単発ID の奴は、荒らしと見て、スルーする事! >>233
なんだ? 飯ぐらい食わせろよwww
発言しなかったからってなんなんだ? >>224
> なんでかなー(棒)
土曜(休日)の昼間だからだよ?
意味ぐらいわかるよね IDを変えて逃げたとか思ってたんだろうなw
だからID変えてないことがわかると
恥ずかしくなって発言できなくなってしまう
それにお前は毎回IDを変えてるよね(誰のことかわかるよね?w 223が自演できるのは書き込み時間からわかったけど
荒らしてたのは本当にこいつなの? IDは変えたら戻すことはできないから自演してない証拠になるからな
その反面、毎回IDを変えることはできるから
違うIDで同じようなことを言ってると自演とばれるわけだ JavaScript のスレでも、やってる。
荒らしは、全部のスレで、いちゃもんを付けてくる。
そのくせ、プログラミングの話をした事はない
他人のレスを、やたら探したりする。
他人のレスを探しても、1円にもならないのに
荒らしは、仕事した事がないはず ライブラリの話をすんなってうるさいアイツのことだなw
同一人物でなければ、荒らしの脳内構造は一緒ってことなんだろう
スレと関係ない話しかしない
俺はもちろんスレと関係ある話をした 何度も言わなくてもいいよ
お前ぐらいしかそんなこと言ってない
何度も言っても、こうしてバラされたら効果ゼロ
235 名前:デフォルトの名無しさん[] 投稿日:2017/12/09(土) 20:32:50.99 ID:ECkYCn8N [1/3]
>>232
お前のギャグさいこーwwwww
240 名前:デフォルトの名無しさん[] 投稿日:2017/12/09(土) 20:49:36.99 ID:ECkYCn8N [2/3]
223が自演できるのは書き込み時間からわかったけど
荒らしてたのは本当にこいつなの?
244 名前:デフォルトの名無しさん[] 投稿日:2017/12/09(土) 21:17:18.85 ID:ECkYCn8N [3/3]
ごめん、223が荒らしだったわ せいぜい20レス/日のこのスレで彼は今も我らのために見えない敵と戦ってらっしゃるのだ
以下テンプレにいくつか追加
>粘着する荒らしがスレを何ヶ月も荒らしたため、
>ネガキャン、逸脱した連投、荒らし行為を行う人がいた場合は対策としてruby-listやruby-devへ誘導するようにお願いします
>自演でIDを変えて荒らしを繰り返すため、加勢するIDも含めて誘導するようお願いします
>
>荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
>そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください 俺は極たま〜〜に静的型どうのこうのの長文を書き込むことがあるぐらいで
言うほど連続投稿しないし、毎日書き込んだりしないし、チラ裏の日記みたいな感じで
特にここ最近半月ほどはスレが荒れていたこともあって何も書き込まないようにしてたんだが
過剰に反応して何にでも荒らし認定する一部のアレな人が全然関係ない人を攻撃していて
攻撃された人は気の毒だなぁとか思いながら、変なことになってるなぁと傍観していたんだが
その流れがあまりにもアレすぎたのか、いよいよ本物が居付いてしまったようだけど
自業自得とはいえ残念なことだな
他の真っ当な住人からしたら随分迷惑なことだろうし、俺も嫌かなぁ
結果的には俺の書き込みに過剰に反応する必要は無かったし
元々荒らしと言われるほど、ひどい内容や投稿スタイルではなかったはずなんだが
(ここが何処かを考えれば、通常、それぐらいは普通にあり得るかなぁという範囲)
実際には過剰反応している奴が意味のない書き込みで一番このスレを荒らしていたし
そのことは他の住人からもちょくちょく指摘が入ってたと思うんだがねぇ
というか、そのあいだ俺は書き込んでなかったんだが・・・しかしまぁ結果的にこの事態だわ
俺も勉強になって、自分たちに都合の悪い事実を、荒らし認定などで黙殺しようとしても
事実を黙殺する歪のようなもので、もっと酷いことになるんだな
嘘が雪だるま式に広がって〜とよく似ている
こういうときは沈黙は金だね スレの終末感がまさにRubyの現状を象徴しているかのようだな 悪貨が良貨を駆逐するってやつだ
良心的なやつがここにいても
アホが次から次に湧いてくるから
心がおられる。
そしてgoとかPythonとかkotolinとかにいってしまう。 > そしてgoとかPythonとかkotolinとかにいってしまう。
それこそまさに悪貨が良貨を駆逐するってやつだな
今他の何かを駆逐して生き残ってるやつは全部悪貨なんだよ! NGワードになったんでideoneにIDを列挙しておくけど
https://ideone.com/sMHbO4
ID:/arVeZ+Zを誹謗する48個のレスはID:JRYZIrF0を除いて全部のIDがほぼ単発かつ、単発でないものは全て安価がかぶらない
全部ID:JRYZIrF0が自演してることはほぼ明らか
こいつ病気なんじゃねえの
このスレの癌だよ Setクラスってどういうときに使いますか?
Arrayクラスインスタンスにuniqかけて集合だと考えてたけど違うのではと思ったもので。 ここまで自演
---------------------------- あーあ、これでruby-listかruby-devで発言せず逃げ回ったことが確定しちゃった ruby-devでリテラルの最適化の話がずっとあるけど、
やっぱ、ArrayもStringみたいになるのかな? >>254
uniq だと O(n) かかるので
Set だとハッシュを使っているだろうから O(1) でいけるんじゃないかな >>259
3の型付けなんて最適化や速度upで入れたいって言ってるわけでなぶんそうなるだろ
ruby-listでfrozen_string_literal前提の話とかちょろちょろ見るようになったし
型そのものはあんまり興味ない
希望の書き方とかる? タイプミスった、ごめん
>>259
3の型付けなんて最適化や速度upで入れたいって言ってるわけでなぶんそうなるだろ
ruby-listでfrozen_string_literal前提の話とかちょろちょろ見るようになったし
型そのものはあんまり興味ない
希望の書き方とかる? -> 希望の書き方とかある? あんまりイメージわかないけど、可能なら型をrubyの文法のif文とかメソッドチェーンに組み込みたい
一度、ここでアンケとってruby-listで型の希望の書き方とか立ててみる? ruby-listに直でアンケとっても良いけど
荒らしもいなくなった様だからやってっみる? 投稿時はruby-listかruby-devのどちら向けの話題なのかワードを入れておく?
x : Integer
は、ありきたりというか仮引数の時ハッシュと間違いやすいだろ
繋げて書けるように
Integer =_ x = nil
みたいなのどうよ 元々、荒らしは、全部のスレで、いちゃもんを付けてくる。
漏れも、何回も攻撃されてる
単発ID で「間違ったこと書き込むな」とか、荒らしが書き込むと、
すぐに違うID で「そうだよな」みたいに、荒らしに同調するレスが付く。
深夜でもそうだから、荒らしに同調する奴が居るなんて、あり得ない
プログラミングの話は、一切できないくせに、批判ばっかり書いてるのが荒らし
ただ、Ruby, JavaScript のスレでは、
荒らしにかまうから、喜んで居着いてるだけ
荒らしは一切、無視すべし!
仕事をした事もない奴と、話をしても仕方がない スレに、ワッチョイが無いから、荒らしが来る
ワッチョイを導入すれば良い。
そうすれば、自演できない >>268
おい、スレの進行を妨害するなよ
おまえ荒らしか? 荒らされてると聞いてきたら型の話してる…
しばらく界隈から離れてたら静的型付け実装か =_ ←これ何?
ruby-listで受けんのこれ?
どう見ても無理っぽい いや、自分の希望の書き方なんだから人気のある書き方でなくても良いでしょ
それにもしかしたらruby-listで大人気になるかもしれないし
後、さっき思いついたけど
definedtype?( Type )
みたいなのどう? なんで型の希望の話になってんの?
すまんが今来て、この1スレからさらっと読んだけど理解できんかった。
とりあず、このスレからruby-listに要望だずにしても
下記まとめなんかあるといいかも(オレがほしいw
・経緯
・メリット
・デメリット
・他の言語の場合、例
OOP言語で簡単なのがrubyの良いところだと思う。 簡単ではないだろ
Rubyはとんでもなく複雑な言語で、メジャーな言語の中だとC++の次くらいには複雑なんじゃないの
ちなみにRubyが複雑なのはMatzも認めてるよ 荒らしがそろそろ暴るだろうから今のうちにテンプレを張っておく
>粘着する荒らしがスレを何ヶ月も荒らしたため、
>ネガキャン、逸脱した連投、荒らし行為を行う人がいた場合は対策としてruby-listやruby-devへ誘導するようにお願いします
>自演でIDを変えて荒らしを繰り返すため、加勢するIDも含めて誘導するようお願いします
>
>荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
>そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください ruby-listだと恥ずかしくて聞きにくいのでこちらで質問します
a = [[1,2,3],nil, 4..10]
a.include?(5) => false
これで、trueにならないのはどうしてですか? >>274
そうだな
RubyはOOPで一番簡単な言語だと思う
>>275
むしろメジャーな言語の中で
一番シンプルだと思う
たとえばJavaScriptの方が複雑 >>278
a.include?(5) を小さく噛み砕くと以下になる
([1,2,3] == 5) || (nil == 5) || ((4..10) == 10)
これがtrueにならない理由
>>279
お前、まだ居るんか?
とっとろ消えろ 荒らしの連投が収まったからか、昨日、一昨日の書き込みに比べてえらく穏やかになったな
マジruby-list様々 >>278
Ruby2.4 リファレンスより
include?(val) -> bool
配列が val と == で等しい要素を持つ時に真を返します。
荒らしよけruby-list 荒らしは、色んなスレに、いちゃもんを付けてる。
JavaScript, Ruby のスレだけではなく、全部のスレを荒らしてる
荒らしは、仕事をした事がないから、反応するものには、何にでも噛みつくだけ
徹底的に、無視した方が良い rubyで型を書けるようになったとしても、コメントにアノテーションとして書けるようにするくらいが無難だろうて 荒らしはあぼーんはずして見に来てるくせに、
毎回の見えてないアピールが糞うざい メソッドの引数、戻り値の型保証を目的としたgems
* contracts
* rubype
他にも色々あるけど触ったことがあるのはこのくらいだな 古典はクラス=型だけど、
rubyではどうなるんだろ 型システムに関する最新の教科書であるTAPL本だとクラス=型だけど、
TAPL本を古典と言い切ってしまえる>>289は異次元世界の住人なのかな? TAPL本を古典なんてどこにも書いてないんだが?
なに一人連想ゲームしてんの? 型チェックってどうして望まれてるの?
Kernel#instans_of? とか Module#=== を使って
TypeErrorを投げればいいんじゃないのと初心者としては思うんだけど、誰か教えて>< >ruby-devはrubyの開発者のためだから場所が正しくない
>Ruby初心者の質問と回答はここしかないな
みたいなカン違いししてるのでなければruby-devで聞きなよ 結局、荒らしはrubyコミュで発言せず逃げたままか
ruby-listやruby-devでいったい何をしでかしたんだアイツ? >>1のテンプレ見て思ったんだけど、
各Rubyコミュへの案内も入れた方が良いんじゃないか?
ruby-listとruby-devとruby-core辺りでいいからさ >>292
大規模プログラミング症候群に患わった人たちがおもに困ってる
それとinstans_of?とかModule#===とかが目立つのはRubyらしくない
引数として与えられたオブジェクトは必要なメソッドがあるものとして記述する方がいい (ダックタイピング)
ifやcaseでやたらとクラス名が出てくるべきじゃない
こういう振り分け処理はrefinmentできれいに分離できるし何より見通しが良くなる
case obj
when nil
...
when Integer
...
when ...
...
else
raise TypeError
end
これはrefinmentと組み合わせれば
obj.do_it
だけで済むし分岐のための Module#=== が呼ばれなくなるから処理速度も悪くならないはず
特に似たような処理が散乱して困るようならば検討するべき switch 文で、型によって分岐していたら、オブジェクト指向ではない。
多くは、設計の間違い
型が増えるたびに、switch 文を修正しないといけなくなる
修正の度に、設定ファイルを書いているデザイナーが、
プログラマーに頼まなければならなくなるから、
プロジェクトの人材配分ができなくなる 型はなくていいけど、宣言していない変数は使えないようなオプション欲しい ruby-listやruby-devへの案内テンプレどうしますか? >>301
基地外を誘導するのは迷惑だからやめなさい 自演を繰り返してる奴はruby-listやruby-devを避けてるから問題ない
そもそも入る事が出来ないらしい
それで、どういうテンプレにする? ruby-devやruby-core入れるだけで荒らし避けになるとかスゲー
とりあずテンプレ案を出すのは次スレ立てる直前でどうよ? Methodのsource_locationみたいなソースの定義や構造の解析に役立つメソッドを探しているけど、
Classやモジュール、オブジェクトにはこういったメソッドないよね?
あれば便利だと思うのに >>305
Pryの show-doc と show-source 便利だよ
pry-docも合わせて使えばCで書かれた組み込みクラスやメソッドのソースも表示可能 Methodのsource_locationは処理に直接挿入できるから便利なのであって、
そこを理解していないだろ Rubyコードのリファクタリングに関したgemってある?
結構前にリファクタリングのrubyエディションを読んでから興味持ったんだけど 原理的に困難って上で言われてるでしょ
こればっかりは個人の信条や宗教の問題じゃなく本当に原理的な問題だから諦めろ
Rubyのリファクタリングや型検査に関しては、無理に静的解析するんじゃなくて、
実際にモジュールをロードしてみて実行時のクラス構造を見て処理するような新しい発想が必要だと思うわ >>309
>リファクタリング:Rubyエディション、2010
を読むまでは俺もお前と同じ勘違いをしてた
どのような言語でもテクニックとしてリファクタリングが出来るという事が書いてあるから一度読め
特にrubyは、その記述性からリファクタリングテクニックがぴったり合う >>310
できるかどうかでいえばできるでしょ
正しさを保証できないだけ リファクタリングテクニックを適用するだけの事に、正しさの保障とか難癖つけても無駄
俺も以前は、カン違いしていた口だから偉そうな事は言えないけど >>309
Rubyにリファクタリングが合わないならリファクタリングrubyエディションなんて書籍は出版されないのでは?
内容も、何も考えなくても機械的に適用すればリファクタリングが出来てしまうテクニック集の例示だし
それと故意に話しを摩り替えられたけど聞きたかったのはリファクタリング関連のgemの事 Rubyってどこまでできたら初心者卒業って言っていいの? なんかできるできないの話に持っていって(持って行かれて?)
負けてるやつがいるなw
Rubyでもなんでもリファクタリングはできるよ。
ただ同じリファクタリングをしても時間がかかる言語と
そうでない言語があるって話 >>313
こんなにRuby信者が寄ってきてるのに何一つ出てこないことが何よりの答えだろうね
そもそもRubyってツールでコードを弄るのをダサいと考える文化があるのよ
コードを生成するくらいならメタプログラミングで実行時に何とかするべきだし、
ツールで機械的に適用できるような局所的なリファクタリングなら手でやったほうが早い、っていうのがRuby的な思考
静的言語のIDEに付いてるようなインターフェイスの抽出とかメンバのリネームといった広域的なリファクタリングは便利なものだけど、
ああいうのは実際「原理的に困難」なので >>316
>>317
ネガキャン失敗して顔真っ赤にしながらレスを書いていると思うと最高 有能なRubyistである>>318がパッと作ってgithubのURL貼ればそれで済む話だぞ
Matzもコードで語れっていつも言ってるでしょ >>319
逃げ回っていないでruby-devかruby-listで発言して来いよ リファクタリングと言えばrubyでRipper使えばコードを構文木化して扱えるよ
だから処理系自身にrubyコードを書き換えさせる事も出来る
それからgemもparseなんちゃらみたいなのが結構出てくるから割とありきたりなネタ
知ったかで騙ってる荒らしだけが無知を披露中 文脈がわかるわけじゃないからちょっと無理があるけど またまたネガキャン大失敗の巻きか?
プゲラッチョ 構文木ってソースコードのDOMでしかないからなあ
>>322も言ってるけどそれでコードの意味がわかるわけじゃない
しかもRubyのASTの場合、静的解析やコード生成ではなく実行することしか考慮されてなくて、
CALLとシンボルだらけで大幅に情報が失われてる
自分でやってみりゃわかるけどかなり扱いづらい代物だよ --dump=parsetreeオプションか、--dump=insnsオプションで使わないの? >>325
dump=parsetreeの結果から元のソースを復元してみ
無理だから 使いづらいって言われてもそれは主観でしかないよな?
しかも実質、リファクタリング関連のgemを製作する側がどうのこうのであって、
gem利用者には関係なくない?
そもそも他言語での自己書き換えの扱いはもっとやっかいだぞ? 一応補足しとくけど、ruby処理系にそういう機能があるかどうかじゃなくて
dump=parsetreeで出力されたASTから元のソースを復元するツールを作ってみてくれ、という意味だぞ
ちなみにripperでも同じだ
もちろん細かいスペースの差異とかは無視するとしても、不可能なのがわかるよ
リファクタリングや静的解析に使うなら処理系付属のは使い物にならないので専用のASTが絶対に必要だ ■ このスレッドは過去ログ倉庫に格納されています