プログラミング言語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/
Ruby 初心者スレッド Part 62
■ このスレッドは過去ログ倉庫に格納されています
2017/11/24(金) 00:35:29.31ID:rLZHdQ3Q
2017/11/28(火) 00:02:17.19ID:1+J/qigr
そうやって嫌々やってるからまたボロを出す
22:51:47.97
23:02:26.98
こんだけ時間くっつけて発言すればバカにさえ自演だってわかる
しっかり頭を働かせろ
ゆとり世代か何かか?
22:51:47.97
23:02:26.98
こんだけ時間くっつけて発言すればバカにさえ自演だってわかる
しっかり頭を働かせろ
ゆとり世代か何かか?
2017/11/28(火) 00:03:55.96ID:qPKDeu2+
だから、まあ、我々はふたつの荒らしを並行同時にあしらいながら進まねばならなくなっている
「やってはいけないこと」「さわってはいけないもの」は倍以上に増え、発言の困難性は以前より遥かに増した
難儀なことだ
「やってはいけないこと」「さわってはいけないもの」は倍以上に増え、発言の困難性は以前より遥かに増した
難儀なことだ
29デフォルトの名無しさん
2017/11/28(火) 00:07:19.20ID:TcvLN2I4 完動する事を確認しているDLライブラリ使ったスクリプトを、思いつきでrubyに付属のdebug.rbで診たら、
dllの関数呼び出しの所で`unknown symbol "関数名"' (RuntimeError)がでてなかなかブレークポイントまで進めません
一部の止まるエラーを抑えたり、スクリプト上の一定部分だけデバッガー無効化したりすることは可能ですか?
dllの関数呼び出しの所で`unknown symbol "関数名"' (RuntimeError)がでてなかなかブレークポイントまで進めません
一部の止まるエラーを抑えたり、スクリプト上の一定部分だけデバッガー無効化したりすることは可能ですか?
2017/11/28(火) 00:39:00.64ID:yd/D5jJi
2017/11/28(火) 03:30:10.92ID:PkJOT8pW
そのエラーになる部分を、コメントアウトして実行すれば?
32デフォルトの名無しさん
2017/11/29(水) 04:08:52.30ID:zX4fkY5X debug.rbはkernelのset_trace_funcで登録したprocを、デバッギーの行毎に呼び出してる
だから呼び出されたくない行は登録するproc内でif文を使って分岐させてやれば良い
やってることはそれ程難しくないし、debug.rbに10行程度書き加えれば出来るよ
だから呼び出されたくない行は登録するproc内でif文を使って分岐させてやれば良い
やってることはそれ程難しくないし、debug.rbに10行程度書き加えれば出来るよ
2017/11/29(水) 18:32:32.11ID:MwOAAXQr
>>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
}
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
}
2017/11/29(水) 18:44:22.06ID:MwOAAXQr
下のに書き換え、
@@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
}
@@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
}
2017/11/29(水) 18:51:55.61ID:MwOAAXQr
デバッグするソースファイルの最初の方に以下を書き加え、debugをスキップしたいファイルをignorefに、行をRangeかArrayでignorelにいれる
if defined? DEBUGGER__
ignoref = __FILE__
ignorel = []# 27..48
DEBUGGER__.ignore_[ignoref] = ignorel
end
debugのスクリプトそのものを書き換えるんじゃなくて、
複製して別名をつけたものを書き換えて使ったほうが良いよ
if defined? DEBUGGER__
ignoref = __FILE__
ignorel = []# 27..48
DEBUGGER__.ignore_[ignoref] = ignorel
end
debugのスクリプトそのものを書き換えるんじゃなくて、
複製して別名をつけたものを書き換えて使ったほうが良いよ
2017/11/30(木) 01:37:59.97ID:XY2yKXS8
Rubyでopenglのシェーダーを扱った本、技術評論社辺りから出してくれないかな
こういうのこそRuby向けだよ
こういうのこそRuby向けだよ
37デフォルトの名無しさん
2017/11/30(木) 13:11:26.74ID:dNsMGYhb OpenGL自体のgemとかはそろってるから、
ミクミク互換やXファイル互換のソースを添付して出せば売れそうだけどな
ミクミク互換やXファイル互換のソースを添付して出せば売れそうだけどな
2017/12/01(金) 01:22:55.57ID:UulhXT9P
# frozen_string_literal: false
ソースの最初に上のように書かれてるのを見つけたけどどいう意味?
他にもこういうのあるの?
ソースの最初に上のように書かれてるのを見つけたけどどいう意味?
他にもこういうのあるの?
2017/12/01(金) 04:44:53.26ID:zZy3ktkC
>>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>'
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>'
2017/12/02(土) 02:33:11.13ID:7L3qqdqd
>>39
前スレのリテラルの話でArrayが出てたけど、Arrayも何か将来的に関係あるの?
前スレのリテラルの話でArrayが出てたけど、Arrayも何か将来的に関係あるの?
2017/12/02(土) 12:25:58.45ID:S9pj625T
二項演算子型のシンタックスシュガーって場合によっては意図したとおりに動いてくれないんだね
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
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
2017/12/02(土) 12:28:39.60ID:S9pj625T
pi %1 #=> unknown type of %string
じゃなくて
pi %1 #=> 0.14159265358979312
だった
定数だとうまくいかない模様
じゃなくて
pi %1 #=> 0.14159265358979312
だった
定数だとうまくいかない模様
2017/12/02(土) 12:49:07.58ID:m0rwQM4g
>>41が何を意図しているか分かるわけないだろう
2017/12/02(土) 13:43:40.72ID:0GCrzYMu
スペースを入れろってだけの話では
45デフォルトの名無しさん
2017/12/02(土) 13:50:50.68ID:XRYOyseR 今年もクリスマスイブに何か発表ある?
46デフォルトの名無しさん
2017/12/03(日) 03:01:00.42ID:IGABZHMD >>39
さんくす
さんくす
2017/12/03(日) 12:36:05.29ID:76TDWePk
Ruby2.5
48デフォルトの名無しさん
2017/12/05(火) 03:46:28.43ID:XHolF61u Rubyの型システムは早ければ2020年のオリンピック頃にお目見えか
どんな物になるんだろう
どんな物になるんだろう
2017/12/05(火) 16:37:09.15ID:tba/yJ/+
2017/12/05(火) 16:48:30.13ID:lVtWIMct
他言語の経験あるなら
プロを目指す人のためのRuby入門という入門書が新しくておすすめ(出たばかり)
プロを目指す人のためのRuby入門という入門書が新しくておすすめ(出たばかり)
2017/12/05(火) 17:04:59.24ID:04pPds2q
本は買った後、
分からない事があれば、ここで環境とコード示して聞けば良いよ
誰かが答えてくれるから
分からない事があれば、ここで環境とコード示して聞けば良いよ
誰かが答えてくれるから
2017/12/05(火) 23:05:42.39ID:bv7GN3wK
たのしいRuby 第5版、2016
R を知ってるなら、これも読む。
みんなのPython 第4版、2017
この2冊は、表裏一体。
ただし、先に「たのしい」から読むこと
R を知ってるなら、これも読む。
みんなのPython 第4版、2017
この2冊は、表裏一体。
ただし、先に「たのしい」から読むこと
2017/12/06(水) 00:16:07.55ID:Nuv0O2Zm
54デフォルトの名無しさん
2017/12/06(水) 04:53:57.53ID:j5o9izkC >荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
2017/12/06(水) 16:47:29.82ID:AVh4r46K
Effective RubyがKindleで半額セール中(1728円)
56デフォルトの名無しさん
2017/12/06(水) 21:44:56.35ID:sdwtDf9T RubyでOpenGLの書籍も来い
2017/12/06(水) 21:46:49.21ID:vDrxBWCE
読者100人ぐらいしかいなさそう
2017/12/06(水) 21:48:41.70ID:Q8AsPyaZ
まずRubyが遅いから
画像処理やろうって人が少ない
画像処理やろうって人が少ない
2017/12/06(水) 21:57:47.76ID:j5o9izkC
3Dモデリングなら速度要らなさそう
あと可視化の分野辺り
というか、ゲームじゃなければ速度いらないだろ
あと可視化の分野辺り
というか、ゲームじゃなければ速度いらないだろ
60デフォルトの名無しさん
2017/12/06(水) 22:11:16.54ID:sdwtDf9T 3Dモデルというか、OpenGL学ぶのに最適だよRubyは
教材として出せば良いのに
商材として出すならMMDやXといった各種3Dモデル形式に対応した3DモデリングソフトをRubyで書いてCD付録として書籍につければ良い
そのRubyコード目当てに買う人は多いだろうし、Rubyで書いてるから書き換えやすく、改造もしやすい
教材として出せば良いのに
商材として出すならMMDやXといった各種3Dモデル形式に対応した3DモデリングソフトをRubyで書いてCD付録として書籍につければ良い
そのRubyコード目当てに買う人は多いだろうし、Rubyで書いてるから書き換えやすく、改造もしやすい
2017/12/06(水) 23:53:59.61ID:9Cl2Q0EY
残念ながらそれはない
Rubyはまともに使うつもりないなら学習のオーバーヘッドが大きすぎる
今ならJavaScriptとWebGLでいいよ
Rubyはまともに使うつもりないなら学習のオーバーヘッドが大きすぎる
今ならJavaScriptとWebGLでいいよ
62デフォルトの名無しさん
2017/12/07(木) 02:09:30.99ID:5ii6i5Is おまえがネガキャンしても無意味だ
2017/12/07(木) 02:49:15.45ID:mIJMiEiv
openglか
確かラッパーのgemがいくつかあるんだよな
初期のでglVertexPointerやらglColorPointerやら使って三角形を描画するとかやった記憶がある
今のgemはVBOやシェーダは使えるのか?
確かラッパーのgemがいくつかあるんだよな
初期のでglVertexPointerやらglColorPointerやら使って三角形を描画するとかやった記憶がある
今のgemはVBOやシェーダは使えるのか?
2017/12/07(木) 03:59:25.76ID:GxHPFgmw
3Dモデラーソフトのソースが付くなら欲しい
ゼロから書くのは面倒だけど既にある程度完成しているなら、
自分で足りない所だけ追加して楽できる
ゼロから書くのは面倒だけど既にある程度完成しているなら、
自分で足りない所だけ追加して楽できる
2017/12/07(木) 16:46:28.15ID:al0lHo8n
>>63
gemをちょっとググってみたけどopengl4.xに対応しててそれ用の関数もある
shaderがどこまで出来るかは自己の環境次第なんじゃね?
まあ、最近はopengl4.x使える環境がデフォだけど
gemをちょっとググってみたけどopengl4.xに対応しててそれ用の関数もある
shaderがどこまで出来るかは自己の環境次第なんじゃね?
まあ、最近はopengl4.x使える環境がデフォだけど
2017/12/07(木) 22:06:15.41ID:mIJMiEiv
みんな、Rubyのリファクタリングツール使ってる?
今まで手動でやってきたんだけど、何かお勧めツールかgemある?
今まで手動でやってきたんだけど、何かお勧めツールかgemある?
2017/12/07(木) 22:18:59.22ID:h0N877cC
rubymine
2017/12/07(木) 22:35:19.73ID:p8nuhjj6
rspec
rubyは静的解析が極めて困難な言語であり、リファクタリングを機械的に安全に行うことはできない
テストをちゃんと書いておいて、実際に繰り返し動かしながら結果的に元の挙動が再現されるように慎重に行う必要がある
rubyは静的解析が極めて困難な言語であり、リファクタリングを機械的に安全に行うことはできない
テストをちゃんと書いておいて、実際に繰り返し動かしながら結果的に元の挙動が再現されるように慎重に行う必要がある
2017/12/07(木) 23:56:42.24ID:kyxQutt+
テストはバグが有ることを証明することはできるが
バグがないことを証明することはできない
故にいくらテストを書いても安心できない
バグがないことを証明することはできない
故にいくらテストを書いても安心できない
2017/12/08(金) 00:13:02.65ID:AScviHBw
お前のツールでリファクタリングしたらバグったやないか客の業務止まっとるんやぞどないしてくれんねんボケエ!!!
こうなるのが目に見えてるんだからツール作る方もやりたくないわな
静的リファクタリングを動的型言語に求めるのは筋違い
こうなるのが目に見えてるんだからツール作る方もやりたくないわな
静的リファクタリングを動的型言語に求めるのは筋違い
71デフォルトの名無しさん
2017/12/08(金) 00:48:46.54ID:yFCS8xkj また言ってるのかこいつ
はやく精神科に見てもらえ
ruby会議16か15でリファクタリングのgemのOHPあったけど、
ぐぐったら出てくるから見てみ
はやく精神科に見てもらえ
ruby会議16か15でリファクタリングのgemのOHPあったけど、
ぐぐったら出てくるから見てみ
2017/12/08(金) 01:08:24.02ID:ra4CwiYK
>>2 のリファクタリング:Rubyエディションを読めばわかるけど、
ツールで自動化するのは問題なく、むしろポイントはツールの使い勝手とか連携させるとかの方
リファクタリング機能自体にはあんまり差異は無い
例の自演荒らしはそれを知らずに静的云々とか煽ってるけど
ツールで自動化するのは問題なく、むしろポイントはツールの使い勝手とか連携させるとかの方
リファクタリング機能自体にはあんまり差異は無い
例の自演荒らしはそれを知らずに静的云々とか煽ってるけど
2017/12/08(金) 01:33:37.38ID:AScviHBw
>>72
さすがにリファクタリングに関して静的型と差異がないというのは贔屓目に見ても無理があるわ
例えばクラスのメソッドのリネームを安全に行うには、そのメソッドを使っている箇所を全て正確に特定しなければならない
静的型なら造作もないことだけど、ちょっと頭使えばわかることだが動的型では原理的に不可能
さすがにリファクタリングに関して静的型と差異がないというのは贔屓目に見ても無理があるわ
例えばクラスのメソッドのリネームを安全に行うには、そのメソッドを使っている箇所を全て正確に特定しなければならない
静的型なら造作もないことだけど、ちょっと頭使えばわかることだが動的型では原理的に不可能
2017/12/08(金) 01:35:02.78ID:T1izFLQz
Ruby技術者試験受けるよ!
アドバイスとかあったらお願いします
ちなみに、今年中にsilver受験するつもり
アドバイスとかあったらお願いします
ちなみに、今年中にsilver受験するつもり
2017/12/08(金) 01:36:07.26ID:AScviHBw
あと、Rubyに限ったことじゃないけどスクリプト言語は識別子を短くする傾向があるから、
単純にgrepで抽出するのも困難を極める
もちろん静的型では一文字メソッドだろうと全く問題ないけどね
単純にgrepで抽出するのも困難を極める
もちろん静的型では一文字メソッドだろうと全く問題ないけどね
2017/12/08(金) 02:01:33.10ID:AScviHBw
何が言いたいかというと、リファクタリングにツールの力を借りたくなるようなものを動的型で作るなら必ずテストを書けってことだ
絶対に安全というわけではないが気休めにはなる
テストのない大規模なRubyのソースは単なる糞の山であり、確実にメンテ不能に陥る
絶対に安全というわけではないが気休めにはなる
テストのない大規模なRubyのソースは単なる糞の山であり、確実にメンテ不能に陥る
2017/12/08(金) 02:24:45.46ID:DD2Dk6IR
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回を求めるには、どうすれば良い?
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回を求めるには、どうすれば良い?
78デフォルトの名無しさん
2017/12/08(金) 02:44:53.49ID:yFCS8xkj >ID:AScviHBw
連投の癖から見ても例のあいつだな
話題すりかえれると思ってんのかゴミ
連投の癖から見ても例のあいつだな
話題すりかえれると思ってんのかゴミ
2017/12/08(金) 02:47:13.84ID:cpGshdOM
yFCS8xkjは例のアイツを記憶している
それぐらい例のアイツを意識しまくっている
それぐらい例のアイツを意識しまくっている
2017/12/08(金) 02:49:26.53ID:ra4CwiYK
>>79
自演バレてるぞ
自演バレてるぞ
2017/12/08(金) 02:52:47.39ID:cpGshdOM
自演じゃねーしw
例え自演だとしても、お前が例のアイツを忘れられない
ってのは事実だろう?だってそれっぽい書き込みをみたら
思い出してしまったんだし。
俺はどうでもいい人のことなんか覚えられないなぁw
例え自演だとしても、お前が例のアイツを忘れられない
ってのは事実だろう?だってそれっぽい書き込みをみたら
思い出してしまったんだし。
俺はどうでもいい人のことなんか覚えられないなぁw
2017/12/08(金) 03:03:28.70ID:M1BysAXW
今日の荒らしのIDはID:AScviHBwとID:cpGshdOMか
もっとレス稼げよカス
もっとレス稼げよカス
2017/12/08(金) 03:05:51.79ID:cpGshdOM
そういや上の方でrspecって名前が出てたけど、
rspecの使い方をマスターするのは重要だな。
contextとlet、この2つの正しい使い方は
ちゃんと理解しないといけない
たんなるグループわけとか変数の代わりではない
rspecの使い方をマスターするのは重要だな。
contextとlet、この2つの正しい使い方は
ちゃんと理解しないといけない
たんなるグループわけとか変数の代わりではない
2017/12/08(金) 03:11:55.00ID:cpGshdOM
少しヒントを出すか。
context(describe)はテスト対象のコードが複雑なら遠慮なくネストすること
もちろんテスト対象のコードはなるべくシンプルにするものだから
その場合はテストコードもcontextのネストも深くはならないのだが、
条件分岐があればそれに対応してcontextもネストさせてよい
そしてletは名前を遠慮なくかぶらせていい。
一般的には外側のスコープと同じ名前の変数を作るのは良くないことだが
describeとcontextのネストの中で、外側と同じ名前の変数は遠慮なく作っていい。
というか外側のletはデフォルト値、内側のletはそれを上書きする。そういう扱い
context(describe)はテスト対象のコードが複雑なら遠慮なくネストすること
もちろんテスト対象のコードはなるべくシンプルにするものだから
その場合はテストコードもcontextのネストも深くはならないのだが、
条件分岐があればそれに対応してcontextもネストさせてよい
そしてletは名前を遠慮なくかぶらせていい。
一般的には外側のスコープと同じ名前の変数を作るのは良くないことだが
describeとcontextのネストの中で、外側と同じ名前の変数は遠慮なく作っていい。
というか外側のletはデフォルト値、内側のletはそれを上書きする。そういう扱い
2017/12/08(金) 03:18:31.95ID:ra4CwiYK
いつもネガキャンがバレたら即自演荒らし始めるけど、
もしかして何かの病気?
もしかして何かの病気?
2017/12/08(金) 03:20:06.76ID:cpGshdOM
いつもと違う=別人 という発想に至れないのが残念な人だなw
思い込みハゲしいぜハゲ
思い込みハゲしいぜハゲ
2017/12/08(金) 03:25:08.37ID:JkPU7Xcj
>>77
x = strArray.uniq.group_by{|e| strArray.count(e)}
# 最大値
m = x.keys.max # => 2
# 最大値を返す要素
x[m]. #=> ["a", "c"]
x = strArray.uniq.group_by{|e| strArray.count(e)}
# 最大値
m = x.keys.max # => 2
# 最大値を返す要素
x[m]. #=> ["a", "c"]
2017/12/08(金) 03:25:58.22ID:ra4CwiYK
ここまで「ネガキャンをしていたのは自分です」と告白してくれる人も珍しい
こんな正直な人なかなかいない
連投する癖は相変わらずウザイけど
こんな正直な人なかなかいない
連投する癖は相変わらずウザイけど
2017/12/08(金) 03:31:15.22ID:cpGshdOM
2017/12/08(金) 03:51:22.77ID:ra4CwiYK
いつもネガキャンがバレたら即自演荒らし始めるけど、
もしかして何かの病気?
もしかして何かの病気?
2017/12/08(金) 03:52:53.67ID:cpGshdOM
だから誰と間違ってんだよw
92デフォルトの名無しさん
2017/12/08(金) 04:13:17.16ID:uDZwOU33 ネガキャン失敗を晒しあげ
2017/12/08(金) 05:21:46.31ID:ra4CwiYK
2017/12/08(金) 05:27:36.83ID:T81djMMQ
毎回同じようなこと繰り返してるけど、今のrubyで問題ないと思ってるやつのほうが相当やばいと思うけどね
95デフォルトの名無しさん
2017/12/08(金) 05:33:53.21ID:uDZwOU33 荒らし「毎回同じようなこと繰り返してるけど、今のrubyで問題ないと思ってるやつのほうが相当やばいと思うけどね」(荒す口実にしないとは言っていない)
9677
2017/12/08(金) 06:05:43.38ID:DD2Dk6IR 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
ありがとう。その方法でも出来ますね
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
ありがとう。その方法でも出来ますね
2017/12/08(金) 06:34:00.66ID:T81djMMQ
今度は俺が荒らし扱いか
めんどくさいスレだな
めんどくさいスレだな
2017/12/08(金) 06:34:11.97ID:ra4CwiYK
毎回繰り返されているのはRubyに関係無い荒らしの自爆劇なんだよな
2017/12/08(金) 06:41:08.45ID:61INIGrw
単発でネガキャン繰り返してた奴=自演しながら静的静的言い続けてる荒らし
は確定か
次、荒らしがやりそうなのは
荒らしをスルーして書き込みさせてたIDでの"加勢"かな?
は確定か
次、荒らしがやりそうなのは
荒らしをスルーして書き込みさせてたIDでの"加勢"かな?
100デフォルトの名無しさん
2017/12/08(金) 07:38:48.25ID:AScviHBw 少なくともID:AScviHBwはRubyと関係ないことは言ってないし別に間違ったことも言ってないでしょ
静的型の方がリファクタリングしやすい、くらいMatzでも発言したことあるぞ
さすがにこんなのまで荒らし扱いするのはこのスレくらいだよ
静的型の方がリファクタリングしやすい、くらいMatzでも発言したことあるぞ
さすがにこんなのまで荒らし扱いするのはこのスレくらいだよ
101デフォルトの名無しさん
2017/12/08(金) 08:04:15.93ID:ZXhAMZdZ >>100
ID位変えろ。
ID位変えろ。
102デフォルトの名無しさん
2017/12/08(金) 09:57:04.25ID:v/VLqoKO103デフォルトの名無しさん
2017/12/08(金) 10:28:17.37ID:3HBH94ah それはRubyユーザーがRubyのスレでRubyについて何か書き込むのは当たり前では?
その意味で、唐突にPythonなど他の言語を持ち出す方が荒らしでは?
もう一度書くけど、RubyユーザーがRubyのスレでRubyについて書くのは当たり前では?
逆にPythonユーザーがPythonスレに何か書き込むとき
同じことがRubyにも言えたら、ここにも何か書き込まなきゃならないのか?
その意味で、唐突にPythonなど他の言語を持ち出す方が荒らしでは?
もう一度書くけど、RubyユーザーがRubyのスレでRubyについて書くのは当たり前では?
逆にPythonユーザーがPythonスレに何か書き込むとき
同じことがRubyにも言えたら、ここにも何か書き込まなきゃならないのか?
104デフォルトの名無しさん
2017/12/08(金) 11:06:13.77ID:+YVZNSfe まあ歓迎しない空気があるスレで歓迎しない話題を延々と続けるのもどうかとは思うが。
105デフォルトの名無しさん
2017/12/08(金) 12:25:20.39ID:T81djMMQ 最近のrubyの明るい話題と言えば、require 'pp' と書く必要がなくなったことくらいだな
106デフォルトの名無しさん
2017/12/08(金) 15:14:06.90ID:ra4CwiYK 荒らしよ
お前のやっている行為が荒らし行為じゃないって言うなら
ruby-listやruby-devに行けよ
お前のやっている行為が荒らし行為じゃないって言うなら
ruby-listやruby-devに行けよ
107デフォルトの名無しさん
2017/12/08(金) 15:55:17.61ID:v/VLqoKO >>103
>RubyユーザーがRubyのスレでRubyについて書くのは当たり前では?
もちろん、それなら当たり前だよ
でも ID:AScviHBw がやった、RubyユーザーでもないのにRubyスレで
Rubyに限らない一般論を連投する行為は当たり前じゃないだろ?
http://hissi.org/read.php/tech/20171208/QVNjdmlIQnc.html
たとえばRailsユーザーがRubyスレでRailsについて連投するのは当たり前じゃないし、
そこでWebProg板の専用スレへの誘導を促されても移動せずに屁理屈をこね回していれば、
その行為に対して荒らし認定されるのは当たり前だろ?
ということで、これ以上「動的型付け言語におけるリファクタリング」うんぬんを
語りたければ、専用の隔離スレがあるからそちらへ移動を願う
・静的型付け言語の潜在開発生産性は今の100倍 ×5
http://mevius.2ch.net/test/read.cgi/tech/1385273168/
・リファクタリングをただのコード修正と思ってる人へ
http://mevius.2ch.net/test/read.cgi/tech/1275121556/
>RubyユーザーがRubyのスレでRubyについて書くのは当たり前では?
もちろん、それなら当たり前だよ
でも ID:AScviHBw がやった、RubyユーザーでもないのにRubyスレで
Rubyに限らない一般論を連投する行為は当たり前じゃないだろ?
http://hissi.org/read.php/tech/20171208/QVNjdmlIQnc.html
たとえばRailsユーザーがRubyスレでRailsについて連投するのは当たり前じゃないし、
そこでWebProg板の専用スレへの誘導を促されても移動せずに屁理屈をこね回していれば、
その行為に対して荒らし認定されるのは当たり前だろ?
ということで、これ以上「動的型付け言語におけるリファクタリング」うんぬんを
語りたければ、専用の隔離スレがあるからそちらへ移動を願う
・静的型付け言語の潜在開発生産性は今の100倍 ×5
http://mevius.2ch.net/test/read.cgi/tech/1385273168/
・リファクタリングをただのコード修正と思ってる人へ
http://mevius.2ch.net/test/read.cgi/tech/1275121556/
108デフォルトの名無しさん
2017/12/08(金) 16:03:31.33ID:61INIGrw 次から初心者スレでネガキャンや自演を繰り返す輩は
ruby-listやruby-devに来れないなら荒らし認定して良いだろう
ruby-listやruby-devに来たなら書き込み時のIDとレス番をしっかり伝えて発言しろよ
ruby-listやruby-devに来れないなら荒らし認定して良いだろう
ruby-listやruby-devに来たなら書き込み時のIDとレス番をしっかり伝えて発言しろよ
109デフォルトの名無しさん
2017/12/08(金) 16:39:26.80ID:8wQDKBTk 今日のID
ID:AScviHBw
ID:cpGshdOM
ID:T81djMMQ
ID:3HBH94ah
ID:v/VLqoKO ←New!
ID:AScviHBw
ID:cpGshdOM
ID:T81djMMQ
ID:3HBH94ah
ID:v/VLqoKO ←New!
110デフォルトの名無しさん
2017/12/08(金) 20:29:36.48ID:3HBH94ah RubyユーザーがRubyに思うことを書き込むときに
他の言語にも言えることだったら書き込んではいけないというのはおかしい
他の言語は関係なかろう、Rubyユーザーなのだから
他の言語にも言えることだったら書き込んではいけないというのはおかしい
他の言語は関係なかろう、Rubyユーザーなのだから
111デフォルトの名無しさん
2017/12/08(金) 20:38:10.07ID:ra4CwiYK 初心者スレでイキってないでruby-listかruby-devにいって来いよ荒らし
112デフォルトの名無しさん
2017/12/08(金) 21:52:10.81ID:cpGshdOM おっすただいま。また誰かと俺を勘違いしてる人が
暴れてるのかな?
暴れてるのかな?
113デフォルトの名無しさん
2017/12/08(金) 21:58:28.54ID:ra4CwiYK この荒らしは自演で嘘ばかりついて人を騙す事しかしないけど、
ruby-listやruby-devの名が出た途端にダンマリ
もしかして過去に追い出された口かな?
だからruby-listやruby-devにいけないのか
ruby-listやruby-devの名が出た途端にダンマリ
もしかして過去に追い出された口かな?
だからruby-listやruby-devにいけないのか
114デフォルトの名無しさん
2017/12/08(金) 21:59:58.96ID:TcYdv7Hd ruby から numpy 使えば文句なさそう
って一瞬思ったがそれなら最初から python でいいや
って一瞬思ったがそれなら最初から python でいいや
115デフォルトの名無しさん
2017/12/08(金) 22:03:16.63ID:8wQDKBTk 100デフォルトの名無しさん2017/12/08(金) 07:38:48.25ID:AScviHBw
少なくともID:AScviHBwはRubyと関係ないことは言ってないし別に間違ったことも言ってないでしょ
静的型の方がリファクタリングしやすい、くらいMatzでも発言したことあるぞ
さすがにこんなのまで荒らし扱いするのはこのスレくらいだよ
少なくともID:AScviHBwはRubyと関係ないことは言ってないし別に間違ったことも言ってないでしょ
静的型の方がリファクタリングしやすい、くらいMatzでも発言したことあるぞ
さすがにこんなのまで荒らし扱いするのはこのスレくらいだよ
116デフォルトの名無しさん
2017/12/08(金) 22:25:47.08ID:gOxqVObs Ruby3で予定されてるType Checkingのことでちょっと聞きたいんだけど
def sum(x: Integer, y: Integer)
って言う形にするって見たんだけど、キーワード引数はどういう形でこの先生き残ればいいのか教えて下さい
def sum(x: Integer, y: Integer)
って言う形にするって見たんだけど、キーワード引数はどういう形でこの先生き残ればいいのか教えて下さい
117デフォルトの名無しさん
2017/12/08(金) 22:33:35.37ID:ra4CwiYK 例の荒らしが荒らす前に答えとく
まだ型システムがどうなるかは決定してないから、
誰もわからない
一応、2020年のオリンピック頃に何か発表されるようだけど、
キーワード引数には言及されてないと思う
まだ型システムがどうなるかは決定してないから、
誰もわからない
一応、2020年のオリンピック頃に何か発表されるようだけど、
キーワード引数には言及されてないと思う
118デフォルトの名無しさん
2017/12/08(金) 22:49:19.36ID:PDg411NM119デフォルトの名無しさん
2017/12/08(金) 23:05:52.19ID:ra4CwiYK その場合、発言できないとなるとみんなから荒らし認定されるわけだけど
俺は出来ない方に一票
日付変更でIDリセットを狙ってるんだよ
呼吸するように嘘を吐く性格だからもう絶対出て来ないのは判りきっている
俺は出来ない方に一票
日付変更でIDリセットを狙ってるんだよ
呼吸するように嘘を吐く性格だからもう絶対出て来ないのは判りきっている
120デフォルトの名無しさん
2017/12/08(金) 23:07:29.21ID:cpGshdOM >>118
いやruby-devとは内容が違うだろ
いやruby-devとは内容が違うだろ
121デフォルトの名無しさん
2017/12/08(金) 23:10:46.95ID:cpGshdOM ruby-devはrubyの開発者のためだから場所が正しくない
Ruby初心者の質問と回答はここしかないな
Ruby初心者の質問と回答はここしかないな
122デフォルトの名無しさん
2017/12/08(金) 23:18:20.96ID:gOxqVObs >>117
ありがとう
ありがとう
123デフォルトの名無しさん
2017/12/08(金) 23:18:34.18ID:PDg411NM 連投ってことはやっぱり荒らしか
124デフォルトの名無しさん
2017/12/08(金) 23:22:20.73ID:ra4CwiYK ruby-listでもruby-devでもどっちでも構わないよ
発言マダー?
発言マダー?
125デフォルトの名無しさん
2017/12/08(金) 23:39:14.89ID:DD2Dk6IR 荒らしと会話するな。
会話して、話を続ける者も、荒らしと同じ
荒らしを無視しないと、ずっと荒らされる。
荒らしは無視されるのが、辛い
>>116
Haxe のデフォルト引数は、以下。
? は、null になる
function f(x:int = 0, ?y:String):Void{ }
会話して、話を続ける者も、荒らしと同じ
荒らしを無視しないと、ずっと荒らされる。
荒らしは無視されるのが、辛い
>>116
Haxe のデフォルト引数は、以下。
? は、null になる
function f(x:int = 0, ?y:String):Void{ }
126デフォルトの名無しさん
2017/12/08(金) 23:40:59.47ID:cpGshdOM >>125
了解した
了解した
127デフォルトの名無しさん
2017/12/08(金) 23:42:38.02ID:8wQDKBTk これは自演ですわ
125デフォルトの名無しさん2017/12/08(金) 23:39:14.89ID:DD2Dk6IR
126デフォルトの名無しさん2017/12/08(金) 23:40:59.47ID:cpGshdOM
125デフォルトの名無しさん2017/12/08(金) 23:39:14.89ID:DD2Dk6IR
126デフォルトの名無しさん2017/12/08(金) 23:40:59.47ID:cpGshdOM
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★3 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 高市早苗政権「経済的威圧をしてくる国はリスク」 トランプぴょんぴょん政権さん…… [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 偏差値35大臣「すぐに経済的威圧するところへの依存はリスク」 [834922174]
- 【高市朗報】『劇場版「鬼滅の刃」無限城篇』、ギリのタイミングで中国上映公開し5日間で4億元(87億円)突破!!! [126042664]
- 【朗報】高市、中国からの日本行き空路49万件キャンセルを達成🤩オーバーツーリズム対策の手腕が光る [359965264]
