X



Ruby 初心者スレッド Part 62
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2017/11/24(金) 00:35:29.31ID:rLZHdQ3Q
プログラミング言語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/
0201デフォルトの名無しさん
垢版 |
2017/12/09(土) 04:34:45.05ID:su9Dppjp
これが昨日のID変えれなかった自演失敗例

>100デフォルトの名無しさん2017/12/08(金) 07:38:48.25ID:AScviHBw
>少なくともID:AScviHBwはRubyと関係ないことは言ってないし別に間違ったことも言ってないでしょ
>静的型の方がリファクタリングしやすい、くらいMatzでも発言したことあるぞ
>さすがにこんなのまで荒らし扱いするのはこのスレくらいだよ

で、それを自演でカバーしようとしたのがこれ

>79デフォルトの名無しさん2017/12/08(金) 02:47:13.84ID:cpGshdOM
>yFCS8xkjは例のアイツを記憶している
>それぐらい例のアイツを意識しまくっている

で、うまくトリップで引継ぎさせたIDがこれ

>ID:/arVeZ+Z

で、後に加勢させるため昨日から荒らしをスルーして投稿させてたIDがこれ

>ID:zmyZSbxv

話を遮る所からもご覧のとおりアボーンしてるから見えてないんだよ

ID:zmyZSbxv=ID:/arVeZ+Z
0202デフォルトの名無しさん
垢版 |
2017/12/09(土) 04:52:18.43ID:ptiAgEOA
もういいよ
当分は何も出来ないだろうし又ネガキャンや荒らしやって来たらテンプレでとっちめまくるから
0203デフォルトの名無しさん
垢版 |
2017/12/09(土) 04:53:26.04ID:/arVeZ+Z
>>200
二回舐めても良いんじゃない?って思ってる
メモリはキャッシュに入るだろうし、
ループとかCPUの投機的実行が当たりやすいだろうから
そんなに時間変わらないんじゃないかって思ってる
検証してみてくれ
0205デフォルトの名無しさん
垢版 |
2017/12/09(土) 05:11:54.17ID:JRYZIrF0
将来、型システムが導入される事になったらやっぱり型もオブジェクトになんのかな
型の呼び出しや定義なんかもRubyっぽくメタプログラミングやワンライナーで書けたり
0206デフォルトの名無しさん
垢版 |
2017/12/09(土) 05:53:50.28ID:PWfKTZji
事前エラーだー最適化だー高速化だーっと言って型を検討してるわけだが、
今更テンプレートのような型マクロとかテキストマクロの時代に戻るわけではないだろうし
Ruby的に下のようなぶっとんだ書き方も無きにしも非ず
def foo(x : (@flag ? String : Array) , y : (@flag ? String : Array) )
p x,y
end
まぁ、これだと事前チェックの時に実行時情報が必要になるから何か仕掛けが必要なんだが
0207デフォルトの名無しさん
垢版 |
2017/12/09(土) 07:21:40.66ID:JRYZIrF0
>>206
その書き方を出来るようにするには、
実行時情報よりも型チェックのために事前に走らせる部分をRubyのコードから抜き出す必要があるけど?
0208デフォルトの名無しさん
垢版 |
2017/12/09(土) 08:54:23.61ID:puk20IRY
>>205
型もオブジェクトになんのかなというか、すでにRubyには
クラスと呼ばれる(部分型付された)型が存在し、知られているように
クラスはClassクラスのインスタンス、いわゆるオブジェクトだね
で、型システムの導入で変わるのは、オブジェクトがメソッドを
受け付けた時に行われる検査が実行時のみであった(動的型付け)のが
どこまで実行前にできる(静的型付け)ようになるのか?という議論になる

そして静的片付けには型(=クラス)をコードで宣言する明示的片付けと
宣言しない暗黙的片付けの二種類があって、>>206は前者に該当する
ここでMatzがたびたび主張している「型を書きたくない」という方針は
後者の暗黙的片付けであり、これは「Rubyの構文を大きく変更しない」
という別のMatzの方針とも一貫している
いいかえると型宣言構文の新規追加が必須な明示的片付けは採用したくないという意味

