17/11/24 00:35:29.31 rLZHdQ3Q.net
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 61
スレリンク(tech板)
るりまサーチ (リファレンス検索)
URLリンク(rurema.clear-code.com)
Rubyist Magazine - るびま
URLリンク(jp.rubyist.net)
逆引きRuby
URLリンク(www.namaraii.com)
2:デフォルトの名無しさん
17/11/24 00:36:08.95 rLZHdQ3Q.net
たのしいRuby 第5版、2016
Effective Ruby、2015
メタプログラミング Ruby 第2版、2015
Rubyのしくみ、2014
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
リファクタリング:Rubyエディション、2010
3:デフォルトの名無しさん
17/11/24 01:29:56.00 rLZHdQ3Q.net
開発環境
RDE
Windows用IDE
URLリンク(ja.osdn.net)
以下、RDEの使用説明
URLリンク(rubyde.sourceforge.net)
サクラエディタ
Windows用高機能エディタ
URLリンク(ja.osdn.net)
以下、ruby用設定の説明
URLリンク(supportdoc.net)
Emacs
GNUの高機能エディタ
以下、EmacsでのRuby開発について
URLリンク(qiita.com)
VSCode
マルチOSに対応したマイクロソフト社製のソースコードエディタ
URLリンク(code.visualstudio.com)
4:デフォルトの名無しさん
17/11/24 01:46:47.26 rLZHdQ3Q.net
RDEのデバッグ機能を使う場合、設定においてデバッグオプションを「-r debug2」から「-r debug」と書き換えて、
ruby付属のdebug.rbを使うようにすること
RDE付属のdebug2.rbはruby1.8用のスクリプトのため、現在のrubyのversionには使えません
5:デフォルトの名無しさん
17/11/24 08:36:20.17 r53+zpq0.net
>>1 乙
6:デフォルトの名無しさん
17/11/25 15:40:51.82 unmm6CwQ.net
出るφは撃たれる
7:デフォルトの名無しさん
17/11/26 20:55:02.73 zBIai8/a.net
前スレにも書いたけど中級者上級者向けのRuby本が必要だと思う
それもruby界隈で一般化された題材じゃなくてまだ広く知れ渡っていない専門的な題材を扱った本を
Openglとか分散VMとか大規模演算rubyとか他にもこういう題材は結構あると思う
8:デフォルトの名無しさん
17/11/26 21:55:29.31 OhY/q4lK.net
現段階で専門的な題材の書籍を出しても赤字になるだけで厳しいと思う
だったらまだ一般的なプログラミング雑誌で連載する方が見込みはあるんじゃないかなあ
あとは教育機関・研究機関における浸透度合いを高めるところも攻めた方がいい
それと会社のお偉いさんはRubyの案件をさらに増やして
とりあえず日本で有人月面着陸を計画してるからmrubyも載せようぜ
9:デフォルトの名無しさん
17/11/26 22:38:23.64 e8MWK5Ug.net
初心者向け書籍で裾野を広げまくったからニーズはあるだろ
いわば教科書を読んで基礎を学んで、それらを試せる応用分野をみんな探している所
Rubyと+αの専門性の高いものを出せば、目的はないけど何か読みたいって層にはドンピシャで来る
web系はRailsやWEBrickでこれからも出るし、科学計算や3Dとか教養シリーズみたいな感じで出せば全然いける
10:デフォルトの名無しさん
17/11/26 22:48:35.39 LT7w1DpA.net
データ分析系は
Pythonが流行してるから
そっちで本出すだろ
Rubyだとライブラリと
速度がネックになるから
11:デフォルトの名無しさん
17/11/26 23:21:25.25 azT4+Y0L.net
>>9
cadをやってるから、物理演算とかシミュレート系をだして欲しい
あと、組込み向けにソースコンパイルやらRuby-C間の解説とか
12:デフォルトの名無しさん
17/11/26 23:44:18.39 e8MWK5Ug.net
>>10
学んだRubyで何かする本が求められていると言っているのに、
何故Pythonが出てくるんだ?
13:デフォルトの名無しさん
17/11/27 00:33:15.55 o0pIkOSz.net
rubyコンとかRuby勉強会とかどんな感じ?
マシンスペック的にはどんなのもっていけばいい?
14:デフォルトの名無しさん
17/11/27 01:59:56.02 x+zk8UEy.net
開発マシンの、CPU は i7、メモリは最低でも 8GB(16GB が望ましい)
Windows 10 pro
WSL・仮想OS で、Linux
Mac の人も多い
15:デフォルトの名無しさん
17/11/27 07:55:32.25 gt4bCosJ.net
>>12
Rubyはrails以外に使い道無いから他の事したいなら他の言語覚えろよ
16:デフォルトの名無しさん
17/11/27 12:11:21.22 W0wAPtjw.net
>荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
17:デフォルトの名無しさん
17/11/27 13:14:45.58 o0pIkOSz.net
>>15
荒らし行為をやり続けてPythonスレから追い出されたの?
ここじゃ病気は治せないから病院に行ったほうがいいよ
>>14
やっぱり結構なマシンを持って行くんだね
ARMプロセッサ積んだボードにrubyをクロスコンパイルして入れた自作のマシンとか考えてたけど、
低スペックでもWinノートPCを買っておいた方が良いか
18:デフォルトの名無しさん
17/11/27 18:50:34.20 agUtcdpR.net
最近の荒らしはやり方が雑だよな
殆ど単発の自演しか涌かないし
出て来ても「はいはい、荒らしてますよ~」みたいな嫌々やらされてる感しかない
19:デフォルトの名無しさん
17/11/27 19:23:05.97 x+zk8UEy.net
Ruby は、Linux 必須だから、WSL・仮想OS ・Docker などが必須
2つのOS を動かすから、メモリは最大限積む必要があり、
CPU はi7 にすると、16GB まで積める。
i3, i5 だと、8GBまでかな?
それと、たいていのプログラム言語の本の動作条件が、Windows Pro
一般的に、開発用PC は、高スペック。
画面も、フルHD 以上
20:デフォルトの名無しさん
17/11/27 21:01:16.83 LZyaXIN8.net
もうこいつどんだけ粘着するのか
21:デフォルトの名無しさん
17/11/27 21:44:22.84 agUtcdpR.net
自演も中途半端
もうただ単に定型文を打つだけで満足してて、
荒れたかどうかも気にしなくなってるんだよな
夏休みの宿題やらされてる子供かよ
22:デフォルトの名無しさん
17/11/27 22:51:47.97 rAG/Bhsm.net
「また自演した」「このスレには自演が居るから」「このスレには自演がいます!いますよ!ほら!」としか書くことがなくなったんだろうなと思う
本当に他人から貰ったレスというのは自分がいちばんよくわかってて、そしてそれは本レスにおいても自演指摘レスにおいてもおそらく極めて少ない
住人の冷めた態度が効いてると表現することはできなくもないが
23:デフォルトの名無しさん
17/11/27 23:02:26.98 SI4QCwP5.net
静的型マンセーの粘着がいるのは確かだが、何でもかんでも自演自演言ってるやつもちょっと病的だよな
ちょっとネガティブな発言しただけなのに荒らしの自演認定されたことあるし
24:デフォルトの名無しさん
17/11/27 23:32:26.87 W0wAPtjw.net
上の人は荒らしだからスルーでお願いします
>荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
25:デフォルトの名無しさん
17/11/27 23:50:32.31 9RbRf1jA.net
>>22
>>23
即座にバレとる
アホやろお前?
26:デフォルトの名無しさん
17/11/27 23:53:05.49 rAG/Bhsm.net
>>23
スレ住人が過去に何度か同調したことがあるのだが、
そのせいで自分が こ れ 以 降 何 を し て も 正義で多数派で「こちら側」に居れると勘違いしてしまったらしいのだ
いつか自分が「あ
27:ちら側」に追いやられていたことに気づく日がくればいいと思う
28:デフォルトの名無しさん
17/11/28 00:02:17.19 1+J/qigr.net
そうやって嫌々やってるからまたボロを出す
22:51:47.97
23:02:26.98
こんだけ時間くっつけて発言すればバカにさえ自演だってわかる
しっかり頭を働かせろ
ゆとり世代か何かか?
29:デフォルトの名無しさん
17/11/28 00:03:55.96 qPKDeu2+.net
だから、まあ、我々はふたつの荒らしを並行同時にあしらいながら進まねばならなくなっている
「やってはいけないこと」「さわってはいけないもの」は倍以上に増え、発言の困難性は以前より遥かに増した
難儀なことだ
30:デフォルトの名無しさん
17/11/28 00:07:19.20 TcvLN2I4.net
完動する事を確認しているDLライブラリ使ったスクリプトを、思いつきでrubyに付属のdebug.rbで診たら、
dllの関数呼び出しの所で`unknown symbol "関数名"' (RuntimeError)がでてなかなかブレークポイントまで進めません
一部の止まるエラーを抑えたり、スクリプト上の一定部分だけデバッガー無効化したりすることは可能ですか?
31:デフォルトの名無しさん
17/11/28 00:39:00.64 yd/D5jJi.net
>>28は俺らを辟易させることが目的らしい
でもそれって俺等がいつも通りに荒らしをバカにしながら会話し続けたらどうするの?
いつまでもあの騙せそうにない自演でレスを稼いでくれる?
32:デフォルトの名無しさん
17/11/28 03:30:10.92 PkJOT8pW.net
そのエラーになる部分を、コメントアウトして実行すれば?
33:デフォルトの名無しさん
17/11/29 04:08:52.30 zX4fkY5X.net
debug.rbはkernelのset_trace_funcで登録したprocを、デバッギーの行毎に呼び出してる
だから呼び出されたくない行は登録するproc内でif文を使って分岐させてやれば良い
やってることはそれ程難しくないし、debug.rbに10行程度書き加えれば出来るよ
34:デフォルトの名無しさん
17/11/29 18:32:32.11 MwOAAXQr.net
>>29
DEBUGGER__クラス内の一番下段の下記を、
stdout.printf "Debug.rb\n"
stdout.printf "Emacs support available.\n\n"
RubyVM::InstructionSequence.compile_option = {
trace_instruction: true
}
set_trace_func proc { |event, file, line, id, binding, klass, *rest|
DEBUGGER__.context.trace_func event, file, line, id, binding, klass
}
35:デフォルトの名無しさん
17/11/29 18:44:22.06 MwOAAXQr.net
下のに書き換え、
@@ignore_ = {}
def DEBUGGER__.ignore_(ignorefl = @@ignore_)
return @@ignore_ = ignorefl
end
stdout.printf "Debug.rb\n"
stdout.printf "Emacs support available.\n\n"
RubyVM::InstructionSequence.compile_option = {:trace_instruction => true} if RUBY_VERSION > "1.9.0"
set_trace_func proc { |event, file, line, id, binding, klass, *rest|
tb = caller(0);last_i = "";i_name = "";i_num = 0;
last_i = tb[-1] if tb.size > 0
last_i.dup.each_line(":"){ |i_line|
if i_line .to_i > 0 || (i_line.chop).to_i > 0
break if i_name.size < 1
i_num = (i_line[-1] == ":" ? (i_line.chop).to_i : i_line .to_i)
i_name = i_name.chop
break
else
i_name += i_line
end
}
if i_num > 0 && DEBUGGER__.ignore_.include?(i_name) && DEBUGGER__.ignore_[i_name].include?(i_num)
# debug_skip
else
DEBUGGER__.context.trace_func event, file, line, id, binding, klass
end
}
36:デフォルトの名無しさん
17/11/29 18:51:55.61 MwOAAXQr.net
デバッグするソースファイル�
37:フ最初の方に以下を書き加え、debugをスキップしたいファイルをignorefに、行をRangeかArrayでignorelにいれる if defined? DEBUGGER__ ignoref = __FILE__ ignorel = []# 27..48 DEBUGGER__.ignore_[ignoref] = ignorel end debugのスクリプトそのものを書き換えるんじゃなくて、 複製して別名をつけたものを書き換えて使ったほうが良いよ
38:デフォルトの名無しさん
17/11/30 01:37:59.97 XY2yKXS8.net
Rubyでopenglのシェーダーを扱った本、技術評論社辺りから出してくれないかな
こういうのこそRuby向けだよ
39:デフォルトの名無しさん
17/11/30 13:11:26.74 dNsMGYhb.net
OpenGL自体のgemとかはそろってるから、
ミクミク互換やXファイル互換のソースを添付して出せば売れそうだけどな
40:デフォルトの名無しさん
17/12/01 01:22:55.57 UulhXT9P.net
# frozen_string_literal: false
ソースの最初に上のように書かれてるのを見つけたけどどいう意味?
他にもこういうのあるの?
41:デフォルトの名無しさん
17/12/01 04:44:53.26 zZy3ktkC.net
>>38
ruby-3以降はリテラル文字列がfrozenされることになるけど、
そうさせないためのマジックコメントでリテラル文字列の破壊的動作が許されるようにしている
ruby-2.3以降であればruby --enable frozen-string-literal <ファイル名>でrubyを起動することで、
リテラル文字列をfrozenされた状態とする挙動を試すことができる
# これまでの挙動
$ ruby -e 'p "A".downcase!'
"a"
# ruby-3以降のリテラル文字列の挙動を試す (ruby-2.3以降)
$ ruby --enable frozen-string-literal -e 'p "A".downcase!'
-e:1:in `downcase!': can't modify frozen String (RuntimeError)
from -e:1:in `<main>'
42:デフォルトの名無しさん
17/12/02 02:33:11.13 7L3qqdqd.net
>>39
前スレのリテラルの話でArrayが出てたけど、Arrayも何か将来的に関係あるの?
43:デフォルトの名無しさん
17/12/02 12:25:58.45 S9pj625T.net
二項演算子型のシンタックスシュガーって場合によっては意図したとおりに動いてくれないんだね
Math::PI %1 #=> unknown type of %string
Math::PI *1 #=> undefined method `PI' for Math:Module
Math::PI /1 #=> unterminated regexp meets end of file
Math::PI >1 #=> true
pi = Math::PI
pi %1 #=> unknown type of %string
pi *1 #=> 3.141592653589793
pi /1 #=> 3.141592653589793
pi >1 #=> true
44:デフォルトの名無しさん
17/12/02 12:28:39.60 S9pj625T.net
pi %1 #=> unknown type of %string
じゃなくて
pi %1 #=> 0.14159265358979312
だった
定数だとうまくいかない模様
45:デフォルトの名無しさん
17/12/02 12:49:07.58 m0rwQM4g.net
>>41が何を意図しているか分かるわけないだろう
46:デフォルトの名無しさん
17/12/02 13:43:40.72 0GCrzYMu.net
スペースを入れろってだけの話では
47:デフォルトの名無しさん
17/12/02 13:50:50.68 XRYOyseR.net
今年もクリスマスイブに何か発表ある?
48:デフォルトの名無しさん
17/12/03 03:01:00.42 IGABZHMD.net
>>39
さんくす
49:デフォルトの名無しさん
17/12/03 12:36:05.29 76TDWePk.net
Ruby2.5
50:デフォルトの名無しさん
17/12/05 03:46:28.43 XHolF61u.net
Rubyの型システムは早ければ2020年のオリンピック頃にお目見えか
どんな物になるんだろう
51:デフォルトの名無しさん
17/12/05 16:37:09.15 tba/yJ/+.net
Rが楽しくて勝手にやってるんだが
rubyはどうやって勉強すればいいんだ
>>2の自分に合うのを買えばいいのかな?
52:デフォルトの名無しさん
17/12/05 16:48:30.13 lVtWIMct.net
他言語の経験
53:あるなら プロを目指す人のためのRuby入門という入門書が新しくておすすめ(出たばかり)
54:デフォルトの名無しさん
17/12/05 17:04:59.24 04pPds2q.net
本は買った後、
分からない事があれば、ここで環境とコード示して聞けば良いよ
誰かが答えてくれるから
55:デフォルトの名無しさん
17/12/05 23:05:42.39 bv7GN3wK.net
たのしいRuby 第5版、2016
R を知ってるなら、これも読む。
みんなのPython 第4版、2017
この2冊は、表裏一体。
ただし、先に「たのしい」から読むこと
56:デフォルトの名無しさん
17/12/06 00:16:07.55 Nuv0O2Zm.net
>>50-52
3冊チェックしてみました
webのサンプルを読んで書店で見てみます
ありがとうございました
57:デフォルトの名無しさん
17/12/06 04:53:57.53 j5o9izkC.net
>荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
58:デフォルトの名無しさん
17/12/06 16:47:29.82 AVh4r46K.net
Effective RubyがKindleで半額セール中(1728円)
59:デフォルトの名無しさん
17/12/06 21:44:56.35 sdwtDf9T.net
RubyでOpenGLの書籍も来い
60:デフォルトの名無しさん
17/12/06 21:46:49.21 vDrxBWCE.net
読者100人ぐらいしかいなさそう
61:デフォルトの名無しさん
17/12/06 21:48:41.70 Q8AsPyaZ.net
まずRubyが遅いから
画像処理やろうって人が少ない
62:デフォルトの名無しさん
17/12/06 21:57:47.76 j5o9izkC.net
3Dモデリングなら速度要らなさそう
あと可視化の分野辺り
というか、ゲームじゃなければ速度いらないだろ
63:デフォルトの名無しさん
17/12/06 22:11:16.54 sdwtDf9T.net
3Dモデルというか、OpenGL学ぶのに最適だよRubyは
教材として出せば良いのに
商材として出すならMMDやXといった各種3Dモデル形式に対応した3DモデリングソフトをRubyで書いてCD付録として書籍につければ良い
そのRubyコード目当てに買う人は多いだろうし、Rubyで書いてるから書き換えやすく、改造もしやすい
64:デフォルトの名無しさん
17/12/06 23:53:59.61 9Cl2Q0EY.net
残念ながらそれはない
Rubyはまともに使うつもりないなら学習のオーバーヘッドが大きすぎる
今ならJavaScriptとWebGLでいいよ
65:デフォルトの名無しさん
17/12/07 02:09:30.99 5ii6i5Is.net
おまえがネガキャンしても無意味だ
66:デフォルトの名無しさん
17/12/07 02:49:15.45 mIJMiEiv.net
openglか
確かラッパーのgemがいくつかあるんだよな
初期のでglVertexPointerやらglColorPointerやら使って三角形を描画するとかやった記憶がある
今のgemはVBOやシェーダは使えるのか?
67:デフォルトの名無しさん
17/12/07 03:59:25.76 GxHPFgmw.net
3Dモデラーソフトのソースが付くなら欲しい
ゼロから書くのは面倒だけど既にある程度完成しているなら、
自分で足りない所だけ追加して楽できる
68:デフォルトの名無しさん
17/12/07 16:46:28.15 al0lHo8n.net
>>63
gemをちょっとググってみたけどopengl4.xに対応しててそれ用の関数もある
shaderがどこまで出来るかは自己の環境次第なんじゃね?
まあ、最近はopengl4.x使える環境がデフォだけど
69:デフォルトの名無しさん
17/12/07 22:06:15.41 mIJMiEiv.net
みんな、Rubyのリファクタリングツール使ってる?
今まで手動でやってきたんだけど、何かお勧めツールかgemある?
70:デフォルトの名無しさん
17/12/07 22:18:59.22 h0N877cC.net
rubymine
71:デフォルトの名無しさん
17/12/07 22:35:19.73 p8nuhjj6.net
rspec
rubyは静的解析が極めて困難な言語であり、リファクタリングを機械的に安全に行うことはできない
テストをちゃんと書いておいて、実際に繰り返し動かしながら結果的に元の挙動が再現されるように慎重に行う必要がある
72:デフォルトの名無しさん
17/12/07 23:56:42.24 kyxQutt+.net
テストはバグが有ることを証明することはできるが
バグがないことを証明することはできない
故にいくらテストを書いても安心できない
73:デフォルトの名無しさん
17/12/08 00:13:02.65 AScviHBw.net
お前のツールでリファクタリングしたらバグったやないか客の業務止まっとるんやぞどないしてくれんねんボケエ!!!
こうなるのが目に見えてるんだからツール作る方もやりたくないわな
静的リファクタリングを動的型言語に求めるのは筋違い
74:デフォルトの名無しさん
17/12/08 00:48:46.54 yFCS8xkj.net
また言ってるのかこいつ
はやく精神科に見てもらえ
ruby会議16か15でリファクタリングのgemのOHPあったけど、
ぐぐったら出てくるから見てみ
75:デフォルトの名無しさん
17/12/08 01:08:24.02 ra4CwiYK.net
>>2 のリファクタリング:Rubyエディションを読めばわかるけど、
ツールで自動化するのは問題なく、むしろポイントはツールの使い勝手とか連携させるとかの方
リファクタリング機能自体にはあんまり差異は無い
例の自演荒らしはそれを知らずに静的云々とか煽ってるけど
76:デフォルトの名無しさん
17/12/08 01:33:37.38 AScviHBw.net
>>72
さすがにリファクタリングに関して静的型と差異がないというのは贔屓目に見ても無理があるわ
例えばクラスのメソッドのリネームを安全に行うには、そのメソッドを使っている箇所を全て正確に特定しなければならない
静的型なら造作もないことだけど、ちょっと頭使えばわかることだが動的型では原理的に不可能
77:デフォルトの名無しさん
17/12/08 01:35:02.78 T1izFLQz.net
Ruby技術者試験受けるよ!
アドバイスとかあったらお願いします
ちなみに、今年中にsilver受験するつもり
78:デフォルトの名無しさん
17/12/08 01:36:07.26 AScviHBw.net
あと、Rubyに限ったことじゃないけどスクリプト言語は識別子を短くする傾向があるから、
単純にgrepで抽出するのも困難を極める
もちろん静的型では一文字メソッドだろうと全く問題ないけどね
79:デフォルトの名無しさん
17/12/08 02:01:33.10 AScviHBw.net
何が言いたいかというと、リファクタリングにツールの力を借りたくなるようなものを動的型で作るなら必ずテストを書けってことだ
絶対に安全というわけではないが気休めにはなる
テストのない大規模なRubyのソースは単なる糞の山であり、確実にメンテ不能に陥る
80:デフォルトの名無しさん
17/12/08 02:24:45.46 DD2Dk6IR.net
strArray = %w(a b c a c)
strHash = strArray.each_with_object(Hash.new(0)) { |str, h| h[str] += 1 }
p strHash #=> {"a"=>2, "b"=>1, "c"=>2}
使われている文字が、一番多いもの(複数可)と、その回数を求める。
ひとまず、Hash に使われている回数を入れたけど、
ここから最大のもの、a, c の、2回を求めるには、どうすれば良い?
81:デフォルトの名無しさん
17/12/08 02:44:53.49 yFCS8xkj.net
>ID:AScviHBw
連投の癖から見ても例のあいつだな
話題すりかえれると思ってんのかゴミ
82:デフォルトの名無しさん
17/12/08 02:47:13.84 cpGshdOM.net
yFCS8xkjは例のアイツを記憶している
それぐらい例のアイツを意識しまくっている
83:デフォルトの名無しさん
17/12/08 02:49:26.53 ra4CwiYK.net
>>79
自演バレてるぞ
84:デフォルトの名無しさん
17/12/08 02:52:47.39 cpGshdOM.net
自演じゃねーしw
例え自演だとしても、お前が例のアイツを忘れられない
ってのは事実だろう?だってそれっぽい書き込みをみたら
思い出してしまったんだし。
俺はどうでもいい人のことなんか覚えられないなぁw
85:デフォルトの名無しさん
17/12/08 03:03:28.70 M1BysAXW.net
今日の荒らしのIDはID:AScviHBwとID:cpGshdOMか
もっとレス稼げよカス
86:デフォルトの名無しさん
17/12/08 03:05:51.79 cpGshdOM.net
そういや上の方でrspecって名前が出てたけど、
rspecの使い方をマスターするのは重要だな。
contextとlet、この2つの正しい使い方は
ちゃんと理解しないといけない
たんなるグループわけとか変数の代わりではない
87:デフォルトの名無しさん
17/12/08 03:11:55.00 cpGshdOM.net
少しヒントを出すか。
context(describe)はテスト対象のコードが複雑なら遠慮なくネストすること
もちろんテスト対象のコードはなるべくシンプルにするものだから
その場合はテストコードもcontextのネストも深くはならないのだが、
条件分岐があればそれに対応してcontextもネストさせてよい
そしてletは名前を遠慮なくかぶらせていい。
一般的には外側のスコープと同じ名前の変数を作るのは良くないことだが
describeとcontextのネストの中で、外側と同じ名前の変数は遠慮なく作っていい。
というか外側のletはデフォルト値、内側のletはそれを上書きする。そういう扱い
88:デフォルトの名無しさん
17/12/08 03:18:31.95 ra4CwiYK.net
いつもネガキャンがバレたら即自演荒らし始めるけど、
もしかして何かの病気?
89:デフォルトの名無しさん
17/12/08 03:20:06.76 cpGshdOM.net
いつもと違う=別人 という発想に至れないのが残念な人だなw
思い込みハゲしいぜハゲ
90:デフォルトの名無しさん
17/12/08 03:25:08.37 JkPU7Xcj.net
>>77
x = strArray.uniq.group_by{|e| strArray.count(e)}
# 最大値
m = x.keys.max # => 2
# 最大値を返す要素
x[m]. #=> ["a", "c"]
91:デフォルトの名無しさん
17/12/08 03:25:58.22 ra4CwiYK.net
ここまで「ネガキャンをしていたのは自分です」と告白してくれる人も珍しい
こんな正直な人なかなかいない
連投する癖は相変わらずウザイけど
92:デフォルトの名無しさん
17/12/08 03:31:15.22 cpGshdOM.net
>>88
ネガキャンしてたのはお前だろw
何も言わないなら図星だし
必死に否定するのは怪しい
正直に答えろ
という理屈で語らないでくださいよw
俺ネガキャンしてないし
93:デフォルトの名無しさん
17/12/08 03:51:22.77 ra4CwiYK.net
いつもネガキャンがバレたら即自演荒らし始めるけど、
もしかして何かの病気?
94:デフォルトの名無しさん
17/12/08 03:52:53.67 cpGshdOM.net
だから誰と間違ってんだよw
95:デフォルトの名無しさん
17/12/08 04:13:17.16 uDZwOU33.net
ネガキャン失敗を晒しあげ
96:デフォルトの名無しさん
17/12/08 05:21:46.31 ra4CwiYK.net
>>91
お前って行動を振り返る癖がないんだな
墓穴を掘るのは別に止めないけど、病気ならはやく病院に行った方が良いよ
97:デフォルトの名無しさん
17/12/08 05:27:36.83 T81djMMQ.net
毎回同じようなこと繰り返してるけど、今のrubyで問題ないと思ってるやつのほうが相当やばいと思うけどね
98:デフォルトの名無しさん
17/12/08 05:33:53.21 uDZwOU33.net
荒らし「毎回同じようなこと繰り返してるけど、今のrubyで問題ないと思ってるやつのほうが相当やばいと思うけどね」(荒す口実にしないとは言っていない)
99:77
17/12/08 06:05:43.38 DD2Dk6IR.net
strArray = %w(a b c a c)
strHash = strArray.each_with_object(Hash.new(0)) { |str, h| h[str] += 1 }
p strHash #=> {"a"=>2, "b"=>1, "c"=>2}
maxCount = strHash.values.max #=> 2
p strHash.select {|k, v| v == maxCount } #=> {"a"=>2, "c"=>2}
key, rassoc を使うと、最初に一致した、1つしか返さない。
p strHash.key(maxCount) #=> "a"
p strHash.rassoc(maxCount) #=> ["a", 2]
>>87
ありがとう。その方法でも出来ますね
100:デフォルトの名無しさん
17/12/08 06:34:00.66 T81djMMQ.net
今度は俺が荒らし扱いか
めんどくさいスレだな
101:デフォルトの名無しさん
17/12/08 06:34:11.97 ra4CwiYK.net
毎回繰り返されているのはRubyに関係無い荒らしの自爆劇なんだよな
102:デフォルトの名無しさん
17/12/08 06:41:08.45 61INIGrw.net
単発でネガキャン繰り返してた奴=自演しながら静的静的言い続けてる荒らし
は確定か
次、荒らしがやりそうなのは
荒らしをスルーして書き込みさせてたIDでの"加勢"かな?
103:デフォルトの名無しさん
17/12/08 07:38:48.25 AScviHBw.net
少なくともID:AScviHBwはRubyと関係ないことは言ってないし別に間違っ�
104:スことも言ってないでしょ 静的型の方がリファクタリングしやすい、くらいMatzでも発言したことあるぞ さすがにこんなのまで荒らし扱いするのはこのスレくらいだよ
105:デフォルトの名無しさん
17/12/08 08:04:15.93 ZXhAMZdZ.net
>>100
ID位変えろ。
106:デフォルトの名無しさん
17/12/08 09:57:04.25 v/VLqoKO.net
>>100
>少なくともID:AScviHBwはRubyと関係ないことは言ってないし別に間違ったことも言ってないでしょ
確かに動的型付けであるRuby とは関係あるし、間違っていることも言っていない
ただしそれは Ruby 固有の問題ではなく動的型付け言語全般に共通のこと
にもかかわらずRubyスレに粘着してクソレスを連投してるから荒らしと言われる
たとえば>>76を改変すると:
>テストのない大規模なPythonのソースは単なる糞の山であり、確実にメンテ不能に陥る
この文章は動的型付け言語であるPythonと関係するし、間違ってもいないでしょ
107:デフォルトの名無しさん
17/12/08 10:28:17.37 3HBH94ah.net
それはRubyユーザーがRubyのスレでRubyについて何か書き込むのは当たり前では?
その意味で、唐突にPythonなど他の言語を持ち出す方が荒らしでは?
もう一度書くけど、RubyユーザーがRubyのスレでRubyについて書くのは当たり前では?
逆にPythonユーザーがPythonスレに何か書き込むとき
同じことがRubyにも言えたら、ここにも何か書き込まなきゃならないのか?
108:デフォルトの名無しさん
17/12/08 11:06:13.77 +YVZNSfe.net
まあ歓迎しない空気があるスレで歓迎しない話題を延々と続けるのもどうかとは思うが。
109:デフォルトの名無しさん
17/12/08 12:25:20.39 T81djMMQ.net
最近のrubyの明るい話題と言えば、require 'pp' と書く必要がなくなったことくらいだな
110:デフォルトの名無しさん
17/12/08 15:14:06.90 ra4CwiYK.net
荒らしよ
お前のやっている行為が荒らし行為じゃないって言うなら
ruby-listやruby-devに行けよ
111:デフォルトの名無しさん
17/12/08 15:55:17.61 v/VLqoKO.net
>>103
>RubyユーザーがRubyのスレでRubyについて書くのは当たり前では?
もちろん、それなら当たり前だよ
でも ID:AScviHBw がやった、RubyユーザーでもないのにRubyスレで
Rubyに限らない一般論を連投する行為は当たり前じゃないだろ?
URLリンク(hissi.org)
たとえばRailsユーザーがRubyスレでRailsについて連投するのは当たり前じゃないし、
そこでWebProg板の専用スレへの誘導を促されても移動せずに屁理屈をこね回していれば、
その行為に対して荒らし認定されるのは当たり前だろ?
ということで、これ以上「動的型付け言語におけるリファクタリング」うんぬんを
語りたければ、専用の隔離スレがあるからそちらへ移動を願う
・静的型付け言語の潜在開発生産性は今の100倍 ×5
スレリンク(tech板)
・リファクタリングをただのコード修正と思ってる人へ
スレリンク(tech板)
112:デフォルトの名無しさん
17/12/08 16:03:31.33 61INIGrw.net
次から初心者スレでネガキャンや自演を繰り返す輩は
ruby-listやruby-devに来れないなら荒らし認定して良いだろう
ruby-listやruby-devに来たなら書き込み時のIDとレス番をしっかり伝えて発言しろよ
113:デフォルトの名無しさん
17/12/08 16:39:26.80 8wQDKBTk.net
今日のID
ID:AScviHBw
ID:cpGshdOM
ID:T81djMMQ
ID:3HBH94ah
ID:v/VLqoKO ←New!
114:デフォルトの名無しさん
17/12/08 20:29:36.48 3HBH94ah.net
RubyユーザーがRubyに思うことを書き込むときに
他の言語にも言えることだったら書き込んではいけないというのはおかしい
他の言語は関係なかろう、Rubyユーザーなのだから
115:デフォルトの名無しさん
17/12/08 20:38:10.07 ra4CwiYK.net
初心者スレでイキってないでruby-listかruby-devにいって来いよ荒らし
116:デフォルトの名無しさん
17/12/08 21:52:10.81 cpGshdOM.net
おっすただいま。また誰かと俺を勘違いしてる人が
暴れてるのかな?
117:デフォルトの名無しさん
17/12/08 21:58:28.54 ra4CwiYK.net
この荒らしは自演で嘘ばかりついて人を騙す事しかしないけど、
ruby-listやruby-devの名が出た途端にダンマリ
もしかして過去に追い出された口かな?
だからruby-listやruby-devにいけないのか
118:デフォルトの名無しさん
17/12/08 21:59:58.96 TcYdv7Hd.net
ruby から numpy 使えば文句なさそう
って一瞬思ったがそれなら最初から python でいいや
119:デフォルトの名無しさん
17/12/08 22
120::03:16.63 ID:8wQDKBTk.net
121:デフォルトの名無しさん
17/12/08 22:25:47.08 gOxqVObs.net
Ruby3で予定されてるType Checkingのことでちょっと聞きたいんだけど
def sum(x: Integer, y: Integer)
って言う形にするって見たんだけど、キーワード引数はどういう形でこの先生き残ればいいのか教えて下さい
122:デフォルトの名無しさん
17/12/08 22:33:35.37 ra4CwiYK.net
例の荒らしが荒らす前に答えとく
まだ型システムがどうなるかは決定してないから、
誰もわからない
一応、2020年のオリンピック頃に何か発表されるようだけど、
キーワード引数には言及されてないと思う
123:デフォルトの名無しさん
17/12/08 22:49:19.36 PDg411NM.net
>>112
ruby-devでいいから発言してみたら?
スレ内でやってた事が荒らし行為じゃないなら、皆が納得するわけだし
判り易い様にIDとレスの番号も書いてね
124:デフォルトの名無しさん
17/12/08 23:05:52.19 ra4CwiYK.net
その場合、発言できないとなるとみんなから荒らし認定されるわけだけど
俺は出来ない方に一票
日付変更でIDリセットを狙ってるんだよ
呼吸するように嘘を吐く性格だからもう絶対出て来ないのは判りきっている
125:デフォルトの名無しさん
17/12/08 23:07:29.21 cpGshdOM.net
>>118
いやruby-devとは内容が違うだろ
126:デフォルトの名無しさん
17/12/08 23:10:46.95 cpGshdOM.net
ruby-devはrubyの開発者のためだから場所が正しくない
Ruby初心者の質問と回答はここしかないな
127:デフォルトの名無しさん
17/12/08 23:18:20.96 gOxqVObs.net
>>117
ありがとう
128:デフォルトの名無しさん
17/12/08 23:18:34.18 PDg411NM.net
連投ってことはやっぱり荒らしか
129:デフォルトの名無しさん
17/12/08 23:22:20.73 ra4CwiYK.net
ruby-listでもruby-devでもどっちでも構わないよ
発言マダー?
130:デフォルトの名無しさん
17/12/08 23:39:14.89 DD2Dk6IR.net
荒らしと会話するな。
会話して、話を続ける者も、荒らしと同じ
荒らしを無視しないと、ずっと荒らされる。
荒らしは無視されるのが、辛い
>>116
Haxe のデフォルト引数は、以下。
? は、null になる
function f(x:int = 0, ?y:String):Void{ }
131:デフォルトの名無しさん
17/12/08 23:40:59.47 cpGshdOM.net
>>125
了解した
132:デフォルトの名無しさん
17/12/08 23:42:38.02 8wQDKBTk.net
これは自演ですわ
125デフォルトの名無しさん2017/12/08(金) 23:39:14.89ID:DD2Dk6IR
126デフォルトの名無しさん2017/12/08(金) 23:40:59.47ID:cpGshdOM
133:デフォルトの名無しさん
17/12/08 23:47:48.85 cpGshdOM.net
>>127
外れ。つーかIDが交互に出てるじゃんw
134:デフォルトの名無しさん
17/12/08 23:52:28.13 ra4CwiYK.net
荒らし認定完了したな
こんなに何ヶ月も粘着するなら、
ネガキャンや荒らす奴はruby-listやruby-devに書き込んでからスレにレスしてもらう事にするか
本人承認って事で
嫌ならネガキャンや荒らし行為しなければ良いだけだし
135:デフォルトの名無しさん
17/12/08 23:54:07.78 gOxqVObs.net
>>125
知りたいのはキーワード引数の泉源についてです!
136:デフォルトの名無しさん
17/12/08 23:54:25.19 cpGshdOM.net
その荒らしだと認めたら、荒らし決定
でも荒らしと認めなかったら、荒らし決定
っていうのやめたら?
ほんと必死すぎだよw
137:デフォルトの名無しさん
17/12/08 23:55:18.78 cpGshdOM.net
>>125
> 荒らしと会話するな。
あ、ごめんw
138:デフォルトの名無しさん
17/12/08 23:57:30.52 8wQDKBTk.net
>>132
「初心者スレでないとネガキャンと荒らし行為ができない」とかなにアホな事を公言してるの?
頭大丈夫?
自分でなにを言ってるのか理解してる?
自分の書き込みを読み返せないの?
139:
17/12/08 23:58:00.23 cpGshdOM.net
うーん、とりあえずトリップつけておこうかな
140:デフォルトの名無しさん
17/12/08 23:58:49.70 cpGshdOM.net
>>133
ネガキャンも荒らしもしてない。
だから誰と勘違いしてるのさ?
141:デフォルトの名無しさん
17/12/08 23:59:20.20 cpGshdOM.net
俺の書き込みってどれだよ?
そこで俺じゃないIDを持ってくるんだろうなw
142:デフォルトの名無しさん
17/12/08 23:59:55.92 ra4CwiYK.net
よし、次はruby-listかruby-dev、好きな方で発言よろ
143:
17/12/09 00:01:31.26 /arVeZ+Z.net
ちなみにトリップつけたのは
日付変わってID変わるのを待って逃げたなとか
言わさないため
144:デフォルトの名無しさん
17/12/09 00:01:48.43 /arVeZ+Z.net
>>137
そこはRuby初心者スレじゃない
145:デフォルトの名無しさん
17/12/09 00:03:53.78 Q5h5RL93.net
腹いてーwwwwwwwwwww
146:デフォルトの名無しさん
17/12/09 00:07:27.23 /arVeZ+Z.net
俺はさっきも言ったとおりネガキャンも荒らしもしてないので
逃げる必要もない。だからあえてIDが変わっても
俺だとわかるようにした。
本当の荒らしは逃げる頃だろう
147:デフォルトの名無しさん
17/12/09 00:18:21.31 JRYZIrF0.net
みんな、君がRubyコミュニティで発言するのを待っているんだけど
148:125
17/12/09 00:25:45.47 zmyZSbxv.net
荒らしと会話するな。
会話して、話を続ける者も、荒らしと同じ
荒らしを無視しないと、ずっと荒らされる。
荒らしは無視されるのが、辛い
149:デフォルトの名無しさん
17/12/09 00:26:47.64 CCmdYb7I.net
俺も今いる荒らしに謎の自演認定されたことあるわ(もちろん間違い)
語り口からあぼーんしやすいから関わらないようにしよう
150:デフォルトの名無しさん
17/12/09 00:28:10.11 G1+8m8SN.net
ruby-listかruby-devへの発言、
まだですか?
151:デフォルトの名無しさん
17/12/09 00:30:08.15 /arVeZ+Z.net
はい、荒らしは無視しますね
152:デフォルトの名無しさん
17/12/09 00:35:37.60 bnxFwpIe.net
俺、ずっと待ってんだけど
発言まだー?
153:デフォルトの名無しさん
17/12/09 00:36:49.54 /arVeZ+Z.net
お前は待ってないだろw
初めてのIDなんだから初めてこのスレで発言した人じゃん?
154:デフォルトの名無しさん
17/12/09 00:45:21.26 xhCLu2lr.net
トリップ消してるし逃げる気まんまんじゃないですか
発言まですか?
155:デフォルトの名無しさん
17/12/09 00:46:24.36 /arVeZ+Z.net
トリップはIDが違っても同じ人物であることを示すための
一時的なものだぞw
156:77
17/12/09 00:46:47.45 zmyZSbxv.net
>>96 で、
>maxCount = strHash.values.max #=> 2
>p strHash.select {|k, v| v == maxCount } #=> {"a"=>2, "c"=>2}
これをもっと簡単に選択できないかな?
ブロックに条件を設定して
Hash の値が、最大のものを取得する(複数可)
157:デフォルトの名無しさん
17/12/09 00:51:08.82 /arVeZ+Z.net
つーかなんでRubyスレでも似たようなことやってるんだ?って
思ったら、向こうから持ってきた話題かよw
向こう(JavaScript)での回答を書いておくよ
const counts = _.countBy(['みかん','りんご','みかん','ばなな','りんご','りんご']);
const max = _.max(_.values(counts));
const picked = _.pickBy(counts, _.partial(_.eq, max));
const items = _.keys(picked);
console.log(items);
// => ["りんご"]
このcountByってのがRubyにはないみたいね
(と言っても、countByっていうのはJavaScript標準ではなく
lodashという有名なライブラリだけど)
158:デフォルトの名無しさん
17/12/09 00:56:26.93 JRYZIrF0.net
これで荒らし確定、と
何ヶ月も粘着がスレを荒したため、
これから対策でネガキャン等行為を行う人がいた場合はruby-listやruby-devへ誘導するようにお願いします
自演でIDを変えて荒らをし繰り返すため、加勢するIDも含めて誘導するようお願いします
荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
159:デフォルトの名無しさん
17/12/09 01:00:53.77 +EgCPyTt.net
>>152
ruby-listかruby-dev、どちらかに発言するか失せるかしろ荒らし
160:デフォルトの名無しさん
17/12/09 01:02:49.78 /arVeZ+Z.net
>>154
> 荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
161:デフォルトの名無しさん
17/12/09 01:07:25.12 +EgCPyTt.net
つまりは荒らし本人だったわけか、あんなに「自分は違う」とか言っておいて
人を騙す事もなんとも思っていない隣国の住人みたいな奴だなお前
162:デフォルトの名無しさん
17/12/09 01:09:01.78 /arVeZ+Z.net
「つまり」どういう理屈なんだろう?
頭悪そう
163:デフォルトの名無しさん
17/12/09 01:12:50.76 v8w6iGdG.net
発言できないのを自分で認めちゃったかー
祭りが終わっちまったな
というか、自分で墓穴掘った事にも気が付いていなさそう
164:デフォルトの名無しさん
17/12/09 01:13:58.12 /arVeZ+Z.net
あー、ほんまもんのアホだったkw
荒らしが書き込みできないと言ったのであって
俺は荒らしじゃないんだから関係ないんだよ。
165:デフォルトの名無しさん
17/12/09 01:17:34.96 /arVeZ+Z.net
そもそも告知されてない限り「追い出された」なんて事例が
存在することは、追い出された本人にしかわかりようがないんやで
166:デフォルトの名無しさん
17/12/09 01:18:15.65 /arVeZ+Z.net
まあ追い出した側かもしれんがね
(そんな�
167:竄ツがここに来るか?)
168:デフォルトの名無しさん
17/12/09 01:18:16.38 JRYZIrF0.net
ずっとrubyのコミュで発言を待っているんだけど
まだ?
169:デフォルトの名無しさん
17/12/09 01:22:52.71 zWazrV9P.net
ああ、これは例の荒らしの特技、連投ですわ
159デフォルトの名無しさん2017/12/09(土) 01:13:58.12ID:/arVeZ+Z
あー、ほんまもんのアホだったkw
荒らしが書き込みできないと言ったのであって
俺は荒らしじゃないんだから関係ないんだよ。
160デフォルトの名無しさん2017/12/09(土) 01:17:34.96ID:/arVeZ+Z
そもそも告知されてない限り「追い出された」なんて事例が
存在することは、追い出された本人にしかわかりようがないんやで
161デフォルトの名無しさん2017/12/09(土) 01:18:15.65ID:/arVeZ+Z
まあ追い出した側かもしれんがね
(そんなやつがここに来るか?)
170:デフォルトの名無しさん
17/12/09 01:23:38.62 /arVeZ+Z.net
なんでいちいちID変えて言うんだろう?w
171:デフォルトの名無しさん
17/12/09 01:25:42.47 JRYZIrF0.net
今度は見えない敵と戦いだした
たぶん、もうそろそろだと思う
172:デフォルトの名無しさん
17/12/09 01:26:58.97 /arVeZ+Z.net
(いつも通り)俺はなにもしないよ
173:デフォルトの名無しさん
17/12/09 01:37:31.18 hbOJEhsM.net
Rubyスレに幼稚なレスが多いのって、Rubyが初心者にオススメ!なんて看板掲げてるからだよな
174:召喚の儀
17/12/09 01:38:00.68 sJnBhFUt.net
おい荒らし、餌だ
144デフォルトの名無しさん2017/12/09(土) 00:26:47.64ID:CCmdYb7I
俺も今いる荒らしに謎の自演認定されたことあるわ(もちろん間違い)
語り口からあぼーんしやすいから関わらないようにしよう
175:デフォルトの名無しさん
17/12/09 01:46:35.31 JRYZIrF0.net
>>166
荒らしさーん、Rubyコミュでの発言はまだ無理ですか?
自演してる暇あったら発言してくださいよ
1、2分で終わる事じゃないですか?
176:77
17/12/09 01:48:08.68 zmyZSbxv.net
>>152
Underscore の、_.countBy と同じで、
Ruby では、group_by (Enumerable)で、要素をグループ分けできる
strHash = {"a"=>2, "b"=>1, "c"=>2}
maxCount = strHash.values.max #=> 2
p strHash.select {|k, v| v == maxCount } #=> {"a"=>2, "c"=>2}
Hash の値が、最大のものを取得する(複数可)のに、
2行書いてるけど、もっと簡単に書けないのかなと思って
答えが1つなら、簡単に書けるけど、
複数の場合の方法が、見つからない
177:デフォルトの名無しさん
17/12/09 01:52:16.23 sJnBhFUt.net
これを張っておこう
>単発でネガキャン繰り返してた奴=自演しながら静的静的言い続けてる荒らしは確定か
>次、荒らしがやりそうなのは
>荒らしをスルーして書き込みさせてたIDでの"加勢"かな?
178:デフォルトの名無しさん
17/12/09 01:52:18.96 /arVeZ+Z.net
>>170
グループ分けしてくれるけど、カウントはしてくれないでしょ?
URLリンク(ref.xaio.jp)
Rubyのgroup_byはUnderscore(lodash)でもgroupBy
179:デフォルトの名無しさん
17/12/09 02:01:56.81 hHujkNr/.net
俺もruby-listとruby-devで発言をずっと待ってるんだけど、
1、2分でおわることなのに何故、逃げ回ってるの?
つーか、逃げないとか言ってたのに
どうしてそれほど人に嘘をついて騙そうとするの?
180:デフォルトの名無しさん
17/12/09 02:05:21.82 /arVeZ+Z.net
> 荒らしさーん、Rubyコミュでの発言はまだ無理ですか?
荒らしだと自覚がある人はruby-listとruby-devで発言してやってください
181:デフォルトの名無しさん
17/12/09 02:07:57.91 JRYZIrF0.net
>>174
何、逃げ回ってるんだよ
182:デフォルトの名無しさん
17/12/09 02:10:17.22 /arVeZ+Z.net
なんで用事がないのに書き込まないといけないんだろう?
不思議だ。荒らせと言ってるのかな?
俺荒らしじゃなしし
183:デフォルトの名無しさん
17/12/09 02:11:37.40 hHujkNr/.net
荒らしって疑われたら、自演でまともなやり取りして疑いをかわそうとするけど、
遅いよね
普通の人はまともですアピールなんかしない
普通の人は自演なんてできないからね、しかたがない
アピールするのは自演できる荒らしだけ
184:デフォルトの名無しさん
17/12/09 02:12:33.36 /arVeZ+Z.net
じゃあ自演してないし、俺確実に荒らしじゃないじゃんw
185:デフォルトの名無しさん
17/12/09 02:12:51.59 kKoELm7m.net
>>176
いちいち荒らしにかまうなよ
質問流れちゃってんじゃん
186:デフォルトの名無しさん
17/12/09 02:13:28.83 /arVeZ+Z.net
つーか、JavaScriptスレでも一緒だけど
本当の荒らしってスレに関係ないことをずーっと言ってるんだよ
俺は同じことをJavaScriptスレでも指摘してる。
本当の荒らしは誰かって
187:デフォルトの名無しさん
17/12/09 02:14:13.53 /arVeZ+Z.net
>>179
早く質問なり回答してくれよw
俺しか質問に回答してないじゃんかw
188:デフォルトの名無しさん
17/12/09 02:16:17.79 H3vgf6HH.net
>>181
お前、まだいたの?
へたくそな自演してないで失せろよ
189:デフォルトの名無しさん
17/12/09 02:27:37.92 JRYZIrF0.net
結局、いつもの口先だけの荒らしだったか
190:デフォルトの名無しさん
17/12/09 02:43:12.45 H3vgf6HH.net
二代目テンプレつくったよ
粘着する荒らしがスレを何ヶ月も荒らしたため、
ネガキャン等行為を行う人がいた場合はruby-listやruby-devへ誘導するようにお願いします
自演でIDを変えて荒らをし繰り返すため、加勢するIDも含めて誘導するようお願いします
荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
191:デフォルトの名無しさん
17/12/09 02:45:16.67 /arVeZ+Z.net
透明あぼ~んにしてみた
これで俺が見えるのは、毎回ID変更してる人だけになったよ
192:デフォルトの名無しさん
17/12/09 02:46:08.45 /arVeZ+Z.net
あとついでにruby-listとruby-devも透明あぼ~ん行きとなった
193:デフォルトの名無しさん
17/12/09 02:50:44.63 /arVeZ+Z.net
77 名前:デフォルトの名無しさん[sage] 投稿日:2017/12/08(金) 02:24:45.46 ID:DD2Dk6IR [1/3]
strArray = %w(a b c a c)
strHash = strArray.each_with_object(Hash.new(0)) { |str, h| h[str] += 1 }
p strHash #=> {"a"=>2, "b"=>1, "c"=>2}
使われている文字が、一番多いもの(複数可)と、その回数を求める。
ひとまず、Hash に使われている回数を入れたけど、
ここから最大のもの、a, c の、2回を求めるには、どうすれば良い?
87 名前:デフォルトの名無しさん[sage] 投稿日:2017/12/08(金) 03:25:08.37 ID:JkPU7Xcj
>>77
x = strArray.uniq.group_by{|e| strArray.count(e)}
# 最大値
m = x.keys.max # => 2
# 最大値を返す要素
x[m]. #=> ["a", "c"]
96 名前:77[sage] 投稿日:2017/12/08(金) 06:05:43.38 ID:DD2Dk6IR [2/3]
strArray = %w(a b c a c)
strHash = strArray.each_with_object(Hash.new(0)) { |str, h| h[str] += 1 }
p strHash #=> {"a"=>2, "b"=>1, "c"=>2}
maxCount = strHash.values.max #=> 2
p strHash.select {|k, v| v == maxCount } #=> {"a"=>2, "c"=>2}
key, rassoc を使うと、最初に一致した、1つしか返さない。
p strHash.key(maxCount) #=> "a"
p strHash.rassoc(maxCount) #=> ["a", 2]
194:デフォルトの名無しさん
17/12/09 02:51:09.43 /arVeZ+Z.net
話を戻してみた
195:デフォルトの名無しさん
17/12/09 02:52:12.45 JRYZIrF0.net
これはありがたい
誰が自演で荒らしてるかすぐに分かるな
196:デフォルトの名無しさん
17/12/09 02:55:02.92 /arVeZ+Z.net
ちなみに2ちゃんねるブラウザを使ってると
新規IDの人はすぐに分かる
197:デフォルトの名無しさん
17/12/09 02:56:08.51 Ujqv8+EC.net
>>190
ruby-listかruby-devで発言できたら認めてやるよ
お 前 に 出 来 た ら な
198:デフォルトの名無しさん
17/12/09 03:03:08.34 JRYZIrF0.net
ID:/arVeZ+Zは昨日からずっと逃げ回ってたんだっけ?
さっそくテンプレを張らせて頂く
粘着する荒らしがスレを何ヶ月も荒らしたため、
ネガキャン等行為を行う人がいた場合はruby-listやruby-devへ誘導するようにお願いします
自演でIDを変えて荒らをし繰り返すため、加勢するIDも含めて誘導するようお願いします
荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
199:77
17/12/09 03:15:35.50 zmyZSbxv.net
(acc, b) => { acc <= b }
こういう判別関数があったとして、求める答えが、1つだけなら簡単。
例えば、入力が[3, 2, 3, 5]でも、
バッファに持っている値は、[3, 3, 3, 5]の順番で、1つだけで済むけど、
答えが複数可能になると、[3, 3, [3, 3], 5]の順番で、
途中でバッファに複数を持つ必要がある
こういう処理が難しいから、答えを1つしか返さないのだろう
あるレコードの列の値、Hash の値、あるオブジェクトのプロパティの値が、
最大のものを求める(複数可能)という、簡単な関数が、意外と見つからない
200:デフォルトの名無しさん
17/12/09 03:23:13.41 /arVeZ+Z.net
個人的には二回やればいいと思うんだよね。
多分一回でやったほうが速いと思ってるんだろうけど
ループの中で複雑なことをやるとCPUのキャッシュから溢れてしまうので
シンプルな処理のループを二回やるほうが速いのではないかって思ってる
あとマルチコアだと別々に処理できるかもしれないしね
まあ実際に検証はしてないんだけどさ
201:デフォルトの名無しさん
17/12/09 03:27:37.70 2nAyZadj.net
ID:/arVeZ+Zって何をやったの?
202:デフォルトの名無しさん
17/12/09 03:30:23.07 /arVeZ+Z.net
JavaScriptスレでlodash使ったコードを書いたよ
それを持って>>77がこのスレに来たようだ
203:デフォルトの名無しさん
17/12/09 03:32:23.28 JRYZIrF0.net
荒らしじゃ無いよアピールしてるけど、
ここ数ヶ月、Rubyスレに粘着して自演で荒らし行為を繰り返してた荒らし本人
それで昨日、皆がブチ切れて、
ruby-listかruby-devのどちらかで発言して本人確認しろって事になったんだけど
ID:/arVeZ+Zが逃げ回り、その道中もアホな自演で墓穴堀りまくって、今に至る
204:デフォルトの名無しさん
17/12/09 03:41:01.56 2nAyZadj.net
もしかして最近の単発ネガキャンもID:/arVeZ+Zなの?
205:デフォルトの名無しさん
17/12/09 04:04:00.12 JRYZIrF0.net
うん
昨日のレスとか見ると分るけど、
連投する癖とかまんまで今日のIDは
ID:zmyZSbxv
ID:/arVeZ+Z
ID:kKoELm7m
ID:hbOJEhsM
ID:CCmdYb7I
今は、昨日の自演で使った別IDと会話ごっこしてる
それで、ID:/arVeZ+Z がRubyコミュニティで発言できなかったから皆で、
今後の対策として荒らし行為やネガキャンを行う人がいた場合は、
ruby-listとruby-devに誘導する事になった
206:77
17/12/09 04:10:47.76 zmyZSbxv.net
>>194
strHash = {"a"=>2, "b"=>1, "c"=>2}
maxCount = strHash.values.max #=> 2
p strHash.select {|k, v| v == maxCount } #=> {"a"=>2, "c"=>2}
全要素をなめて、最大値を求めて、
もう1回、全要素をなめて、
その最大値を使っている、オブジェクトを求めるのに、抵抗を感じるw
普通、2回も全要素をなめるか?w
207:デフォルトの名無しさん
17/12/09 04:34:45.05 su9Dppjp.net
これが昨日の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
208:デフォルトの名無しさん
17/12/09 04:52:18.43 ptiAgEOA.net
もういいよ
当分は何も出来ないだろうし又ネガキャンや荒らしやって来たらテンプレでとっちめまくるから
209:デフォルトの名無しさん
17/12/09 04:53:26.04 /arVeZ+Z.net
>>200
二回舐めても良いんじゃない?って思ってる
メモリはキャッシュに入るだろうし、
ループとかCPUの投機的実行が当たりやすいだろうから
そんなに時間変わらないんじゃないかって思ってる
検証してみてくれ
210:デフォルトの名無しさん
17/12/09 05:02:36.18 ptiAgEOA.net
そうやって地道にしっかりレスを稼げ
211:デフォルトの名無しさん
17/12/09 05:11:54.17 JRYZIrF0.net
将来、型システムが導入される事になったらやっぱり型もオブジェクトになんのかな
型の呼び出しや定義なんかもRubyっぽくメタプログラミングやワンライナーで書けたり
212:デフォルトの名無しさん
17/12/09 05:53:50.28 PWfKTZji.net
事前エラーだー最適化だー高速化だーっと言って型を検討してるわけだが、
今更テンプレートのような型マクロとかテキストマクロの時代に戻るわけではないだろうし
Ruby的に下のようなぶっとんだ書き方も無きにしも非ず
def foo(x : (@flag ? String : Array) , y : (@flag ? String : Array) )
p x,y
end
まぁ、これだと事前チェックの時に実行時情報が必要になるから何か仕掛けが必要なんだが
213:デフォルトの名無しさん
17/12/09 07:21:40.66 JRYZIrF0.net
>>206
その書き方を出来るようにするには、
実行時情報よりも型チェックのために事前に走らせる部分をRubyのコードから抜き出す必要があるけど?
214:デフォルトの名無しさん
17/12/09 08:54:23.61 puk20IRY.net
>>205
型もオブジェクトになんのかなというか、すでにRubyには
クラスと呼ばれる(部分型付された)型が存在し、知られているように
クラスはClassクラスのインスタンス、いわゆるオブジェクトだね
で、型システムの導入で変わるのは、オブジェクトがメソッドを
受け付けた時に行われる検査が実行時のみであった(動的型付け)のが
どこまで実行前にできる(静的型付け)ようになるのか?という議論になる
そして静的片付けには型(=クラス)をコードで宣言する明示的片付けと
宣言しない暗黙的片付けの二種類があって、>>206は前者に該当する
ここでMatzがたびたび主張している「型を書きたくない」という方針は
後者の暗黙的片付けであり、これは「Rubyの構文を大きく変更しない」
という別のMatzの方針とも一貫している
いいかえると型宣言構文の新規追加が必須な明示的片付けは採用したくないという意味
まとめると、理想的にはRubyユーザーから見ると既存の構文はなんら変更もなく
(=互換性を維持したまま)型システム導入の利点を享受できるようになる
ただしこれはあくまで理想的な姿であって、技術的に高度な型システムの導入において
どこまで妥協できる/する/すべきと言った様々な取捨選択が議論されているところ
215:デフォルトの名無しさん
17/12/09 08:58:19.29 Xp00eVEZ.net
>>207
そうじゃない
この場合、xの型は String | Array として扱うべき
フロー解析によって、その後コード上で flagで分岐した時点でthenブロックではString, elseブロックではArrayと確定する
TypeScriptはそういう方式
216:デフォルトの名無しさん
17/12/09 14:15:40.37 HCMuc4Gp.net
>>208
なるほど、良くまとまってます�
217:ネ 要するに、もはや静的型チェックが有ったほうが良かったのは 社会主義が資本主義に負けたのと同じぐらい分かりやすいレベルで 誰の目にも実験的/経験的に明らかというか 動的型のプロパガンダ的な嘘がバレて広く知れ渡ったので 今までは北朝鮮みたいにあんな調子で押し通していたが いよいよ立ち行かないので、あれだけ言っといて今更恥ずかしいことではあるが 恥を忍んでRuby3.0で静的型チェックを入れたい という背景があるってことだね で、ここまではRuby触ってる人なら当たり前の常識なわけだが もし、明示的な型宣言を文法に入れるなら、変数宣言をするということになり 変数宣言をするということは、型だけじゃなく変数のスコープも宣言出来るということで CやJavaなどで見られる、いわゆる普通のレキシカルスコープを採用できるし 「@」のような気職の悪いものは要らなかったという結論になるわけだな なんで変数宣言を入れるということは、静的型に白旗を上げるということだけではなく 「変数宣言を変数への最初の代入で代用するから変数宣言と代入の文法的区別がつかない」 という文法的問題、気色の悪いスコープについても意味が無かったということで おおよそ変数周りのすべてて雪崩的に設計ミスだったということになる ここまで壮大に間違ったなら、一から作り直した方が良いんだろうが それならユーザー視点で考えると、間違ってない他の真っ当な言語を使えばよい話になるので Rubyは大きく間違っているが、もはや間違ったまま行くしかない とMatzは考えているってのが>>208なわけか (流石のMatzもこの程度のことに気が付いていないとは思えない、言わないだけで) ただ宗教的な感覚も絡んできて、誤った考え方でもある一定の信者はつくもので Rubyはあえてそこを狙っているわけで(Matzはインタビューなどで逆張り逆張りと良く言っていた) 初めから分かっててわざと間違えた可能性もあるし、あるいは両方か まぁペテン師だ
218:デフォルトの名無しさん
17/12/09 14:50:03.37 HCMuc4Gp.net
まぁ単純に考えても、今更、静的型を導入するぐらいなら
初めから静的型にしておけばよかったのは言うまでもない
仮に静的型が最近出てきた考え方でRubyを開発した当時は知りもしなかった
というなら仕方がないが、静的型は昔からあったし、RubyはCで書かれたわけで
知らなかったというのはあり得ないし、むしろ自分は静的型の恩恵を受けて
Rubyを開発したわけであって
そこは明確な意思をもって、あえて動的型にしたわけだから、今更静的型にするのはどうよ
(なら、初めからしておけよ、と思うだろ?)
ただもしRubyが静的型だったのならC/C++やJavaと競合して生き残れる理屈が無かったし
それもあって動的型にした部分もあるんだろうし
あまり言いたくはないが、そういうのを世間一般では悪魔に魂を売ったとかと表現して
それでカルト宗教というかドーピングというか、まぁ社民党にも支持者はいるわけで
そこを狙ったんなら、今更クリーンにっつっても、ブレるっつーか、民進党の前原代表みたいになるし
メジャー行けばもっと大きな勢力がひしめいてるわけだから
今まで通りマイナーメジャーでやってくのが良いんじゃね?と思わんでもない
いやぁこれは、メジャーマイナーとマイナーメジャーのどちらのほうが良いのかという
Pythonはメジャーマイナーを狙いに行ってるようなので
一つ席が空いたという部分も含めてRubyはマイナーメジャーを狙う感じなんだろう
Matzが好きな逆張り的な意味で
219:デフォルトの名無しさん
17/12/09 15:20:28.57 IaSBe7Pk.net
これが本当の荒らし
220:デフォルトの名無しさん
17/12/09 16:18:
221:52.76 ID:jtqcr+t2.net
222:デフォルトの名無しさん
17/12/09 16:21:32.60 jtqcr+t2.net
嘘で押し通すというのは
トランプ大統領がエルサレムの首都認定が
世界中からバッシングを浴びたと報道しているやつだ。これが嘘
本来ならエルサレムが首都になって嬉しいという声があるはずなのに
そういう報道が一切ない。
トランプの大統領選前と同じで嘘を押しとうそうとしているわ。
223:デフォルトの名無しさん
17/12/09 16:48:54.96 HCMuc4Gp.net
「静的型があったほうが良かったのは分かりやすいレベルで明らか」
それを俺の頭の中だけの話で嘘っぱちだというのは勝手だが
ではなんで動的型の権化みたいなRubyで
次期メジャーバージョンアップで静的型などという話が持ち上がってるんだ?
となるわなぁ
少なくとも次期Rubyを策定している連中はそう考えてるわけで
とりあえずRubyにおいては真実だし、このスレ的にはそれ以上の論証は要らないんだが
一般的に言っても最近出てきた目ぼしい言語は当たり前に静的型だし
つまり嘘で押し通そうとしているのはお前だが
ではなぜ嘘をついたのか?目的はなんだ?
身を守るための嘘なら仕方ないんだが、こんな掲示板でそんな必要ないし
利害関係のない掲示板でなんで嘘をつきまわるんだ?
224:デフォルトの名無しさん
17/12/09 17:32:32.99 IaSBe7Pk.net
これが本当の荒らし
225:デフォルトの名無しさん
17/12/09 17:50:31.43 yzhjOMYr.net
ID:/arVeZ+Z
おい糞野郎
臭い自演してないで失せろボケ
226:デフォルトの名無しさん
17/12/09 17:58:34.44 /arVeZ+Z.net
まーた俺と勘違いしてる
227:デフォルトの名無しさん
17/12/09 17:59:43.05 yzhjOMYr.net
な、召喚の儀で呼べただろ?
228:デフォルトの名無しさん
17/12/09 18:31:50.87 ojM2xQr7.net
>>218
みんなが言ってる通りruby-listで発言してみてはどう?
本当に違うならそれで証明が出来ると思う
229:デフォルトの名無しさん
17/12/09 19:02:37.47 JLcgGjoy.net
>>218はこのまま逃げ回ってIDリセットを狙ってる
昨日のレス読めば分かるけど、
結局は口先で騙して逃げることしかしてない
トリップも消したし
230:デフォルトの名無しさん
17/12/09 19:04:59.03 /arVeZ+Z.net
>>219
頭大丈夫か?
自分から見に行かないと、お前の書き込みは見れないんやで?
231:デフォルトの名無しさん
17/12/09 19:05:48.98 /arVeZ+Z.net
>>221
じゃあお前はID変えるなよ?
お前とわかるものがなくなったら、
逃げたとみなすで?
232:デフォルトの名無しさん
17/12/09 19:10:08.10 JRYZIrF0.net
昨日も今日もID:/arVeZ+Zが叩かれてる間はネガキャンも静的云々も出てこなかったね
なんでかなー(棒)
233:デフォルトの名無しさん
17/12/09 19:16:15.66 JLcgGjoy.net
>>223
俺もruby-listかruby-devで発言をずっと待ってるんだけど
逃げ回らないでくれる?
いつになったら発言するの?
234:デフォルトの名無しさん
17/12/09 19:39:46.57 CViON1aA.net
やっぱ静的型だけどdynamicがあるC#がナンバーワン!
235:デフォルトの名無しさん
17/12/09 19:41:28.53 Avl0kHLY.net
スレ進みすぎだなおい
何があった?
236:デフォルトの名無しさん
17/12/09 20:01:45.91 PLdtTEIG.net
>>227
1.rubyをネガキャン(個人的には荒らしとまではいかない程度)する人が元から住みついていた
2.自分に対して否定的な意見は全て自演と決めつける狂人が発生(JRYZIrF0 [や単発ID)
弁護士云々言ったりコピペ連投したりする人
3.せっかく質問があっても2のせいで流れてもうわかんね ← 今ここ
237:デフォルトの名無しさん
17/12/09 20:03:09.41 xil3RrnV.net
>>225
いっつも絡んでるこいつが一番うざい
238:デフォルトの名無しさん
17/12/09 20:03:52.96 ZQM0F59y.net
ID:/arVeZ+Zがここ何ヶ月かこのスレに粘着して荒らしてた本人だと判明
で、分りやすい自演を繰り返して誤魔化すからruby-listかruby-devで発言して本人確認しろって事になった
それらからID:/arVeZ+Zが絶賛逃げ回ってる所
必死チェッカーで調べてみ?
これぞ粘着の本領だって
239:分るレス数だから 今後の対策としてはID:/arVeZ+Zを念頭に荒らし行為やネガキャンを行う人がいた場合はruby-listとruby-devに誘導する事になった
240:デフォルトの名無しさん
17/12/09 20:10:24.80 xil3RrnV.net
荒らしと言われてる方はまだrubyの話してるけど、それに反応してる方がただのキチガイになって迷惑すぎる
あーまた馬鹿なこと言ってるわって相手にしないでおくか、rubyの話としてマジレスするかのどっちかにしなさい
241:デフォルトの名無しさん
17/12/09 20:15:40.04 PLdtTEIG.net
ruby?-d?ev云々いって/?a?r?V?e?Z?+?Zに絡んでいる人(全部同一人物。もしくは多くて2人程度と思われる)が荒らしなのでスルーしましょう
242:デフォルトの名無しさん
17/12/09 20:20:14.45 ZQM0F59y.net
>>223が急に発言しなくなっただろ?
これで自演できてるつもりなんだよ本人は
243:デフォルトの名無しさん
17/12/09 20:29:52.03 zmyZSbxv.net
荒らしに、レスを付けるな。
荒らしと会話するな。
荒らしが、ずっと居座るだけ
この板では、何かを答えても、
「知らんくせに答えるな」ってレスが付いて、
「そうだよな」って、すぐにそのレスに賛同する、レスが付く
荒らしに、すぐに賛同する奴が、いる訳がないのに。
それが、どんな深夜にも起こる
とにかく単発ID の奴は、荒らしと見て、スルーする事!
244:デフォルトの名無しさん
17/12/09 20:32:50.99 ECkYCn8N.net
>>232
お前のギャグさいこーwwwww
245:デフォルトの名無しさん
17/12/09 20:43:26.43 /arVeZ+Z.net
>>233
なんだ? 飯ぐらい食わせろよwww
発言しなかったからってなんなんだ?
246:デフォルトの名無しさん
17/12/09 20:44:08.67 /arVeZ+Z.net
>>224
> なんでかなー(棒)
土曜(休日)の昼間だからだよ?
意味ぐらいわかるよね
247:デフォルトの名無しさん
17/12/09 20:46:52.18 /arVeZ+Z.net
なんだ?俺が来た途端黙ったなw
248:デフォルトの名無しさん
17/12/09 20:48:58.33 /arVeZ+Z.net
IDを変えて逃げたとか思ってたんだろうなw
だからID変えてないことがわかると
恥ずかしくなって発言できなくなってしまう
それにお前は毎回IDを変えてるよね(誰のことかわかるよね?w
249:デフォルトの名無しさん
17/12/09 20:49:36.99 ECkYCn8N.net
223が自演できるのは書き込み時間からわかったけど
荒らしてたのは本当にこいつなの?
250:デフォルトの名無しさん
17/12/09 20:51:29.23 /arVeZ+Z.net
IDは変えたら戻すことはできないから自演してない証拠になるからな
その反面、毎回IDを変えることはできるから
違うIDで同じようなことを言ってると自演とばれるわけだ
251:デフォルトの名無しさん
17/12/09 20:58:58.11 zmyZSbxv.net
JavaScript のスレでも、やってる。
荒らしは、全部のスレで、いちゃもんを付けてくる。
そのくせ、プログラミングの話をした事はない
他人のレスを、やたら探したりする。
他人のレスを探しても、1円にもならないのに
荒らしは、仕事した事がないはず
252:デフォルトの名無しさん
17/12/09 21:03:22.23 /arVeZ+Z.net
ライブラリの話をすんなってうるさいアイツのことだなw
同一人物でなければ、荒らしの脳内構造は一緒ってことなんだろう
スレと関係ない話しかしない
俺はもちろんスレと関係ある話をした
253:デフォルトの名無しさん
17/12/09 21:17:18.85 ECkYCn8N.net
ごめん、223が荒らしだったわ
254:デフォルトの名無しさん
17/12/09 21:24:17.46 /arVeZ+Z.net
何度も言わなくてもいいよ
お前ぐらいしかそんなこと言ってない
何度も言っても、こうしてバラされたら効果ゼロ
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が荒らしだったわ
255:デフォルトの名無しさん
17/12/09 21:49:29.83 KAnpleQL.net
せいぜい20レス/日のこのスレで彼は今も我らのために見えない敵と戦ってらっしゃるのだ
以下テンプレにいくつか追加
>粘着する荒らしがスレを何ヶ月も荒らしたため、
>ネガキャン、逸脱した連投、荒らし行為を行う人がいた場合は対策としてruby-listやruby-devへ誘導するようにお願いします
>自演でIDを変えて荒らしを繰り返すため、加勢するIDも含めて誘導するようお願いします
>
>荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
>そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
256:デフォルトの名無しさん
17/12/09 22:18:52.50 HCMuc4Gp.net
俺は極たま~~に静的型どうのこうのの長文を書き込むことがあるぐらいで
言うほど連続投稿しないし、毎日書き込んだりしないし、チラ裏の日記みたいな感じで
特にここ最近半月ほどはスレが荒れていたこともあって何も書き込まないようにしてたんだが
過剰に反応して何にでも荒らし認定する一部のアレな人が全然関係ない人を攻撃していて
攻撃された人は気の毒だなぁとか思いながら、変なことになってるなぁと傍観していたんだが
その流れがあまりにもアレすぎたのか、いよいよ本物が居付いてしまったようだけど
自業自得とはいえ残念なことだな
他の真っ当な住人からしたら随分迷惑なことだろうし、俺も嫌かなぁ
結果的には俺の書き込みに過剰に反応する必要は無かったし
元々荒らしと言われるほど、ひどい内容や投稿スタイルではなかったはずなんだが
(ここが何処かを考えれば、通常、それぐらいは普通にあり得るかなぁという範囲)
実際には過剰反応している奴が意味のない書き込みで一番このスレを荒らしていたし
そのことは他の住人からもちょくちょく指摘が入ってたと思うんだがねぇ
というか、そのあいだ俺は書き込んでなかったんだが・・・しかしまぁ結果的にこの事態だわ
俺も勉強になって、自分たちに都合の悪い事実を、荒らし認定などで黙殺しようとしても
事実を黙殺する歪のようなもので、もっと酷いことになるんだな
嘘が雪だるま式に広がって~とよく似ている
こういうときは沈黙は金だね
257:デフォルトの名無しさん
17/12/09 22:23:27.43 fpEjaZID.net
スレの終末感がまさにRubyの現状を象徴しているかのようだな
258:デフォルトの名無しさん
17/12/09 22:25:40.22 jtqcr+t2.net
悪貨が良貨を駆逐するってやつだ
良心的なやつがここにいても
アホが次から次に湧いてくるから
心がおられる。
そしてgoとかPythonとかkotolinとかにいってしまう。
259:デフォルトの名無しさん
17/12/09 22:26:53.94 /arVeZ+Z.net
> そしてgoとかPythonとかkotolinとかにいってしまう。
それこそまさに悪貨が良貨を駆逐するってやつだな
今他の何かを駆逐して生き残ってるやつは全部悪貨なんだよ!
260:デフォルトの名無しさん
17/12/09 22:28:02.68 /arVeZ+Z.net
悪貨が良貨を
シリア軍、北部でISIS駆逐の作戦開始 空港を奪還
URLリンク(www.cnn.co.jp)
261:デフォルトの名無しさん
17/12/09 23:10:08.11 PLdtTEIG.net
NGワードになったんでideoneにIDを列挙しておくけど
URLリンク(ideone.com)
ID:/arVeZ+Zを誹謗する48個のレスはID:JRYZIrF0を除いて全部のIDがほぼ単発かつ、単発でないものは全て安価がかぶらない
全部ID:JRYZIrF0が自演してることはほぼ明らか
こいつ病気なんじゃねえの
このスレの癌だよ
262:デフォルトの名無しさん
17/12/09 23:25:49.93 /arVeZ+Z.net
乙w
263:デフォルトの名無しさん
17/12/09 23:30:09.58 lAUVYRHS.net
Setクラスってどういうときに使いますか?
Arrayクラスインスタンスにuniqかけて集合だと考えてたけど違うのではと思ったもので。
264:デフォルトの名無しさん
17/12/09 23:58:52.32 JRYZIrF0.net
ここまで自演
----------------------------
265:デフォルトの名無しさん
17/12/09 23:59:53.67 /arVeZ+Z.net
あ、日付が変わるw
266:デフォルトの名無しさん
17/12/10 00:00:06.57 ML6lMJWk.net
変わったーw
267:デフォルトの名無しさん
17/12/10 00:02:47.92 nDrrD3Ex.net
あーあ、これでruby-listかruby-devで発言せず逃げ回ったことが確定しちゃった
268:デフォルトの名無しさん
17/12/10 00:17:50.29 MJKB1Uts.net
ruby-devでリテラルの最適化の話がずっとあるけど、
やっぱ、ArrayもStringみたいになるのかな?
269:デフォルトの名無しさん
17/12/10 00:32:18.71 /jbkU8iJ.net
>>254
uniq だと O(n) かかるので
Set だとハッシュを使っているだろうから O(1) でいけるんじゃないかな
270:デフォルトの名無しさん
17/12/10 00:37:16.10 fgyE63pk.net
>>259
3の型付けなんて最適化や速度upで入れたいって言ってるわけでなぶんそうなるだろ
ruby-listでfrozen_string_literal前提の話とかちょろちょろ見るようになったし
型そのものはあんまり興味ない
希望の書き方とかる
271:?
272:デフォルトの名無しさん
17/12/10 00:38:47.43 fgyE63pk.net
タイプミスった、ごめん
>>259
3の型付けなんて最適化や速度upで入れたいって言ってるわけでなぶんそうなるだろ
ruby-listでfrozen_string_literal前提の話とかちょろちょろ見るようになったし
型そのものはあんまり興味ない
希望の書き方とかる? -> 希望の書き方とかある?
273:デフォルトの名無しさん
17/12/10 00:50:55.71 MJKB1Uts.net
あんまりイメージわかないけど、可能なら型をrubyの文法のif文とかメソッドチェーンに組み込みたい
一度、ここでアンケとってruby-listで型の希望の書き方とか立ててみる?
274:デフォルトの名無しさん
17/12/10 01:14:35.57 XVX0tsBl.net
ruby-listに直でアンケとっても良いけど
荒らしもいなくなった様だからやってっみる?
275:デフォルトの名無しさん
17/12/10 01:28:00.42 ML6lMJWk.net
なんか番号とんでるけど、まだあの荒らしいるのかw
276:デフォルトの名無しさん
17/12/10 01:40:44.61 ZzgYAKrD.net
投稿時はruby-listかruby-devのどちら向けの話題なのかワードを入れておく?
x : Integer
は、ありきたりというか仮引数の時ハッシュと間違いやすいだろ
繋げて書けるように
Integer =_ x = nil
みたいなのどうよ
277:デフォルトの名無しさん
17/12/10 01:44:56.11 nRE+Ifdg.net
元々、荒らしは、全部のスレで、いちゃもんを付けてくる。
漏れも、何回も攻撃されてる
単発ID で「間違ったこと書き込むな」とか、荒らしが書き込むと、
すぐに違うID で「そうだよな」みたいに、荒らしに同調するレスが付く。
深夜でもそうだから、荒らしに同調する奴が居るなんて、あり得ない
プログラミングの話は、一切できないくせに、批判ばっかり書いてるのが荒らし
ただ、Ruby, JavaScript のスレでは、
荒らしにかまうから、喜んで居着いてるだけ
荒らしは一切、無視すべし!
仕事をした事もない奴と、話をしても仕方がない
278:デフォルトの名無しさん
17/12/10 01:49:21.28 nRE+Ifdg.net
スレに、ワッチョイが無いから、荒らしが来る
ワッチョイを導入すれば良い。
そうすれば、自演できない
279:デフォルトの名無しさん
17/12/10 01:50:52.64 fgyE63pk.net
自演できる荒らしが喜びそうだから却下
280:デフォルトの名無しさん
17/12/10 01:55:18.69 ZzgYAKrD.net
>>268
おい、スレの進行を妨害するなよ
おまえ荒らしか?
281:デフォルトの名無しさん
17/12/10 01:57:14.83 8z/4vDLR.net
荒らされてると聞いてきたら型の話してる…
しばらく界隈から離れてたら静的型付け実装か
282:デフォルトの名無しさん
17/12/10 01:58:55.58 fgyE63pk.net
=_ ←これ何?
ruby-listで受けんのこれ?
どう見ても無理っぽい
283:デフォルトの名無しさん
17/12/10 02:12:19.13 ZzgYAKrD.net
いや、自分の希望の書き方なんだから人気のある書き方でなくても良いでしょ
それにもしかしたらruby-listで大人気になるかもしれないし
後、さっき思いついたけど
definedtype?( Type )
みたいなのどう?
284:デフォルトの名無しさん
17/12/10 02:28:55.59 9Zlb3ltO.net
なんで型の希望の話になってんの?
すまんが今来て、この1スレからさらっと読んだけど理解できんかった。
とりあず、このスレからruby-listに要望だずにしても
下記まとめなんかあるといいかも(オレがほしいw
・経緯
・メリット
・デメリット
・他の言語の場合、例
OOP言語で簡単なのがrubyの良いところだと思う。
285:デフォルトの名無しさん
17/12/10 02:32:48.91 8I95hEEE.net
簡単ではないだろ
Rubyはとんでもなく複雑な言語で、メジャーな言語の中だとC++の次くらいには複雑なんじゃないの
ちなみにRubyが複雑なのはMatzも認めてるよ
286:デフォルトの名無しさん
17/12/10 02:39:29.90 ZzgYAKrD.net
スレ進行を妨害するなよ荒らし
失せろ
287:デフォルトの名無しさん
17/12/10 02:57:07.13 UtvIbdgM.net
荒らしがそろそろ暴るだろうから今のうちにテンプレを張っておく
>粘着する荒らしがスレを何ヶ月も荒らしたため、
>ネガキャン、逸脱した連投、荒らし行為を行う人がいた場合は対策としてruby-listやruby-devへ誘導するようにお願いします
>自演でIDを変えて荒らしを繰り返すため、加勢するIDも含めて誘導するようお願いします
>
>荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
>そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
288:デフォルトの名無しさん
17/12/10 03:21:46.15 1HHF8E2/.net
ruby-listだと恥ずかしくて聞きにくいのでこちらで質問します
a = [[1,2,3],nil, 4..10]
a.include?(5) => false
これで、trueにならないのはどうしてですか?
289:デフォルトの名無しさん
17/12/10 03:27:29.16 FZ4Yj2IT.net
>>274
そうだな
RubyはOOPで一番簡単な言語だと思う
>>275
むしろメジャーな言語の中で
一番シンプルだと思う
たとえばJavaScriptの方が複雑
290:デフォルトの名無しさん
17/12/10 03:44:33.44 UMP8yhyZ.net
>>278
a.include?(5) を小さく噛み砕くと以下になる
([1,2,3] == 5) || (nil == 5) || ((4..10) == 10)
これがtrueにならない理由
>>279
お前、まだ居るんか?
とっとろ消えろ
291:デフォルトの名無しさん
17/12/10 04:36:57.56 rydPLt/1.net
荒らしの連投が収まったからか、昨日、一昨日の書き込みに比べてえらく穏やかになったな
マジruby-list様々
292:デフォルトの名無しさん
17/12/10 04:56:13.97 fgyE63pk.net
>>278
Ruby2.4 リファレンスより
include?(val) -> bool
配列が val と == で等しい要素を持つ時に真を返します。
荒らしよけruby-list
293:デフォルトの名無しさん
17/12/10 05:52:58.55 nRE+Ifdg.net
荒らしは、色んなスレに、いちゃもんを付けてる。
JavaScript, Ruby のスレだけではなく、全部のスレを荒らしてる
荒らしは、仕事をした事がないから、反応するものには、何にでも噛みつくだけ
徹底的に、無視した方が良い
294:デフォルトの名無しさん
17/12/10 06:18:10.98 rydPLt/1.net
失せろ
スレの進行の妨害を繰り返す荒らしが
295:デフォルトの名無しさん
17/12/10 08:42:40.84 KNXh5gp+.net
rubyで型を書けるようになったとしても、コメントにアノテーションとして書けるようにするくらいが無難だろうて
296:デフォルトの名無しさん
17/12/10 16:46:51.98 IY8S1+HK.net
荒らしはあぼーんはずして見に来てるくせに、
毎回の見えてないアピールが糞うざい
297:デフォルトの名無しさん
17/12/10 19:04:47.93 4uyVh43l.net
メソッドの引数、戻り値の型保証を目的としたgems
* contracts
* rubype
他にも色々あるけど触ったことがあるのはこのくらいだな
298:デフォルトの名無しさん
17/12/10 19:37:14.48 0VP/mrFZ.net
URLリンク(github.com)
URLリンク(github.com)
299:デフォルトの名無しさん
17/12/10 20:23:20.11 fgyE63pk.net
古典はクラス=型だけど、
rubyではどうなるんだろ
300:デフォルトの名無しさん
17/12/10 22:15:37.82 TsNv+js2.net
型システムに関する最新の教科書であるTAPL本だとクラス=型だけど、
TAPL本を古典と言い切ってしまえる>>289は異次元世界の住人なのかな?
301:デフォルトの名無しさん
17/12/10 22:24:25.24 ML6lMJWk.net
TAPL本を古典なんてどこにも書いてないんだが?
なに一人連想ゲームしてんの?
302:デフォルトの名無しさん
17/12/10 23:46:36.31 EJLWoC7C.net
型チェックってどうして望まれてるの?
Kernel#instans_of? とか Module#=== を使って
TypeErrorを投げればいいんじゃないのと初心者としては思うんだけど、誰か教えて><
303:デフォルトの名無しさん
17/12/11 00:11:37.08 toSfFiY3.net
>ruby-devはrubyの開発者のためだから場所が正しくない
>Ruby初心者の質問と回答はここしかないな
みたいなカン違いししてるのでなければruby-devで聞きなよ
304:デフォルトの名無しさん
17/12/11 00:22:43.20 zjLRjNAe.net
結局、荒らしはrubyコミュで発言せず逃げたままか
ruby-listやruby-devでいったい何をしでかしたんだアイツ?
305:デフォルトの名無しさん
17/12/11 00:32:30.84 Iio3nuGz.net
>>1のテンプレ見て思ったんだけど、
各Rubyコミュへの案内も入れた方が良いんじゃないか?
ruby-listとruby-devとruby-core辺りでいいからさ
306:デフォルトの名無しさん
17/12/11 00:45:28.12 3l4LlxuK.net
>>292
大規模プログラミング症候群に患わった人たちがおもに困ってる
それとinstans_of?とかModule#===とかが目立つのはRubyらしくない
引数として与えられたオブジェクトは必要なメソッドがあるものとして記述する方がいい (ダックタイピング
307:) ifやcaseでやたらとクラス名が出てくるべきじゃない こういう振り分け処理はrefinmentできれいに分離できるし何より見通しが良くなる case obj when nil ... when Integer ... when ... ... else raise TypeError end これはrefinmentと組み合わせれば obj.do_it だけで済むし分岐のための Module#=== が呼ばれなくなるから処理速度も悪くならないはず 特に似たような処理が散乱して困るようならば検討するべき
308:デフォルトの名無しさん
17/12/11 00:54:42.06 zjLRjNAe.net
ruby-coreは英語だけどいいのか?
309:デフォルトの名無しさん
17/12/11 01:33:14.94 4q7JrCp0.net
switch 文で、型によって分岐していたら、オブジェクト指向ではない。
多くは、設計の間違い
型が増えるたびに、switch 文を修正しないといけなくなる
修正の度に、設定ファイルを書いているデザイナーが、
プログラマーに頼まなければならなくなるから、
プロジェクトの人材配分ができなくなる
310:デフォルトの名無しさん
17/12/11 02:02:26.81 b197wXfn.net
自演うざいな
311:デフォルトの名無しさん
17/12/11 03:05:20.05 cnSlApZQ.net
型はなくていいけど、宣言していない変数は使えないようなオプション欲しい
312:デフォルトの名無しさん
17/12/11 03:18:06.40 329kYh7O.net
ruby-listやruby-devへの案内テンプレどうしますか?
313:デフォルトの名無しさん
17/12/11 12:55:19.76 Y2G40Toz.net
>>301
基地外を誘導するのは迷惑だからやめなさい
314:デフォルトの名無しさん
17/12/11 17:28:47.01 Iio3nuGz.net
自演を繰り返してる奴はruby-listやruby-devを避けてるから問題ない
そもそも入る事が出来ないらしい
それで、どういうテンプレにする?
315:デフォルトの名無しさん
17/12/12 00:09:35.42 MTvcfECB.net
ruby-devやruby-core入れるだけで荒らし避けになるとかスゲー
とりあずテンプレ案を出すのは次スレ立てる直前でどうよ?
316:デフォルトの名無しさん
17/12/13 02:24:54.64 bN1wPs8n.net
Methodのsource_locationみたいなソースの定義や構造の解析に役立つメソッドを探しているけど、
Classやモジュール、オブジェクトにはこういったメソッドないよね?
あれば便利だと思うのに
317:デフォルトの名無しさん
17/12/13 05:18:23.32 wC6gbn87.net
>>305
Pryの show-doc と show-source 便利だよ
pry-docも合わせて使えばCで書かれた組み込みクラスやメソッドのソースも表示可能
318:デフォルトの名無しさん
17/12/14 01:05:44.67 RXlgLxSu.net
Methodのsource_locationは処理に直接挿入できるから便利なのであって、
そこを理解していないだろ
319:デフォルトの名無しさん
17/12/15 01:34:17.23 XFw1hYkv.net
Rubyコードのリファクタリングに関したgemってある?
結構前にリファクタリングのrubyエディションを読んでから興味持ったんだけど
320:デフォルトの名無しさん
17/12/15 07:40:23.15 qyzTygXP.net
原理的に困難って上で言われてるでしょ
こればっかりは個人の信条や宗教の問題じゃなく本当に原理的な問題だから諦めろ
Rubyのリファクタリングや型検査に関しては、無理に静的解析するんじゃなくて、
実際にモジュールをロードしてみて実行時のクラス構造を見て処理するような新しい発想が必要だと思うわ
321:デフォルトの名無しさん
17/12/15 13:34:32.77 AXI+pgWQ.net
>>309
>リファクタリング:Rubyエディション、2010
を読むまでは俺もお前と同じ勘違いをしてた
どのような言語でもテクニックとしてリファクタリングが出来るという事が書いてあるから一度読め
特にrubyは、その記述性からリファクタリングテクニックがぴったり合う
322:デフォルトの名無しさん
17/12/15 16:34:51.13 YAkY+eE5.net
>>310
できるかどうかでいえばできるでしょ
正しさを保証できないだけ
323:デフォルトの名無しさん
17/12/15 22:04:52.20 AXI+pgWQ.net
リファクタリングテクニックを適用するだけの事に、�
324:ウしさの保障とか難癖つけても無駄 俺も以前は、カン違いしていた口だから偉そうな事は言えないけど
325:デフォルトの名無しさん
17/12/15 23:07:30.00 XFw1hYkv.net
>>309
Rubyにリファクタリングが合わないならリファクタリングrubyエディションなんて書籍は出版されないのでは?
内容も、何も考えなくても機械的に適用すればリファクタリングが出来てしまうテクニック集の例示だし
それと故意に話しを摩り替えられたけど聞きたかったのはリファクタリング関連のgemの事
326:デフォルトの名無しさん
17/12/16 00:12:00.58 8dq3CMaj.net
Rubyってどこまでできたら初心者卒業って言っていいの?
327:デフォルトの名無しさん
17/12/16 01:17:58.42 txM0o0nR.net
配列とループが理解できたら
328:デフォルトの名無しさん
17/12/16 01:25:30.77 plaGBrRo.net
なんかできるできないの話に持っていって(持って行かれて?)
負けてるやつがいるなw
Rubyでもなんでもリファクタリングはできるよ。
ただ同じリファクタリングをしても時間がかかる言語と
そうでない言語があるって話
329:デフォルトの名無しさん
17/12/16 01:59:08.24 SSRXngMG.net
>>313
こんなにRuby信者が寄ってきてるのに何一つ出てこないことが何よりの答えだろうね
そもそもRubyってツールでコードを弄るのをダサいと考える文化があるのよ
コードを生成するくらいならメタプログラミングで実行時に何とかするべきだし、
ツールで機械的に適用できるような局所的なリファクタリングなら手でやったほうが早い、っていうのがRuby的な思考
静的言語のIDEに付いてるようなインターフェイスの抽出とかメンバのリネームといった広域的なリファクタリングは便利なものだけど、
ああいうのは実際「原理的に困難」なので
330:デフォルトの名無しさん
17/12/16 05:32:22.64 2bqvN76b.net
>>316
>>317
ネガキャン失敗して顔真っ赤にしながらレスを書いていると思うと最高
331:デフォルトの名無しさん
17/12/16 14:05:47.39 VgVQwchc.net
有能なRubyistである>>318がパッと作ってgithubのURL貼ればそれで済む話だぞ
Matzもコードで語れっていつも言ってるでしょ
332:デフォルトの名無しさん
17/12/16 22:18:04.71 SV1ui7/W.net
>>319
逃げ回っていないでruby-devかruby-listで発言して来いよ
333:デフォルトの名無しさん
17/12/16 23:26:30.07 RIeUS8wT.net
リファクタリングと言えばrubyでRipper使えばコードを構文木化して扱えるよ
だから処理系自身にrubyコードを書き換えさせる事も出来る
それからgemもparseなんちゃらみたいなのが結構出てくるから割とありきたりなネタ
知ったかで騙ってる荒らしだけが無知を披露中
334:デフォルトの名無しさん
17/12/16 23:40:22.84 Ek1/YNvL.net
文脈がわかるわけじゃないからちょっと無理があるけど
335:デフォルトの名無しさん
17/12/16 23:47:36.74 2bqvN76b.net
またまたネガキャン大失敗の巻きか?
プゲラッチョ
336:デフォルトの名無しさん
17/12/16 23:58:10.67 VgVQwchc.net
構文木ってソースコードのDOMでしかないからなあ
>>322も言ってるけどそれでコードの意味がわかるわけじゃない
しかもRubyのASTの場合、静的解析やコード生成ではなく実行することしか考慮されてなくて、
CALLとシンボルだらけで大幅に情報が失われてる
自分でやってみりゃわかるけどかなり扱いづらい代物だよ
337:デフォルトの名無しさん
17/12/16 23:59:37.87 2deUmEBo.net
--dump=parsetreeオプションか、--dump=insnsオプションで使わないの?
338:デフォルトの名無しさん
17/12/17 00:12:46.78 cjnEvY5x.net
>>325
dump=parsetreeの結果から元のソースを復元してみ
無理だから
339:デフォルトの名無しさん
17/12/17 00:23:33.21 ZaumiUQl.net
使いづらいって言われてもそれは主観でしかないよな?
しかも実質、リファクタリング関連のgemを製作する側がどうのこうのであって、
gem利用者には関係なくない?
そもそも他言語での自己書き換えの扱いはもっと
340:やっかいだぞ?
341:326
17/12/17 00:23:43.41 cjnEvY5x.net
一応補足しとくけど、ruby処理系にそういう機能があるかどうかじゃなくて
dump=parsetreeで出力されたASTから元のソースを復元するツールを作ってみてくれ、という意味だぞ
ちなみにripperでも同じだ
もちろん細かいスペースの差異とかは無視するとしても、不可能なのがわかるよ
リファクタリングや静的解析に使うなら処理系付属のは使い物にならないので専用のASTが絶対に必要だ
342:デフォルトの名無しさん
17/12/17 00:29:01.32 ZaumiUQl.net
構文木と並行して字句解析つかえば何も問題ないぞ
というか、そういうgemがごろごろあるぞ?
また知ったかしちゃったのかな?
343:デフォルトの名無しさん
17/12/17 00:34:09.11 cjnEvY5x.net
>>329
意味不明だなあ
字句解析の結果をどうやってASTに紐付けるの?
結局独自に構文解析するんなら、それはつまり「専用のASTが必要」ということになるわけだけど、
自分で言ってること理解してる?
344:デフォルトの名無しさん
17/12/17 00:40:42.77 X5PuZ6e5.net
荒らしはrubyでリファクタリング出来る事が物凄く不満らしいけど、親でも殺されたのか?
これでも読んで落ち着け
つリファクタリング:Rubyエディション、2010
345:デフォルトの名無しさん
17/12/17 00:51:54.13 ZaumiUQl.net
>>330
だからgemがごろごろあるだろ
現実に存在するgemを否定しても現実は変わらんぞ?
そもそも妄想を騙るならruby-devかruby-listで発言しろ
ここはおまえの妄想ノートじゃねよボケ
346:デフォルトの名無しさん
17/12/17 00:52:55.58 Hi83U6qj.net
リファクタリングはどの言語でもできる
ただやりにくい言語とそうでない言語が有る
Rubyはやりにくい。時間がかかる
347:デフォルトの名無しさん
17/12/17 00:55:41.57 X5PuZ6e5.net
>>333
自演ばれてんぞ
348:デフォルトの名無しさん
17/12/17 00:56:47.47 Hi83U6qj.net
誰と間違ってんだよw
349:デフォルトの名無しさん
17/12/17 01:01:05.21 ZaumiUQl.net
いや、まちがっていない
こいつはいつもの粘着荒らしだ
350:デフォルトの名無しさん
17/12/17 01:05:40.92 vwVDXOLh.net
俺には>>336もプロレスの自演に見えるけどね
批判的意見に毎回バカっぽく突っかかって論破されてる噛ませ役
351:デフォルトの名無しさん
17/12/17 01:06:56.15 X5PuZ6e5.net
>>337
も自演か
352:sage
17/12/17 01:22:18.66 bfi3jyev.net
リファクタリングって頭空っぽにして代数的に適用すれば安全にコードを変えられるテクニックの事だろ?
なんで時間がかかるとか難しいとか話しが出てるんだ?
353:デフォルトの名無しさん
17/12/17 01:48:45.01 ZaumiUQl.net
リファクタリングが何か知らない奴が混じってて必死でrubyのネガキャンしてるだけ
ruby-devやruby-listだとすぐ嘘がばれるから
もうこの荒らしは排除いいよ
354:デフォルトの名無しさん
17/12/17 02:32:17.52 Hi83U6qj.net
>>339
> 代数的に適用すれば安全にコードを変えられるテクニックの事だろ?
> リファクタリングって頭空っぽにして代数的に適用すれば安全にコードを変えられるテクニックの事だろ?
> なんで時間がかかるとか難しいとか話しが出てるんだ?
代数的に適用するためには、十分な情報が必要だからだよ。
例えば2つの数値の掛け算の答があったとする
その答から、なんとなんの数値の掛け算かを求めるのは大変
答が複数あることもあるからだ
だけどそのうちひとつの数値がわかっていれば、答はすぐに分かる
型にも同じ話が言える。静的型付け言語の場合は、変数に型が定義されているから
そこから代数的に安全にコードを変えられるテクニックが使える
だけど型がわからなければ、そこから代数的に安全にコードを変えられるテクニックが使えない。
だから時間がかかる。一部の人はそのことを”できない"と表現しているがj。
それは違う。いくつもの可能性を検討して、これだ!と安心できるまで時間がかかるのだ。
355:デフォルトの名無しさん
17/12/17 02:47:32.03 BeMxy3i4.net
また自演の長文か
そんなに主張したい事があるなら初心者スレじゃなくruby-devかruby-listで言え
わざわざ初心者スレで嘘をばらまく必要は無いだろう
356:デフォルトの名無しさん
17/12/17 03:00:08.85 X5PuZ6e5.net
リファクタリングにちなんで、
みんなはコードに自己書き換えの処理させる時って何を使ってる?
357:デフォルトの名無しさん
17/12/17 03:28:07.16 BeMxy3i4.net
初心者スレでイキってる荒らしはこういう質問が来ると急に大人しくなるんだよな
俺は普通にdefine_methodを使うぐらいしかしていない
358:デフォルトの名無しさん
17/12/17 03:36:34.62 Hi83U6qj.net
急におとなしくなるって、いま夜中の3時半やで?
359:デフォルトの名無しさん
17/12/17 03:47:09.35 X5PuZ6e5.net
質問に答えられないのはわかった
360:デフォルトの名無しさん
17/12/17 03:48:56.09 Hi83U6qj.net
自演かな?
>>344が答えてるのに、質問に応えられる人がいないなんて
361:デフォルトの名無しさん
17/12/17 03:54:31.53 X5PuZ6e5.net
>>347
お前に言ってるんだが
362:デフォルトの名無しさん
17/12/17 03:58:35.63 Hi83U6qj.net
え? その前に俺の>>342のレスに答えてよ
おとなしくなるって、俺のレスに答えられなくなるって
話だと思ったよ
363:デフォルトの名無しさん
17/12/17 04:02:09.36 vi6El7FV.net
ソースを直で修正し再ロードして実行までをrubyコード内で記述できるわけだから、
言ってしまえばなんだって出来る
gemでparse2rubyとか色々あるし
364:デフォルトの名無しさん
17/12/17 04:18:39.08 X5PuZ6e5.net
>>349
ID:Hi83U6qj「俺はID:BeMxy3i4だ」と言われても、
スレを妨害してるのはお前しかいないんだが
365:デフォルトの名無しさん
17/12/17 04:48:50.54 PRNmBS9S.net
>>349
いつまで逃げ回る気だ荒らし
本人確認するかruby-devかruby-listで早く発言しろ
>>351
Ripper.sexp_rawで良い具合にメソッドを書き換えて使ってる
366:デフォルトの名無しさん
17/12/17 08:13:32.84 6NwF6CYy.net
「ruby-devかruby-listで発言しろ」って言いまくってる奴は単発IDでの自演常習犯だから絡まないでスルーしましょう
>>252でも説明したけど自治の振りをした粘着荒らしです
367:デフォルトの名無しさん
17/12/17 09:16:34.42 X5PuZ6e5.net
自演を繰り返す荒らしがスレ住民全員を荒らし認定か
ruby-devかruby-listで発言するのがそれほど怖いのかな?
368:デフォルトの名無しさん
17/12/17 11:53:12.66 Hi83U6qj.net
妨害って何? Rubyの話ししてるでしょ
>>341へのレスしてくれるのを待ってるんだが?
369:デフォルトの名無しさん
17/12/17 11:54:17.21 Hi83U6qj.net
>>351
それ間違えたw 本当は>>341と書くつもりだった
透明あぼ~んされてて見えなかったから
ずれてしまったのかな?
370:デフォルトの名無しさん
17/12/17 12:02:37.42 X5PuZ6e5.net
スレッドの進行を妨害して荒らすな
371:デフォルトの名無しさん
17/12/17 13:07:26.56 7FFT55NR.net
ちょいと質問です。
Cだと"__"から始まったり、"_"+大文字となったりする識別子は予約扱いだと明文化されてるけど、Rubyはどうなのかちょっと気になってます。
組み込みで__FILE__ __LINE__ __method__とかが定義されているのは知ってます。
gemライブラリの中で2つのアンダースコート"__"から始まり、同じく"__"で終わるメソッド名を定義しようかと考えてるけど、問題ないかなと思って。
372:デフォルトの名無しさん
17/12/17 13:28:17.09 Hi83U6qj.net
@で始まる変数はインスタンス変数
@@で始まればクラス変数
$で始まれば組み込み変数
大文字で始まれば定数
selfもnilもtrueもfalseも変数
373:デフォルトの名無しさん
17/12/17 13:31:03.53 X5PuZ6e5.net
リファレンスで擬似変数の所を見てかぶりそうなのをさければ問題ない
かぶっても見分けられるなら問題ない
374:デフォルトの名無しさん
17/12/17 13:36:18.37 CQTxJs7f.net
Ripper.sexpつかえばソースの自己書き換えできるだろ
誰だよ出来合ないって言ったのは
375:デフォルトの名無しさん
17/12/17 13:41:01.76 Hi83U6qj.net
誰も言ってないよ?w
376:デフォルトの名無しさん
17/12/17 14:16:42.77 CQTxJs7f.net
require "ripper"
require "pp"
pp Ripper.sexp("class Foo p self end")
#[:program,
# [[:class,
# [:const_ref, [:@const, "Foo", [1, 6]]],
# nil,
# [:bodystmt,
# [[:command,
# [:@ident, "p", [1, 10]],
# [:args_add_block, [[:var_ref, [:@kw, "self", [1, 12]]]], false]]],
# nil,
# nil,
# nil]]]]
これでリファクタリングが難しいとか時間がかかるとか言ってた奴もいたな
377:デフォルトの名無しさん
17/12/17 14:21:37.40 Hi83U6qj.net
>>363
読む時間も含めれば、時間かかるんじゃないの?
378:デフォルトの名無しさん
17/12/17 14:32:48.20 CQTxJs7f.net
どんだけ遅いCPU積んでるの?
379:デフォルトの名無しさん
17/12/17 14:42:49.46 Hi83U6qj.net
>>365
何を言ってるの?
リファクタリングっていうのは人が
どうすべきかを考えるんだよ
今何が問題で、どうすべきかを考えるためには
ソースコードを読んで理解しなければならない。
その理解するまでの時間の話なんだけど
で、そのコードをどうしたいのか俺には分からん
まずそこからだよね。君が説明するべきことは