まとめると、理想的にはRubyユーザーから見ると既存の構文はなんら変更もなく
(=互換性を維持したまま)型システム導入の利点を享受できるようになる
ただしこれはあくまで理想的な姿であって、技術的に高度な型システムの導入において
どこまで妥協できる/する/すべきと言った様々な取捨選択が議論されているところ
0209デフォルトの名無しさん
垢版 |
2017/12/09(土) 08:58:19.29ID:Xp00eVEZ
>>207
そうじゃない
この場合、xの型は String | Array として扱うべき
フロー解析によって、その後コード上で flagで分岐した時点でthenブロックではString, elseブロックではArrayと確定する
TypeScriptはそういう方式
0210デフォルトの名無しさん
垢版 |
2017/12/09(土) 14:15:40.37ID:HCMuc4Gp
>>208
なるほど、良くまとまってますな
要するに、もはや静的型チェックが有ったほうが良かったのは
社会主義が資本主義に負けたのと同じぐらい分かりやすいレベルで
誰の目にも実験的/経験的に明らかというか
動的型のプロパガンダ的な嘘がバレて広く知れ渡ったので
今までは北朝鮮みたいにあんな調子で押し通していたが
いよいよ立ち行かないので、あれだけ言っといて今更恥ずかしいことではあるが
恥を忍んでRuby3.0で静的型チェックを入れたい
という背景があるってことだね
で、ここまではRuby触ってる人なら当たり前の常識なわけだが

もし、明示的な型宣言を文法に入れるなら、変数宣言をするということになり
変数宣言をするということは、型だけじゃなく変数のスコープも宣言出来るということで
CやJavaなどで見られる、いわゆる普通のレキシカルスコープを採用できるし
「@」のような気職の悪いものは要らなかったという結論になるわけだな
なんで変数宣言を入れるということは、静的型に白旗を上げるということだけではなく
「変数宣言を変数への最初の代入で代用するから変数宣言と代入の文法的区別がつかない」
という文法的問題、気色の悪いスコープについても意味が無かったということで
おおよそ変数周りのすべてて雪崩的に設計ミスだったということになる
ここまで壮大に間違ったなら、一から作り直した方が良いんだろうが
それならユーザー視点で考えると、間違ってない他の真っ当な言語を使えばよい話になるので
Rubyは大きく間違っているが、もはや間違ったまま行くしかない
とMatzは考えているってのが>>208なわけか
(流石のMatzもこの程度のことに気が付いていないとは思えない、言わないだけで)
ただ宗教的な感覚も絡んできて、誤った考え方でもある一定の信者はつくもので
Rubyはあえてそこを狙っているわけで(Matzはインタビューなどで逆張り逆張りと良く言っていた)
初めから分かっててわざと間違えた可能性もあるし、あるいは両方か
まぁペテン師だ
0211デフォルトの名無しさん
垢版 |
2017/12/09(土) 14:50:03.37ID:HCMuc4Gp
まぁ単純に考えても、今更、静的型を導入するぐらいなら
初めから静的型にしておけばよかったのは言うまでもない
仮に静的型が最近出てきた考え方でRubyを開発した当時は知りもしなかった
というなら仕方がないが、静的型は昔からあったし、RubyはCで書かれたわけで
知らなかったというのはあり得ないし、むしろ自分は静的型の恩恵を受けて
Rubyを開発したわけであって
そこは明確な意思をもって、あえて動的型にしたわけだから、今更静的型にするのはどうよ
(なら、初めからしておけよ、と思うだろ?)
ただもしRubyが静的型だったのならC/C++やJavaと競合して生き残れる理屈が無かったし
それもあって動的型にした部分もあるんだろうし
あまり言いたくはないが、そういうのを世間一般では悪魔に魂を売ったとかと表現して
それでカルト宗教というかドーピングというか、まぁ社民党にも支持者はいるわけで
そこを狙ったんなら、今更クリーンにっつっても、ブレるっつーか、民進党の前原代表みたいになるし
メジャー行けばもっと大きな勢力がひしめいてるわけだから
今まで通りマイナーメジャーでやってくのが良いんじゃね?と思わんでもない
いやぁこれは、メジャーマイナーとマイナーメジャーのどちらのほうが良いのかという
Pythonはメジャーマイナーを狙いに行ってるようなので
一つ席が空いたという部分も含めてRubyはマイナーメジャーを狙う感じなんだろう
Matzが好きな逆張り的な意味で
0213デフォルトの名無しさん
垢版 |
2017/12/09(土) 16:18:52.76ID:jtqcr+t2
>>210
あほか、
何でわかりやすいレベルなんだよ。
お前の中の価値観ではそうだというレベルの話じゃねーか。
0214デフォルトの名無しさん
垢版 |
2017/12/09(土) 16:21:32.60ID:jtqcr+t2
嘘で押し通すというのは
トランプ大統領がエルサレムの首都認定が
世界中からバッシングを浴びたと報道しているやつだ。これが嘘

本来ならエルサレムが首都になって嬉しいという声があるはずなのに
そういう報道が一切ない。
トランプの大統領選前と同じで嘘を押しとうそうとしているわ。
0215デフォルトの名無しさん
垢版 |
2017/12/09(土) 16:48:54.96ID:HCMuc4Gp
「静的型があったほうが良かったのは分かりやすいレベルで明らか」
それを俺の頭の中だけの話で嘘っぱちだというのは勝手だが
ではなんで動的型の権化みたいなRubyで
次期メジャーバージョンアップで静的型などという話が持ち上がってるんだ?
となるわなぁ
少なくとも次期Rubyを策定している連中はそう考えてるわけで
とりあえずRubyにおいては真実だし、このスレ的にはそれ以上の論証は要らないんだが
一般的に言っても最近出てきた目ぼしい言語は当たり前に静的型だし
つまり嘘で押し通そうとしているのはお前だが
ではなぜ嘘をついたのか?目的はなんだ?
身を守るための嘘なら仕方ないんだが、こんな掲示板でそんな必要ないし
利害関係のない掲示板でなんで嘘をつきまわるんだ?
0217デフォルトの名無しさん
垢版 |
2017/12/09(土) 17:50:31.43ID:yzhjOMYr
ID:/arVeZ+Z
おい糞野郎
臭い自演してないで失せろボケ
0219デフォルトの名無しさん
垢版 |
2017/12/09(土) 17:59:43.05ID:yzhjOMYr
な、召喚の儀で呼べただろ?
0220デフォルトの名無しさん
垢版 |
2017/12/09(土) 18:31:50.87ID:ojM2xQr7
>>218
みんなが言ってる通りruby-listで発言してみてはどう?
本当に違うならそれで証明が出来ると思う
0221デフォルトの名無しさん
垢版 |
2017/12/09(土) 19:02:37.47ID:JLcgGjoy
>>218はこのまま逃げ回ってIDリセットを狙ってる
昨日のレス読めば分かるけど、
結局は口先で騙して逃げることしかしてない
トリップも消したし
0224デフォルトの名無しさん
垢版 |
2017/12/09(土) 19:10:08.10ID:JRYZIrF0
昨日も今日もID:/arVeZ+Zが叩かれてる間はネガキャンも静的云々も出てこなかったね
なんでかなー(棒)
0225デフォルトの名無しさん
垢版 |
2017/12/09(土) 19:16:15.66ID:JLcgGjoy
>>223
俺もruby-listかruby-devで発言をずっと待ってるんだけど
逃げ回らないでくれる?

いつになったら発言するの?
0228デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:01:45.91ID:PLdtTEIG
>>227
1.rubyをネガキャン(個人的には荒らしとまではいかない程度)する人が元から住みついていた
2.自分に対して否定的な意見は全て自演と決めつける狂人が発生(JRYZIrF0 [や単発ID)
  弁護士云々言ったりコピペ連投したりする人
3.せっかく質問があっても2のせいで流れてもうわかんね ← 今ここ
0230デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:03:52.96ID:ZQM0F59y
ID:/arVeZ+Zがここ何ヶ月かこのスレに粘着して荒らしてた本人だと判明
で、分りやすい自演を繰り返して誤魔化すからruby-listかruby-devで発言して本人確認しろって事になった
それらからID:/arVeZ+Zが絶賛逃げ回ってる所
必死チェッカーで調べてみ?
これぞ粘着の本領だって分るレス数だから

今後の対策としてはID:/arVeZ+Zを念頭に荒らし行為やネガキャンを行う人がいた場合はruby-listとruby-devに誘導する事になった
0231デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:10:24.80ID:xil3RrnV
荒らしと言われてる方はまだrubyの話してるけど、それに反応してる方がただのキチガイになって迷惑すぎる
あーまた馬鹿なこと言ってるわって相手にしないでおくか、rubyの話としてマジレスするかのどっちかにしなさい
0232デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:15:40.04ID:PLdtTEIG
ruby?-d?ev云々いって/?a?r?V?e?Z?+?Zに絡んでいる人(全部同一人物。もしくは多くて2人程度と思われる)が荒らしなのでスルーしましょう
0234デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:29:52.03ID:zmyZSbxv
荒らしに、レスを付けるな。
荒らしと会話するな。
荒らしが、ずっと居座るだけ

この板では、何かを答えても、
「知らんくせに答えるな」ってレスが付いて、
「そうだよな」って、すぐにそのレスに賛同する、レスが付く

荒らしに、すぐに賛同する奴が、いる訳がないのに。
それが、どんな深夜にも起こる

とにかく単発ID の奴は、荒らしと見て、スルーする事!
0235デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:32:50.99ID:ECkYCn8N
>>232
お前のギャグさいこーwwwww
0239デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:48:58.33ID:/arVeZ+Z
IDを変えて逃げたとか思ってたんだろうなw
だからID変えてないことがわかると
恥ずかしくなって発言できなくなってしまう
それにお前は毎回IDを変えてるよね(誰のことかわかるよね?w
0240デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:49:36.99ID:ECkYCn8N
223が自演できるのは書き込み時間からわかったけど
荒らしてたのは本当にこいつなの?
0241デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:51:29.23ID:/arVeZ+Z
IDは変えたら戻すことはできないから自演してない証拠になるからな
その反面、毎回IDを変えることはできるから
違うIDで同じようなことを言ってると自演とばれるわけだ
0242デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:58:58.11ID:zmyZSbxv
JavaScript のスレでも、やってる。
荒らしは、全部のスレで、いちゃもんを付けてくる。
そのくせ、プログラミングの話をした事はない

他人のレスを、やたら探したりする。
他人のレスを探しても、1円にもならないのに

荒らしは、仕事した事がないはず
0243デフォルトの名無しさん
垢版 |
2017/12/09(土) 21:03:22.23ID:/arVeZ+Z
ライブラリの話をすんなってうるさいアイツのことだなw
同一人物でなければ、荒らしの脳内構造は一緒ってことなんだろう
スレと関係ない話しかしない

俺はもちろんスレと関係ある話をした
0244デフォルトの名無しさん
垢版 |
2017/12/09(土) 21:17:18.85ID:ECkYCn8N
ごめん、223が荒らしだったわ
0245デフォルトの名無しさん
垢版 |
2017/12/09(土) 21:24:17.46ID:/arVeZ+Z
何度も言わなくてもいいよ
お前ぐらいしかそんなこと言ってない
何度も言っても、こうしてバラされたら効果ゼロ

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が荒らしだったわ
0246デフォルトの名無しさん
垢版 |
2017/12/09(土) 21:49:29.83ID:KAnpleQL
せいぜい20レス/日のこのスレで彼は今も我らのために見えない敵と戦ってらっしゃるのだ
以下テンプレにいくつか追加

>粘着する荒らしがスレを何ヶ月も荒らしたため、
>ネガキャン、逸脱した連投、荒らし行為を行う人がいた場合は対策としてruby-listやruby-devへ誘導するようにお願いします
>自演でIDを変えて荒らしを繰り返すため、加勢するIDも含めて誘導するようお願いします
>
>荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
>そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
0247デフォルトの名無しさん
垢版 |
2017/12/09(土) 22:18:52.50ID:HCMuc4Gp
俺は極たま〜〜に静的型どうのこうのの長文を書き込むことがあるぐらいで
言うほど連続投稿しないし、毎日書き込んだりしないし、チラ裏の日記みたいな感じで
特にここ最近半月ほどはスレが荒れていたこともあって何も書き込まないようにしてたんだが
過剰に反応して何にでも荒らし認定する一部のアレな人が全然関係ない人を攻撃していて
攻撃された人は気の毒だなぁとか思いながら、変なことになってるなぁと傍観していたんだが
その流れがあまりにもアレすぎたのか、いよいよ本物が居付いてしまったようだけど
自業自得とはいえ残念なことだな
他の真っ当な住人からしたら随分迷惑なことだろうし、俺も嫌かなぁ

結果的には俺の書き込みに過剰に反応する必要は無かったし
元々荒らしと言われるほど、ひどい内容や投稿スタイルではなかったはずなんだが
(ここが何処かを考えれば、通常、それぐらいは普通にあり得るかなぁという範囲)
実際には過剰反応している奴が意味のない書き込みで一番このスレを荒らしていたし
そのことは他の住人からもちょくちょく指摘が入ってたと思うんだがねぇ
というか、そのあいだ俺は書き込んでなかったんだが・・・しかしまぁ結果的にこの事態だわ

俺も勉強になって、自分たちに都合の悪い事実を、荒らし認定などで黙殺しようとしても
事実を黙殺する歪のようなもので、もっと酷いことになるんだな
嘘が雪だるま式に広がって〜とよく似ている
こういうときは沈黙は金だね
0249デフォルトの名無しさん
垢版 |
2017/12/09(土) 22:25:40.22ID:jtqcr+t2
悪貨が良貨を駆逐するってやつだ
良心的なやつがここにいても
アホが次から次に湧いてくるから
心がおられる。

そしてgoとかPythonとかkotolinとかにいってしまう。
0250デフォルトの名無しさん
垢版 |
2017/12/09(土) 22:26:53.94ID:/arVeZ+Z
> そしてgoとかPythonとかkotolinとかにいってしまう。

それこそまさに悪貨が良貨を駆逐するってやつだな
今他の何かを駆逐して生き残ってるやつは全部悪貨なんだよ!
0252デフォルトの名無しさん
垢版 |
2017/12/09(土) 23:10:08.11ID:PLdtTEIG
NGワードになったんでideoneにIDを列挙しておくけど
https://ideone.com/sMHbO4
ID:/arVeZ+Zを誹謗する48個のレスはID:JRYZIrF0を除いて全部のIDがほぼ単発かつ、単発でないものは全て安価がかぶらない
全部ID:JRYZIrF0が自演してることはほぼ明らか
こいつ病気なんじゃねえの
このスレの癌だよ
0254デフォルトの名無しさん
垢版 |
2017/12/09(土) 23:30:09.58ID:lAUVYRHS
Setクラスってどういうときに使いますか?

Arrayクラスインスタンスにuniqかけて集合だと考えてたけど違うのではと思ったもので。
0255デフォルトの名無しさん
垢版 |
2017/12/09(土) 23:58:52.32ID:JRYZIrF0
ここまで自演
----------------------------
0259デフォルトの名無しさん
垢版 |
2017/12/10(日) 00:17:50.29ID:MJKB1Uts
ruby-devでリテラルの最適化の話がずっとあるけど、
やっぱ、ArrayもStringみたいになるのかな?
0260デフォルトの名無しさん
垢版 |
2017/12/10(日) 00:32:18.71ID:/jbkU8iJ
>>254
uniq だと O(n) かかるので
Set だとハッシュを使っているだろうから O(1) でいけるんじゃないかな
0261デフォルトの名無しさん
垢版 |
2017/12/10(日) 00:37:16.10ID:fgyE63pk
>>259
3の型付けなんて最適化や速度upで入れたいって言ってるわけでなぶんそうなるだろ
ruby-listでfrozen_string_literal前提の話とかちょろちょろ見るようになったし

型そのものはあんまり興味ない
希望の書き方とかる?
0262デフォルトの名無しさん
垢版 |
2017/12/10(日) 00:38:47.43ID:fgyE63pk
タイプミスった、ごめん

>>259
3の型付けなんて最適化や速度upで入れたいって言ってるわけでなぶんそうなるだろ
ruby-listでfrozen_string_literal前提の話とかちょろちょろ見るようになったし

型そのものはあんまり興味ない
希望の書き方とかる? -> 希望の書き方とかある?
0263デフォルトの名無しさん
垢版 |
2017/12/10(日) 00:50:55.71ID:MJKB1Uts
あんまりイメージわかないけど、可能なら型をrubyの文法のif文とかメソッドチェーンに組み込みたい

一度、ここでアンケとってruby-listで型の希望の書き方とか立ててみる?
0264デフォルトの名無しさん
垢版 |
2017/12/10(日) 01:14:35.57ID:XVX0tsBl
ruby-listに直でアンケとっても良いけど
荒らしもいなくなった様だからやってっみる?
0266デフォルトの名無しさん
垢版 |
2017/12/10(日) 01:40:44.61ID:ZzgYAKrD
投稿時はruby-listかruby-devのどちら向けの話題なのかワードを入れておく?

x : Integer
は、ありきたりというか仮引数の時ハッシュと間違いやすいだろ
繋げて書けるように
Integer =_ x = nil
みたいなのどうよ
0267デフォルトの名無しさん
垢版 |
2017/12/10(日) 01:44:56.11ID:nRE+Ifdg
元々、荒らしは、全部のスレで、いちゃもんを付けてくる。
漏れも、何回も攻撃されてる

単発ID で「間違ったこと書き込むな」とか、荒らしが書き込むと、
すぐに違うID で「そうだよな」みたいに、荒らしに同調するレスが付く。
深夜でもそうだから、荒らしに同調する奴が居るなんて、あり得ない

プログラミングの話は、一切できないくせに、批判ばっかり書いてるのが荒らし

ただ、Ruby, JavaScript のスレでは、
荒らしにかまうから、喜んで居着いてるだけ

荒らしは一切、無視すべし!
仕事をした事もない奴と、話をしても仕方がない
0268デフォルトの名無しさん
垢版 |
2017/12/10(日) 01:49:21.28ID:nRE+Ifdg
スレに、ワッチョイが無いから、荒らしが来る

ワッチョイを導入すれば良い。
そうすれば、自演できない
0271デフォルトの名無しさん
垢版 |
2017/12/10(日) 01:57:14.83ID:8z/4vDLR
荒らされてると聞いてきたら型の話してる…
しばらく界隈から離れてたら静的型付け実装か
0273デフォルトの名無しさん
垢版 |
2017/12/10(日) 02:12:19.13ID:ZzgYAKrD
いや、自分の希望の書き方なんだから人気のある書き方でなくても良いでしょ
それにもしかしたらruby-listで大人気になるかもしれないし

後、さっき思いついたけど
definedtype?( Type )
みたいなのどう?
0274デフォルトの名無しさん
垢版 |
2017/12/10(日) 02:28:55.59ID:9Zlb3ltO
なんで型の希望の話になってんの?

すまんが今来て、この1スレからさらっと読んだけど理解できんかった。

とりあず、このスレからruby-listに要望だずにしても
下記まとめなんかあるといいかも(オレがほしいw
・経緯
・メリット
・デメリット
・他の言語の場合、例

OOP言語で簡単なのがrubyの良いところだと思う。
0275デフォルトの名無しさん
垢版 |
2017/12/10(日) 02:32:48.91ID:8I95hEEE
簡単ではないだろ
Rubyはとんでもなく複雑な言語で、メジャーな言語の中だとC++の次くらいには複雑なんじゃないの
ちなみにRubyが複雑なのはMatzも認めてるよ
0277デフォルトの名無しさん
垢版 |
2017/12/10(日) 02:57:07.13ID:UtvIbdgM
荒らしがそろそろ暴るだろうから今のうちにテンプレを張っておく

>粘着する荒らしがスレを何ヶ月も荒らしたため、
>ネガキャン、逸脱した連投、荒らし行為を行う人がいた場合は対策としてruby-listやruby-devへ誘導するようにお願いします
>自演でIDを変えて荒らしを繰り返すため、加勢するIDも含めて誘導するようお願いします
>
>荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
>そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
0278デフォルトの名無しさん
垢版 |
2017/12/10(日) 03:21:46.15ID:1HHF8E2/
ruby-listだと恥ずかしくて聞きにくいのでこちらで質問します

a = [[1,2,3],nil, 4..10]
a.include?(5) => false
これで、trueにならないのはどうしてですか?
0279デフォルトの名無しさん
垢版 |
2017/12/10(日) 03:27:29.16ID:FZ4Yj2IT
>>274
そうだな
RubyはOOPで一番簡単な言語だと思う

>>275
むしろメジャーな言語の中で
一番シンプルだと思う
たとえばJavaScriptの方が複雑
0280デフォルトの名無しさん
垢版 |
2017/12/10(日) 03:44:33.44ID:UMP8yhyZ
>>278
a.include?(5) を小さく噛み砕くと以下になる
([1,2,3] == 5) || (nil == 5) || ((4..10) == 10)
これがtrueにならない理由


>>279
お前、まだ居るんか?
とっとろ消えろ
0281デフォルトの名無しさん
垢版 |
2017/12/10(日) 04:36:57.56ID:rydPLt/1
荒らしの連投が収まったからか、昨日、一昨日の書き込みに比べてえらく穏やかになったな
マジruby-list様々
0282デフォルトの名無しさん
垢版 |
2017/12/10(日) 04:56:13.97ID:fgyE63pk
>>278
Ruby2.4 リファレンスより
include?(val) -> bool
配列が val と == で等しい要素を持つ時に真を返します。

荒らしよけruby-list
0283デフォルトの名無しさん
垢版 |
2017/12/10(日) 05:52:58.55ID:nRE+Ifdg
荒らしは、色んなスレに、いちゃもんを付けてる。
JavaScript, Ruby のスレだけではなく、全部のスレを荒らしてる

荒らしは、仕事をした事がないから、反応するものには、何にでも噛みつくだけ

徹底的に、無視した方が良い
0285デフォルトの名無しさん
垢版 |
2017/12/10(日) 08:42:40.84ID:KNXh5gp+
rubyで型を書けるようになったとしても、コメントにアノテーションとして書けるようにするくらいが無難だろうて
0286デフォルトの名無しさん
垢版 |
2017/12/10(日) 16:46:51.98ID:IY8S1+HK
荒らしはあぼーんはずして見に来てるくせに、
毎回の見えてないアピールが糞うざい
0287デフォルトの名無しさん
垢版 |
2017/12/10(日) 19:04:47.93ID:4uyVh43l
メソッドの引数、戻り値の型保証を目的としたgems
* contracts
* rubype
他にも色々あるけど触ったことがあるのはこのくらいだな
0290デフォルトの名無しさん
垢版 |
2017/12/10(日) 22:15:37.82ID:TsNv+js2
型システムに関する最新の教科書であるTAPL本だとクラス=型だけど、
TAPL本を古典と言い切ってしまえる>>289は異次元世界の住人なのかな?
0291デフォルトの名無しさん
垢版 |
2017/12/10(日) 22:24:25.24ID:ML6lMJWk
TAPL本を古典なんてどこにも書いてないんだが?

なに一人連想ゲームしてんの?
0292デフォルトの名無しさん
垢版 |
2017/12/10(日) 23:46:36.31ID:EJLWoC7C
型チェックってどうして望まれてるの?
Kernel#instans_of? とか Module#=== を使って
TypeErrorを投げればいいんじゃないのと初心者としては思うんだけど、誰か教えて><
0293デフォルトの名無しさん
垢版 |
2017/12/11(月) 00:11:37.08ID:toSfFiY3
>ruby-devはrubyの開発者のためだから場所が正しくない
>Ruby初心者の質問と回答はここしかないな

みたいなカン違いししてるのでなければruby-devで聞きなよ
0294デフォルトの名無しさん
垢版 |
2017/12/11(月) 00:22:43.20ID:zjLRjNAe
結局、荒らしはrubyコミュで発言せず逃げたままか
ruby-listやruby-devでいったい何をしでかしたんだアイツ?
0295デフォルトの名無しさん
垢版 |
2017/12/11(月) 00:32:30.84ID:Iio3nuGz
>>1のテンプレ見て思ったんだけど、
各Rubyコミュへの案内も入れた方が良いんじゃないか?
ruby-listとruby-devとruby-core辺りでいいからさ
0296デフォルトの名無しさん
垢版 |
2017/12/11(月) 00:45:28.12ID:3l4LlxuK
>>292
大規模プログラミング症候群に患わった人たちがおもに困ってる

それとinstans_of?とかModule#===とかが目立つのはRubyらしくない
引数として与えられたオブジェクトは必要なメソッドがあるものとして記述する方がいい (ダックタイピング)
ifやcaseでやたらとクラス名が出てくるべきじゃない
こういう振り分け処理はrefinmentできれいに分離できるし何より見通しが良くなる

case obj
when nil
  ...
when Integer
  ...
when ...
  ...
else
  raise TypeError
end

これはrefinmentと組み合わせれば

obj.do_it

だけで済むし分岐のための Module#=== が呼ばれなくなるから処理速度も悪くならないはず

特に似たような処理が散乱して困るようならば検討するべき
0297デフォルトの名無しさん
垢版 |
2017/12/11(月) 00:54:42.06ID:zjLRjNAe
ruby-coreは英語だけどいいのか?
0298デフォルトの名無しさん
垢版 |
2017/12/11(月) 01:33:14.94ID:4q7JrCp0
switch 文で、型によって分岐していたら、オブジェクト指向ではない。
多くは、設計の間違い

型が増えるたびに、switch 文を修正しないといけなくなる

修正の度に、設定ファイルを書いているデザイナーが、
プログラマーに頼まなければならなくなるから、

プロジェクトの人材配分ができなくなる
0300デフォルトの名無しさん
垢版 |
2017/12/11(月) 03:05:20.05ID:cnSlApZQ
型はなくていいけど、宣言していない変数は使えないようなオプション欲しい
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況