プログラミング言語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
レス数が1000を超えています。これ以上書き込みはできません。
2017/11/24(金) 00:35:29.31ID:rLZHdQ3Q
2017/11/24(金) 00:36:08.95ID:rLZHdQ3Q
たのしいRuby 第5版、2016
Effective Ruby、2015
メタプログラミング Ruby 第2版、2015
Rubyのしくみ、2014
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
リファクタリング:Rubyエディション、2010
Effective Ruby、2015
メタプログラミング Ruby 第2版、2015
Rubyのしくみ、2014
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
リファクタリング:Rubyエディション、2010
2017/11/24(金) 01:29:56.00ID:rLZHdQ3Q
開発環境
RDE
Windows用IDE
https://ja.osdn.net/projects/sfnet_rubyde/
以下、RDEの使用説明
http://rubyde.sourceforge.net/hiki/ja/FrontPage.html
サクラエディタ
Windows用高機能エディタ
https://ja.osdn.net/projects/sfnet_sakura-editor/
以下、ruby用設定の説明
http://supportdoc.net/support-sakura/ruby.html
Emacs
GNUの高機能エディタ
以下、EmacsでのRuby開発について
https://qiita.com/hiconyan/items/582e27128decfe9d249e
VSCode
マルチOSに対応したマイクロソフト社製のソースコードエディタ
https://code.visualstudio.com/download
RDE
Windows用IDE
https://ja.osdn.net/projects/sfnet_rubyde/
以下、RDEの使用説明
http://rubyde.sourceforge.net/hiki/ja/FrontPage.html
サクラエディタ
Windows用高機能エディタ
https://ja.osdn.net/projects/sfnet_sakura-editor/
以下、ruby用設定の説明
http://supportdoc.net/support-sakura/ruby.html
Emacs
GNUの高機能エディタ
以下、EmacsでのRuby開発について
https://qiita.com/hiconyan/items/582e27128decfe9d249e
VSCode
マルチOSに対応したマイクロソフト社製のソースコードエディタ
https://code.visualstudio.com/download
2017/11/24(金) 01:46:47.26ID:rLZHdQ3Q
RDEのデバッグ機能を使う場合、設定においてデバッグオプションを「-r debug2」から「-r debug」と書き換えて、
ruby付属のdebug.rbを使うようにすること
RDE付属のdebug2.rbはruby1.8用のスクリプトのため、現在のrubyのversionには使えません
ruby付属のdebug.rbを使うようにすること
RDE付属のdebug2.rbはruby1.8用のスクリプトのため、現在のrubyのversionには使えません
2017/11/24(金) 08:36:20.17ID:r53+zpq0
>>1 乙
2017/11/25(土) 15:40:51.82ID:unmm6CwQ
出るφは撃たれる
2017/11/26(日) 20:55:02.73ID:zBIai8/a
前スレにも書いたけど中級者上級者向けのRuby本が必要だと思う
それもruby界隈で一般化された題材じゃなくてまだ広く知れ渡っていない専門的な題材を扱った本を
Openglとか分散VMとか大規模演算rubyとか他にもこういう題材は結構あると思う
それもruby界隈で一般化された題材じゃなくてまだ広く知れ渡っていない専門的な題材を扱った本を
Openglとか分散VMとか大規模演算rubyとか他にもこういう題材は結構あると思う
2017/11/26(日) 21:55:29.31ID:OhY/q4lK
現段階で専門的な題材の書籍を出しても赤字になるだけで厳しいと思う
だったらまだ一般的なプログラミング雑誌で連載する方が見込みはあるんじゃないかなあ
あとは教育機関・研究機関における浸透度合いを高めるところも攻めた方がいい
それと会社のお偉いさんはRubyの案件をさらに増やして
とりあえず日本で有人月面着陸を計画してるからmrubyも載せようぜ
だったらまだ一般的なプログラミング雑誌で連載する方が見込みはあるんじゃないかなあ
あとは教育機関・研究機関における浸透度合いを高めるところも攻めた方がいい
それと会社のお偉いさんはRubyの案件をさらに増やして
とりあえず日本で有人月面着陸を計画してるからmrubyも載せようぜ
2017/11/26(日) 22:38:23.64ID:e8MWK5Ug
初心者向け書籍で裾野を広げまくったからニーズはあるだろ
いわば教科書を読んで基礎を学んで、それらを試せる応用分野をみんな探している所
Rubyと+αの専門性の高いものを出せば、目的はないけど何か読みたいって層にはドンピシャで来る
web系はRailsやWEBrickでこれからも出るし、科学計算や3Dとか教養シリーズみたいな感じで出せば全然いける
いわば教科書を読んで基礎を学んで、それらを試せる応用分野をみんな探している所
Rubyと+αの専門性の高いものを出せば、目的はないけど何か読みたいって層にはドンピシャで来る
web系はRailsやWEBrickでこれからも出るし、科学計算や3Dとか教養シリーズみたいな感じで出せば全然いける
2017/11/26(日) 22:48:35.39ID:LT7w1DpA
データ分析系は
Pythonが流行してるから
そっちで本出すだろ
Rubyだとライブラリと
速度がネックになるから
Pythonが流行してるから
そっちで本出すだろ
Rubyだとライブラリと
速度がネックになるから
2017/11/26(日) 23:21:25.25ID:azT4+Y0L
2017/11/26(日) 23:44:18.39ID:e8MWK5Ug
13デフォルトの名無しさん
2017/11/27(月) 00:33:15.55ID:o0pIkOSz rubyコンとかRuby勉強会とかどんな感じ?
マシンスペック的にはどんなのもっていけばいい?
マシンスペック的にはどんなのもっていけばいい?
2017/11/27(月) 01:59:56.02ID:x+zk8UEy
開発マシンの、CPU は i7、メモリは最低でも 8GB(16GB が望ましい)
Windows 10 pro
WSL・仮想OS で、Linux
Mac の人も多い
Windows 10 pro
WSL・仮想OS で、Linux
Mac の人も多い
15デフォルトの名無しさん
2017/11/27(月) 07:55:32.25ID:gt4bCosJ >>12
Rubyはrails以外に使い道無いから他の事したいなら他の言語覚えろよ
Rubyはrails以外に使い道無いから他の事したいなら他の言語覚えろよ
2017/11/27(月) 12:11:21.22ID:W0wAPtjw
>荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
2017/11/27(月) 13:14:45.58ID:o0pIkOSz
2017/11/27(月) 18:50:34.20ID:agUtcdpR
最近の荒らしはやり方が雑だよな
殆ど単発の自演しか涌かないし
出て来ても「はいはい、荒らしてますよ〜」みたいな嫌々やらされてる感しかない
殆ど単発の自演しか涌かないし
出て来ても「はいはい、荒らしてますよ〜」みたいな嫌々やらされてる感しかない
2017/11/27(月) 19:23:05.97ID:x+zk8UEy
Ruby は、Linux 必須だから、WSL・仮想OS ・Docker などが必須
2つのOS を動かすから、メモリは最大限積む必要があり、
CPU はi7 にすると、16GB まで積める。
i3, i5 だと、8GBまでかな?
それと、たいていのプログラム言語の本の動作条件が、Windows Pro
一般的に、開発用PC は、高スペック。
画面も、フルHD 以上
2つのOS を動かすから、メモリは最大限積む必要があり、
CPU はi7 にすると、16GB まで積める。
i3, i5 だと、8GBまでかな?
それと、たいていのプログラム言語の本の動作条件が、Windows Pro
一般的に、開発用PC は、高スペック。
画面も、フルHD 以上
2017/11/27(月) 21:01:16.83ID:LZyaXIN8
もうこいつどんだけ粘着するのか
2017/11/27(月) 21:44:22.84ID:agUtcdpR
自演も中途半端
もうただ単に定型文を打つだけで満足してて、
荒れたかどうかも気にしなくなってるんだよな
夏休みの宿題やらされてる子供かよ
もうただ単に定型文を打つだけで満足してて、
荒れたかどうかも気にしなくなってるんだよな
夏休みの宿題やらされてる子供かよ
2017/11/27(月) 22:51:47.97ID:rAG/Bhsm
「また自演した」「このスレには自演が居るから」「このスレには自演がいます!いますよ!ほら!」としか書くことがなくなったんだろうなと思う
本当に他人から貰ったレスというのは自分がいちばんよくわかってて、そしてそれは本レスにおいても自演指摘レスにおいてもおそらく極めて少ない
住人の冷めた態度が効いてると表現することはできなくもないが
本当に他人から貰ったレスというのは自分がいちばんよくわかってて、そしてそれは本レスにおいても自演指摘レスにおいてもおそらく極めて少ない
住人の冷めた態度が効いてると表現することはできなくもないが
2017/11/27(月) 23:02:26.98ID:SI4QCwP5
静的型マンセーの粘着がいるのは確かだが、何でもかんでも自演自演言ってるやつもちょっと病的だよな
ちょっとネガティブな発言しただけなのに荒らしの自演認定されたことあるし
ちょっとネガティブな発言しただけなのに荒らしの自演認定されたことあるし
2017/11/27(月) 23:32:26.87ID:W0wAPtjw
上の人は荒らしだからスルーでお願いします
>荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
>荒らしを構ってる奴は荒らし本人の自演だから、構ったりせず見つけ次第、自演を指摘して排除すること
>荒らし叩きに見せて持論を言い出す奴も荒らし本人だから、これも自演を指摘して排除すること
>他の言語について話そうとする奴は、その言語スレから排除されてRubyスレに流れ着いた荒らしだから、これも構ったりせず元の言語スレへ誘導すること
2017/11/27(月) 23:50:32.31ID:9RbRf1jA
2017/11/27(月) 23:53:05.49ID:rAG/Bhsm
>>23
スレ住人が過去に何度か同調したことがあるのだが、
そのせいで自分が こ れ 以 降 何 を し て も 正義で多数派で「こちら側」に居れると勘違いしてしまったらしいのだ
いつか自分が「あちら側」に追いやられていたことに気づく日がくればいいと思う
スレ住人が過去に何度か同調したことがあるのだが、
そのせいで自分が こ れ 以 降 何 を し て も 正義で多数派で「こちら側」に居れると勘違いしてしまったらしいのだ
いつか自分が「あちら側」に追いやられていたことに気づく日がくればいいと思う
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
128デフォルトの名無しさん
2017/12/08(金) 23:47:48.85ID:cpGshdOM >>127
外れ。つーかIDが交互に出てるじゃんw
外れ。つーかIDが交互に出てるじゃんw
129デフォルトの名無しさん
2017/12/08(金) 23:52:28.13ID:ra4CwiYK 荒らし認定完了したな
こんなに何ヶ月も粘着するなら、
ネガキャンや荒らす奴はruby-listやruby-devに書き込んでからスレにレスしてもらう事にするか
本人承認って事で
嫌ならネガキャンや荒らし行為しなければ良いだけだし
こんなに何ヶ月も粘着するなら、
ネガキャンや荒らす奴はruby-listやruby-devに書き込んでからスレにレスしてもらう事にするか
本人承認って事で
嫌ならネガキャンや荒らし行為しなければ良いだけだし
130デフォルトの名無しさん
2017/12/08(金) 23:54:07.78ID:gOxqVObs >>125
知りたいのはキーワード引数の泉源についてです!
知りたいのはキーワード引数の泉源についてです!
131デフォルトの名無しさん
2017/12/08(金) 23:54:25.19ID:cpGshdOM その荒らしだと認めたら、荒らし決定
でも荒らしと認めなかったら、荒らし決定
っていうのやめたら?
ほんと必死すぎだよw
でも荒らしと認めなかったら、荒らし決定
っていうのやめたら?
ほんと必死すぎだよw
132デフォルトの名無しさん
2017/12/08(金) 23:55:18.78ID:cpGshdOM133デフォルトの名無しさん
2017/12/08(金) 23:57:30.52ID:8wQDKBTk135デフォルトの名無しさん
2017/12/08(金) 23:58:49.70ID:cpGshdOM136デフォルトの名無しさん
2017/12/08(金) 23:59:20.20ID:cpGshdOM 俺の書き込みってどれだよ?
そこで俺じゃないIDを持ってくるんだろうなw
そこで俺じゃないIDを持ってくるんだろうなw
137デフォルトの名無しさん
2017/12/08(金) 23:59:55.92ID:ra4CwiYK よし、次はruby-listかruby-dev、好きな方で発言よろ
139デフォルトの名無しさん
2017/12/09(土) 00:01:48.43ID:/arVeZ+Z >>137
そこはRuby初心者スレじゃない
そこはRuby初心者スレじゃない
140デフォルトの名無しさん
2017/12/09(土) 00:03:53.78ID:Q5h5RL93 腹いてーwwwwwwwwwww
141デフォルトの名無しさん
2017/12/09(土) 00:07:27.23ID:/arVeZ+Z 俺はさっきも言ったとおりネガキャンも荒らしもしてないので
逃げる必要もない。だからあえてIDが変わっても
俺だとわかるようにした。
本当の荒らしは逃げる頃だろう
逃げる必要もない。だからあえてIDが変わっても
俺だとわかるようにした。
本当の荒らしは逃げる頃だろう
142デフォルトの名無しさん
2017/12/09(土) 00:18:21.31ID:JRYZIrF0 みんな、君がRubyコミュニティで発言するのを待っているんだけど
143125
2017/12/09(土) 00:25:45.47ID:zmyZSbxv 荒らしと会話するな。
会話して、話を続ける者も、荒らしと同じ
荒らしを無視しないと、ずっと荒らされる。
荒らしは無視されるのが、辛い
会話して、話を続ける者も、荒らしと同じ
荒らしを無視しないと、ずっと荒らされる。
荒らしは無視されるのが、辛い
144デフォルトの名無しさん
2017/12/09(土) 00:26:47.64ID:CCmdYb7I 俺も今いる荒らしに謎の自演認定されたことあるわ(もちろん間違い)
語り口からあぼーんしやすいから関わらないようにしよう
語り口からあぼーんしやすいから関わらないようにしよう
145デフォルトの名無しさん
2017/12/09(土) 00:28:10.11ID:G1+8m8SN ruby-listかruby-devへの発言、
まだですか?
まだですか?
146デフォルトの名無しさん
2017/12/09(土) 00:30:08.15ID:/arVeZ+Z はい、荒らしは無視しますね
147デフォルトの名無しさん
2017/12/09(土) 00:35:37.60ID:bnxFwpIe 俺、ずっと待ってんだけど
発言まだー?
発言まだー?
148デフォルトの名無しさん
2017/12/09(土) 00:36:49.54ID:/arVeZ+Z お前は待ってないだろw
初めてのIDなんだから初めてこのスレで発言した人じゃん?
初めてのIDなんだから初めてこのスレで発言した人じゃん?
149デフォルトの名無しさん
2017/12/09(土) 00:45:21.26ID:xhCLu2lr トリップ消してるし逃げる気まんまんじゃないですか
発言まですか?
発言まですか?
150デフォルトの名無しさん
2017/12/09(土) 00:46:24.36ID:/arVeZ+Z トリップはIDが違っても同じ人物であることを示すための
一時的なものだぞw
一時的なものだぞw
15177
2017/12/09(土) 00:46:47.45ID:zmyZSbxv >>96 で、
>maxCount = strHash.values.max #=> 2
>p strHash.select {|k, v| v == maxCount } #=> {"a"=>2, "c"=>2}
これをもっと簡単に選択できないかな?
ブロックに条件を設定して
Hash の値が、最大のものを取得する(複数可)
>maxCount = strHash.values.max #=> 2
>p strHash.select {|k, v| v == maxCount } #=> {"a"=>2, "c"=>2}
これをもっと簡単に選択できないかな?
ブロックに条件を設定して
Hash の値が、最大のものを取得する(複数可)
152デフォルトの名無しさん
2017/12/09(土) 00:51:08.82ID:/arVeZ+Z つーかなんで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という有名なライブラリだけど)
思ったら、向こうから持ってきた話題かよ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という有名なライブラリだけど)
153デフォルトの名無しさん
2017/12/09(土) 00:56:26.93ID:JRYZIrF0 これで荒らし確定、と
何ヶ月も粘着がスレを荒したため、
これから対策でネガキャン等行為を行う人がいた場合はruby-listやruby-devへ誘導するようにお願いします
自演でIDを変えて荒らをし繰り返すため、加勢するIDも含めて誘導するようお願いします
荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
何ヶ月も粘着がスレを荒したため、
これから対策でネガキャン等行為を行う人がいた場合はruby-listやruby-devへ誘導するようにお願いします
自演でIDを変えて荒らをし繰り返すため、加勢するIDも含めて誘導するようお願いします
荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
154デフォルトの名無しさん
2017/12/09(土) 01:00:53.77ID:+EgCPyTt155デフォルトの名無しさん
2017/12/09(土) 01:02:49.78ID:/arVeZ+Z >>154
> 荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
> 荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
156デフォルトの名無しさん
2017/12/09(土) 01:07:25.12ID:+EgCPyTt つまりは荒らし本人だったわけか、あんなに「自分は違う」とか言っておいて
人を騙す事もなんとも思っていない隣国の住人みたいな奴だなお前
人を騙す事もなんとも思っていない隣国の住人みたいな奴だなお前
157デフォルトの名無しさん
2017/12/09(土) 01:09:01.78ID:/arVeZ+Z 「つまり」どういう理屈なんだろう?
頭悪そう
頭悪そう
158デフォルトの名無しさん
2017/12/09(土) 01:12:50.76ID:v8w6iGdG 発言できないのを自分で認めちゃったかー
祭りが終わっちまったな
というか、自分で墓穴掘った事にも気が付いていなさそう
祭りが終わっちまったな
というか、自分で墓穴掘った事にも気が付いていなさそう
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 まあ追い出した側かもしれんがね
(そんなやつがここに来るか?)
(そんなやつがここに来るか?)
162デフォルトの名無しさん
2017/12/09(土) 01:18:16.38ID:JRYZIrF0 ずっとrubyのコミュで発言を待っているんだけど
まだ?
まだ?
163デフォルトの名無しさん
2017/12/09(土) 01:22:52.71ID:zWazrV9P ああ、これは例の荒らしの特技、連投ですわ
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
まあ追い出した側かもしれんがね
(そんなやつがここに来るか?)
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
まあ追い出した側かもしれんがね
(そんなやつがここに来るか?)
164デフォルトの名無しさん
2017/12/09(土) 01:23:38.62ID:/arVeZ+Z なんでいちいちID変えて言うんだろう?w
165デフォルトの名無しさん
2017/12/09(土) 01:25:42.47ID:JRYZIrF0 今度は見えない敵と戦いだした
たぶん、もうそろそろだと思う
たぶん、もうそろそろだと思う
166デフォルトの名無しさん
2017/12/09(土) 01:26:58.97ID:/arVeZ+Z (いつも通り)俺はなにもしないよ
167デフォルトの名無しさん
2017/12/09(土) 01:37:31.18ID:hbOJEhsM Rubyスレに幼稚なレスが多いのって、Rubyが初心者にオススメ!なんて看板掲げてるからだよな
168召喚の儀
2017/12/09(土) 01:38:00.68ID:sJnBhFUt おい荒らし、餌だ
144デフォルトの名無しさん2017/12/09(土) 00:26:47.64ID:CCmdYb7I
俺も今いる荒らしに謎の自演認定されたことあるわ(もちろん間違い)
語り口からあぼーんしやすいから関わらないようにしよう
144デフォルトの名無しさん2017/12/09(土) 00:26:47.64ID:CCmdYb7I
俺も今いる荒らしに謎の自演認定されたことあるわ(もちろん間違い)
語り口からあぼーんしやすいから関わらないようにしよう
169デフォルトの名無しさん
2017/12/09(土) 01:46:35.31ID:JRYZIrF017077
2017/12/09(土) 01:48:08.68ID:zmyZSbxv >>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つなら、簡単に書けるけど、
複数の場合の方法が、見つからない
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つなら、簡単に書けるけど、
複数の場合の方法が、見つからない
171デフォルトの名無しさん
2017/12/09(土) 01:52:16.23ID:sJnBhFUt これを張っておこう
>単発でネガキャン繰り返してた奴=自演しながら静的静的言い続けてる荒らしは確定か
>次、荒らしがやりそうなのは
>荒らしをスルーして書き込みさせてたIDでの"加勢"かな?
>単発でネガキャン繰り返してた奴=自演しながら静的静的言い続けてる荒らしは確定か
>次、荒らしがやりそうなのは
>荒らしをスルーして書き込みさせてたIDでの"加勢"かな?
172デフォルトの名無しさん
2017/12/09(土) 01:52:18.96ID:/arVeZ+Z >>170
グループ分けしてくれるけど、カウントはしてくれないでしょ?
https://ref.xaio.jp/ruby/classes/enumerable/group_by
Rubyのgroup_byはUnderscore(lodash)でもgroupBy
グループ分けしてくれるけど、カウントはしてくれないでしょ?
https://ref.xaio.jp/ruby/classes/enumerable/group_by
Rubyのgroup_byはUnderscore(lodash)でもgroupBy
173デフォルトの名無しさん
2017/12/09(土) 02:01:56.81ID:hHujkNr/ 俺もruby-listとruby-devで発言をずっと待ってるんだけど、
1、2分でおわることなのに何故、逃げ回ってるの?
つーか、逃げないとか言ってたのに
どうしてそれほど人に嘘をついて騙そうとするの?
1、2分でおわることなのに何故、逃げ回ってるの?
つーか、逃げないとか言ってたのに
どうしてそれほど人に嘘をついて騙そうとするの?
174デフォルトの名無しさん
2017/12/09(土) 02:05:21.82ID:/arVeZ+Z > 荒らしさーん、Rubyコミュでの発言はまだ無理ですか?
荒らしだと自覚がある人はruby-listとruby-devで発言してやってください
荒らしだと自覚がある人はruby-listとruby-devで発言してやってください
175デフォルトの名無しさん
2017/12/09(土) 02:07:57.91ID:JRYZIrF0 >>174
何、逃げ回ってるんだよ
何、逃げ回ってるんだよ
176デフォルトの名無しさん
2017/12/09(土) 02:10:17.22ID:/arVeZ+Z なんで用事がないのに書き込まないといけないんだろう?
不思議だ。荒らせと言ってるのかな?
俺荒らしじゃなしし
不思議だ。荒らせと言ってるのかな?
俺荒らしじゃなしし
177デフォルトの名無しさん
2017/12/09(土) 02:11:37.40ID:hHujkNr/ 荒らしって疑われたら、自演でまともなやり取りして疑いをかわそうとするけど、
遅いよね
普通の人はまともですアピールなんかしない
普通の人は自演なんてできないからね、しかたがない
アピールするのは自演できる荒らしだけ
遅いよね
普通の人はまともですアピールなんかしない
普通の人は自演なんてできないからね、しかたがない
アピールするのは自演できる荒らしだけ
178デフォルトの名無しさん
2017/12/09(土) 02:12:33.36ID:/arVeZ+Z じゃあ自演してないし、俺確実に荒らしじゃないじゃんw
179デフォルトの名無しさん
2017/12/09(土) 02:12:51.59ID:kKoELm7m180デフォルトの名無しさん
2017/12/09(土) 02:13:28.83ID:/arVeZ+Z つーか、JavaScriptスレでも一緒だけど
本当の荒らしってスレに関係ないことをずーっと言ってるんだよ
俺は同じことをJavaScriptスレでも指摘してる。
本当の荒らしは誰かって
本当の荒らしってスレに関係ないことをずーっと言ってるんだよ
俺は同じことをJavaScriptスレでも指摘してる。
本当の荒らしは誰かって
181デフォルトの名無しさん
2017/12/09(土) 02:14:13.53ID:/arVeZ+Z182デフォルトの名無しさん
2017/12/09(土) 02:16:17.79ID:H3vgf6HH183デフォルトの名無しさん
2017/12/09(土) 02:27:37.92ID:JRYZIrF0 結局、いつもの口先だけの荒らしだったか
184デフォルトの名無しさん
2017/12/09(土) 02:43:12.45ID:H3vgf6HH 二代目テンプレつくったよ
粘着する荒らしがスレを何ヶ月も荒らしたため、
ネガキャン等行為を行う人がいた場合はruby-listやruby-devへ誘導するようにお願いします
自演でIDを変えて荒らをし繰り返すため、加勢するIDも含めて誘導するようお願いします
荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
粘着する荒らしがスレを何ヶ月も荒らしたため、
ネガキャン等行為を行う人がいた場合はruby-listやruby-devへ誘導するようにお願いします
自演でIDを変えて荒らをし繰り返すため、加勢するIDも含めて誘導するようお願いします
荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
185デフォルトの名無しさん
2017/12/09(土) 02:45:16.67ID:/arVeZ+Z 透明あぼ〜んにしてみた
これで俺が見えるのは、毎回ID変更してる人だけになったよ
これで俺が見えるのは、毎回ID変更してる人だけになったよ
186デフォルトの名無しさん
2017/12/09(土) 02:46:08.45ID:/arVeZ+Z あとついでにruby-listとruby-devも透明あぼ〜ん行きとなった
187デフォルトの名無しさん
2017/12/09(土) 02:50:44.63ID:/arVeZ+Z 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]
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]
188デフォルトの名無しさん
2017/12/09(土) 02:51:09.43ID:/arVeZ+Z 話を戻してみた
189デフォルトの名無しさん
2017/12/09(土) 02:52:12.45ID:JRYZIrF0 これはありがたい
誰が自演で荒らしてるかすぐに分かるな
誰が自演で荒らしてるかすぐに分かるな
190デフォルトの名無しさん
2017/12/09(土) 02:55:02.92ID:/arVeZ+Z ちなみに2ちゃんねるブラウザを使ってると
新規IDの人はすぐに分かる
新規IDの人はすぐに分かる
191デフォルトの名無しさん
2017/12/09(土) 02:56:08.51ID:Ujqv8+EC >>190
ruby-listかruby-devで発言できたら認めてやるよ
お 前 に 出 来 た ら な
ruby-listかruby-devで発言できたら認めてやるよ
お 前 に 出 来 た ら な
192デフォルトの名無しさん
2017/12/09(土) 03:03:08.34ID:JRYZIrF0 ID:/arVeZ+Zは昨日からずっと逃げ回ってたんだっけ?
さっそくテンプレを張らせて頂く
粘着する荒らしがスレを何ヶ月も荒らしたため、
ネガキャン等行為を行う人がいた場合はruby-listやruby-devへ誘導するようにお願いします
自演でIDを変えて荒らをし繰り返すため、加勢するIDも含めて誘導するようお願いします
荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
さっそくテンプレを張らせて頂く
粘着する荒らしがスレを何ヶ月も荒らしたため、
ネガキャン等行為を行う人がいた場合はruby-listやruby-devへ誘導するようにお願いします
自演でIDを変えて荒らをし繰り返すため、加勢するIDも含めて誘導するようお願いします
荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
19377
2017/12/09(土) 03:15:35.50ID:zmyZSbxv (acc, b) => { acc <= b }
こういう判別関数があったとして、求める答えが、1つだけなら簡単。
例えば、入力が[3, 2, 3, 5]でも、
バッファに持っている値は、[3, 3, 3, 5]の順番で、1つだけで済むけど、
答えが複数可能になると、[3, 3, [3, 3], 5]の順番で、
途中でバッファに複数を持つ必要がある
こういう処理が難しいから、答えを1つしか返さないのだろう
あるレコードの列の値、Hash の値、あるオブジェクトのプロパティの値が、
最大のものを求める(複数可能)という、簡単な関数が、意外と見つからない
こういう判別関数があったとして、求める答えが、1つだけなら簡単。
例えば、入力が[3, 2, 3, 5]でも、
バッファに持っている値は、[3, 3, 3, 5]の順番で、1つだけで済むけど、
答えが複数可能になると、[3, 3, [3, 3], 5]の順番で、
途中でバッファに複数を持つ必要がある
こういう処理が難しいから、答えを1つしか返さないのだろう
あるレコードの列の値、Hash の値、あるオブジェクトのプロパティの値が、
最大のものを求める(複数可能)という、簡単な関数が、意外と見つからない
194デフォルトの名無しさん
2017/12/09(土) 03:23:13.41ID:/arVeZ+Z 個人的には二回やればいいと思うんだよね。
多分一回でやったほうが速いと思ってるんだろうけど
ループの中で複雑なことをやるとCPUのキャッシュから溢れてしまうので
シンプルな処理のループを二回やるほうが速いのではないかって思ってる
あとマルチコアだと別々に処理できるかもしれないしね
まあ実際に検証はしてないんだけどさ
多分一回でやったほうが速いと思ってるんだろうけど
ループの中で複雑なことをやるとCPUのキャッシュから溢れてしまうので
シンプルな処理のループを二回やるほうが速いのではないかって思ってる
あとマルチコアだと別々に処理できるかもしれないしね
まあ実際に検証はしてないんだけどさ
195デフォルトの名無しさん
2017/12/09(土) 03:27:37.70ID:2nAyZadj ID:/arVeZ+Zって何をやったの?
196デフォルトの名無しさん
2017/12/09(土) 03:30:23.07ID:/arVeZ+Z JavaScriptスレでlodash使ったコードを書いたよ
それを持って>>77がこのスレに来たようだ
それを持って>>77がこのスレに来たようだ
197デフォルトの名無しさん
2017/12/09(土) 03:32:23.28ID:JRYZIrF0 荒らしじゃ無いよアピールしてるけど、
ここ数ヶ月、Rubyスレに粘着して自演で荒らし行為を繰り返してた荒らし本人
それで昨日、皆がブチ切れて、
ruby-listかruby-devのどちらかで発言して本人確認しろって事になったんだけど
ID:/arVeZ+Zが逃げ回り、その道中もアホな自演で墓穴堀りまくって、今に至る
ここ数ヶ月、Rubyスレに粘着して自演で荒らし行為を繰り返してた荒らし本人
それで昨日、皆がブチ切れて、
ruby-listかruby-devのどちらかで発言して本人確認しろって事になったんだけど
ID:/arVeZ+Zが逃げ回り、その道中もアホな自演で墓穴堀りまくって、今に至る
198デフォルトの名無しさん
2017/12/09(土) 03:41:01.56ID:2nAyZadj もしかして最近の単発ネガキャンもID:/arVeZ+Zなの?
199デフォルトの名無しさん
2017/12/09(土) 04:04:00.12ID:JRYZIrF0 うん
昨日のレスとか見ると分るけど、
連投する癖とかまんまで今日のIDは
ID:zmyZSbxv
ID:/arVeZ+Z
ID:kKoELm7m
ID:hbOJEhsM
ID:CCmdYb7I
今は、昨日の自演で使った別IDと会話ごっこしてる
それで、ID:/arVeZ+Z がRubyコミュニティで発言できなかったから皆で、
今後の対策として荒らし行為やネガキャンを行う人がいた場合は、
ruby-listとruby-devに誘導する事になった
昨日のレスとか見ると分るけど、
連投する癖とかまんまで今日のIDは
ID:zmyZSbxv
ID:/arVeZ+Z
ID:kKoELm7m
ID:hbOJEhsM
ID:CCmdYb7I
今は、昨日の自演で使った別IDと会話ごっこしてる
それで、ID:/arVeZ+Z がRubyコミュニティで発言できなかったから皆で、
今後の対策として荒らし行為やネガキャンを行う人がいた場合は、
ruby-listとruby-devに誘導する事になった
20077
2017/12/09(土) 04:10:47.76ID:zmyZSbxv >>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
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
201デフォルトの名無しさん
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
>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
202デフォルトの名無しさん
2017/12/09(土) 04:52:18.43ID:ptiAgEOA もういいよ
当分は何も出来ないだろうし又ネガキャンや荒らしやって来たらテンプレでとっちめまくるから
当分は何も出来ないだろうし又ネガキャンや荒らしやって来たらテンプレでとっちめまくるから
203デフォルトの名無しさん
2017/12/09(土) 04:53:26.04ID:/arVeZ+Z >>200
二回舐めても良いんじゃない?って思ってる
メモリはキャッシュに入るだろうし、
ループとかCPUの投機的実行が当たりやすいだろうから
そんなに時間変わらないんじゃないかって思ってる
検証してみてくれ
二回舐めても良いんじゃない?って思ってる
メモリはキャッシュに入るだろうし、
ループとかCPUの投機的実行が当たりやすいだろうから
そんなに時間変わらないんじゃないかって思ってる
検証してみてくれ
204デフォルトの名無しさん
2017/12/09(土) 05:02:36.18ID:ptiAgEOA そうやって地道にしっかりレスを稼げ
205デフォルトの名無しさん
2017/12/09(土) 05:11:54.17ID:JRYZIrF0 将来、型システムが導入される事になったらやっぱり型もオブジェクトになんのかな
型の呼び出しや定義なんかもRubyっぽくメタプログラミングやワンライナーで書けたり
型の呼び出しや定義なんかもRubyっぽくメタプログラミングやワンライナーで書けたり
206デフォルトの名無しさん
2017/12/09(土) 05:53:50.28ID:PWfKTZji 事前エラーだー最適化だー高速化だーっと言って型を検討してるわけだが、
今更テンプレートのような型マクロとかテキストマクロの時代に戻るわけではないだろうし
Ruby的に下のようなぶっとんだ書き方も無きにしも非ず
def foo(x : (@flag ? String : Array) , y : (@flag ? String : Array) )
p x,y
end
まぁ、これだと事前チェックの時に実行時情報が必要になるから何か仕掛けが必要なんだが
今更テンプレートのような型マクロとかテキストマクロの時代に戻るわけではないだろうし
Ruby的に下のようなぶっとんだ書き方も無きにしも非ず
def foo(x : (@flag ? String : Array) , y : (@flag ? String : Array) )
p x,y
end
まぁ、これだと事前チェックの時に実行時情報が必要になるから何か仕掛けが必要なんだが
207デフォルトの名無しさん
2017/12/09(土) 07:21:40.66ID:JRYZIrF0208デフォルトの名無しさん
2017/12/09(土) 08:54:23.61ID:puk20IRY >>205
型もオブジェクトになんのかなというか、すでにRubyには
クラスと呼ばれる(部分型付された)型が存在し、知られているように
クラスはClassクラスのインスタンス、いわゆるオブジェクトだね
で、型システムの導入で変わるのは、オブジェクトがメソッドを
受け付けた時に行われる検査が実行時のみであった(動的型付け)のが
どこまで実行前にできる(静的型付け)ようになるのか?という議論になる
そして静的片付けには型(=クラス)をコードで宣言する明示的片付けと
宣言しない暗黙的片付けの二種類があって、>>206は前者に該当する
ここでMatzがたびたび主張している「型を書きたくない」という方針は
後者の暗黙的片付けであり、これは「Rubyの構文を大きく変更しない」
という別のMatzの方針とも一貫している
いいかえると型宣言構文の新規追加が必須な明示的片付けは採用したくないという意味
まとめると、理想的にはRubyユーザーから見ると既存の構文はなんら変更もなく
(=互換性を維持したまま)型システム導入の利点を享受できるようになる
ただしこれはあくまで理想的な姿であって、技術的に高度な型システムの導入において
どこまで妥協できる/する/すべきと言った様々な取捨選択が議論されているところ
型もオブジェクトになんのかなというか、すでにRubyには
クラスと呼ばれる(部分型付された)型が存在し、知られているように
クラスはClassクラスのインスタンス、いわゆるオブジェクトだね
で、型システムの導入で変わるのは、オブジェクトがメソッドを
受け付けた時に行われる検査が実行時のみであった(動的型付け)のが
どこまで実行前にできる(静的型付け)ようになるのか?という議論になる
そして静的片付けには型(=クラス)をコードで宣言する明示的片付けと
宣言しない暗黙的片付けの二種類があって、>>206は前者に該当する
ここでMatzがたびたび主張している「型を書きたくない」という方針は
後者の暗黙的片付けであり、これは「Rubyの構文を大きく変更しない」
という別のMatzの方針とも一貫している
いいかえると型宣言構文の新規追加が必須な明示的片付けは採用したくないという意味
まとめると、理想的にはRubyユーザーから見ると既存の構文はなんら変更もなく
(=互換性を維持したまま)型システム導入の利点を享受できるようになる
ただしこれはあくまで理想的な姿であって、技術的に高度な型システムの導入において
どこまで妥協できる/する/すべきと言った様々な取捨選択が議論されているところ
209デフォルトの名無しさん
2017/12/09(土) 08:58:19.29ID:Xp00eVEZ >>207
そうじゃない
この場合、xの型は String | Array として扱うべき
フロー解析によって、その後コード上で flagで分岐した時点でthenブロックではString, elseブロックではArrayと確定する
TypeScriptはそういう方式
そうじゃない
この場合、xの型は String | Array として扱うべき
フロー解析によって、その後コード上で flagで分岐した時点でthenブロックではString, elseブロックではArrayと確定する
TypeScriptはそういう方式
210デフォルトの名無しさん
2017/12/09(土) 14:15:40.37ID:HCMuc4Gp >>208
なるほど、良くまとまってますな
要するに、もはや静的型チェックが有ったほうが良かったのは
社会主義が資本主義に負けたのと同じぐらい分かりやすいレベルで
誰の目にも実験的/経験的に明らかというか
動的型のプロパガンダ的な嘘がバレて広く知れ渡ったので
今までは北朝鮮みたいにあんな調子で押し通していたが
いよいよ立ち行かないので、あれだけ言っといて今更恥ずかしいことではあるが
恥を忍んでRuby3.0で静的型チェックを入れたい
という背景があるってことだね
で、ここまではRuby触ってる人なら当たり前の常識なわけだが
もし、明示的な型宣言を文法に入れるなら、変数宣言をするということになり
変数宣言をするということは、型だけじゃなく変数のスコープも宣言出来るということで
CやJavaなどで見られる、いわゆる普通のレキシカルスコープを採用できるし
「@」のような気職の悪いものは要らなかったという結論になるわけだな
なんで変数宣言を入れるということは、静的型に白旗を上げるということだけではなく
「変数宣言を変数への最初の代入で代用するから変数宣言と代入の文法的区別がつかない」
という文法的問題、気色の悪いスコープについても意味が無かったということで
おおよそ変数周りのすべてて雪崩的に設計ミスだったということになる
ここまで壮大に間違ったなら、一から作り直した方が良いんだろうが
それならユーザー視点で考えると、間違ってない他の真っ当な言語を使えばよい話になるので
Rubyは大きく間違っているが、もはや間違ったまま行くしかない
とMatzは考えているってのが>>208なわけか
(流石のMatzもこの程度のことに気が付いていないとは思えない、言わないだけで)
ただ宗教的な感覚も絡んできて、誤った考え方でもある一定の信者はつくもので
Rubyはあえてそこを狙っているわけで(Matzはインタビューなどで逆張り逆張りと良く言っていた)
初めから分かっててわざと間違えた可能性もあるし、あるいは両方か
まぁペテン師だ
なるほど、良くまとまってますな
要するに、もはや静的型チェックが有ったほうが良かったのは
社会主義が資本主義に負けたのと同じぐらい分かりやすいレベルで
誰の目にも実験的/経験的に明らかというか
動的型のプロパガンダ的な嘘がバレて広く知れ渡ったので
今までは北朝鮮みたいにあんな調子で押し通していたが
いよいよ立ち行かないので、あれだけ言っといて今更恥ずかしいことではあるが
恥を忍んでRuby3.0で静的型チェックを入れたい
という背景があるってことだね
で、ここまではRuby触ってる人なら当たり前の常識なわけだが
もし、明示的な型宣言を文法に入れるなら、変数宣言をするということになり
変数宣言をするということは、型だけじゃなく変数のスコープも宣言出来るということで
CやJavaなどで見られる、いわゆる普通のレキシカルスコープを採用できるし
「@」のような気職の悪いものは要らなかったという結論になるわけだな
なんで変数宣言を入れるということは、静的型に白旗を上げるということだけではなく
「変数宣言を変数への最初の代入で代用するから変数宣言と代入の文法的区別がつかない」
という文法的問題、気色の悪いスコープについても意味が無かったということで
おおよそ変数周りのすべてて雪崩的に設計ミスだったということになる
ここまで壮大に間違ったなら、一から作り直した方が良いんだろうが
それならユーザー視点で考えると、間違ってない他の真っ当な言語を使えばよい話になるので
Rubyは大きく間違っているが、もはや間違ったまま行くしかない
とMatzは考えているってのが>>208なわけか
(流石のMatzもこの程度のことに気が付いていないとは思えない、言わないだけで)
ただ宗教的な感覚も絡んできて、誤った考え方でもある一定の信者はつくもので
Rubyはあえてそこを狙っているわけで(Matzはインタビューなどで逆張り逆張りと良く言っていた)
初めから分かっててわざと間違えた可能性もあるし、あるいは両方か
まぁペテン師だ
211デフォルトの名無しさん
2017/12/09(土) 14:50:03.37ID:HCMuc4Gp まぁ単純に考えても、今更、静的型を導入するぐらいなら
初めから静的型にしておけばよかったのは言うまでもない
仮に静的型が最近出てきた考え方でRubyを開発した当時は知りもしなかった
というなら仕方がないが、静的型は昔からあったし、RubyはCで書かれたわけで
知らなかったというのはあり得ないし、むしろ自分は静的型の恩恵を受けて
Rubyを開発したわけであって
そこは明確な意思をもって、あえて動的型にしたわけだから、今更静的型にするのはどうよ
(なら、初めからしておけよ、と思うだろ?)
ただもしRubyが静的型だったのならC/C++やJavaと競合して生き残れる理屈が無かったし
それもあって動的型にした部分もあるんだろうし
あまり言いたくはないが、そういうのを世間一般では悪魔に魂を売ったとかと表現して
それでカルト宗教というかドーピングというか、まぁ社民党にも支持者はいるわけで
そこを狙ったんなら、今更クリーンにっつっても、ブレるっつーか、民進党の前原代表みたいになるし
メジャー行けばもっと大きな勢力がひしめいてるわけだから
今まで通りマイナーメジャーでやってくのが良いんじゃね?と思わんでもない
いやぁこれは、メジャーマイナーとマイナーメジャーのどちらのほうが良いのかという
Pythonはメジャーマイナーを狙いに行ってるようなので
一つ席が空いたという部分も含めてRubyはマイナーメジャーを狙う感じなんだろう
Matzが好きな逆張り的な意味で
初めから静的型にしておけばよかったのは言うまでもない
仮に静的型が最近出てきた考え方でRubyを開発した当時は知りもしなかった
というなら仕方がないが、静的型は昔からあったし、RubyはCで書かれたわけで
知らなかったというのはあり得ないし、むしろ自分は静的型の恩恵を受けて
Rubyを開発したわけであって
そこは明確な意思をもって、あえて動的型にしたわけだから、今更静的型にするのはどうよ
(なら、初めからしておけよ、と思うだろ?)
ただもしRubyが静的型だったのならC/C++やJavaと競合して生き残れる理屈が無かったし
それもあって動的型にした部分もあるんだろうし
あまり言いたくはないが、そういうのを世間一般では悪魔に魂を売ったとかと表現して
それでカルト宗教というかドーピングというか、まぁ社民党にも支持者はいるわけで
そこを狙ったんなら、今更クリーンにっつっても、ブレるっつーか、民進党の前原代表みたいになるし
メジャー行けばもっと大きな勢力がひしめいてるわけだから
今まで通りマイナーメジャーでやってくのが良いんじゃね?と思わんでもない
いやぁこれは、メジャーマイナーとマイナーメジャーのどちらのほうが良いのかという
Pythonはメジャーマイナーを狙いに行ってるようなので
一つ席が空いたという部分も含めてRubyはマイナーメジャーを狙う感じなんだろう
Matzが好きな逆張り的な意味で
212デフォルトの名無しさん
2017/12/09(土) 15:20:28.57ID:IaSBe7Pk これが本当の荒らし
213デフォルトの名無しさん
2017/12/09(土) 16:18:52.76ID:jtqcr+t2214デフォルトの名無しさん
2017/12/09(土) 16:21:32.60ID:jtqcr+t2 嘘で押し通すというのは
トランプ大統領がエルサレムの首都認定が
世界中からバッシングを浴びたと報道しているやつだ。これが嘘
本来ならエルサレムが首都になって嬉しいという声があるはずなのに
そういう報道が一切ない。
トランプの大統領選前と同じで嘘を押しとうそうとしているわ。
トランプ大統領がエルサレムの首都認定が
世界中からバッシングを浴びたと報道しているやつだ。これが嘘
本来ならエルサレムが首都になって嬉しいという声があるはずなのに
そういう報道が一切ない。
トランプの大統領選前と同じで嘘を押しとうそうとしているわ。
215デフォルトの名無しさん
2017/12/09(土) 16:48:54.96ID:HCMuc4Gp 「静的型があったほうが良かったのは分かりやすいレベルで明らか」
それを俺の頭の中だけの話で嘘っぱちだというのは勝手だが
ではなんで動的型の権化みたいなRubyで
次期メジャーバージョンアップで静的型などという話が持ち上がってるんだ?
となるわなぁ
少なくとも次期Rubyを策定している連中はそう考えてるわけで
とりあえずRubyにおいては真実だし、このスレ的にはそれ以上の論証は要らないんだが
一般的に言っても最近出てきた目ぼしい言語は当たり前に静的型だし
つまり嘘で押し通そうとしているのはお前だが
ではなぜ嘘をついたのか?目的はなんだ?
身を守るための嘘なら仕方ないんだが、こんな掲示板でそんな必要ないし
利害関係のない掲示板でなんで嘘をつきまわるんだ?
それを俺の頭の中だけの話で嘘っぱちだというのは勝手だが
ではなんで動的型の権化みたいなRubyで
次期メジャーバージョンアップで静的型などという話が持ち上がってるんだ?
となるわなぁ
少なくとも次期Rubyを策定している連中はそう考えてるわけで
とりあえずRubyにおいては真実だし、このスレ的にはそれ以上の論証は要らないんだが
一般的に言っても最近出てきた目ぼしい言語は当たり前に静的型だし
つまり嘘で押し通そうとしているのはお前だが
ではなぜ嘘をついたのか?目的はなんだ?
身を守るための嘘なら仕方ないんだが、こんな掲示板でそんな必要ないし
利害関係のない掲示板でなんで嘘をつきまわるんだ?
216デフォルトの名無しさん
2017/12/09(土) 17:32:32.99ID:IaSBe7Pk これが本当の荒らし
217デフォルトの名無しさん
2017/12/09(土) 17:50:31.43ID:yzhjOMYr ID:/arVeZ+Z
おい糞野郎
臭い自演してないで失せろボケ
おい糞野郎
臭い自演してないで失せろボケ
218デフォルトの名無しさん
2017/12/09(土) 17:58:34.44ID:/arVeZ+Z まーた俺と勘違いしてる
219デフォルトの名無しさん
2017/12/09(土) 17:59:43.05ID:yzhjOMYr な、召喚の儀で呼べただろ?
220デフォルトの名無しさん
2017/12/09(土) 18:31:50.87ID:ojM2xQr7221デフォルトの名無しさん
2017/12/09(土) 19:02:37.47ID:JLcgGjoy222デフォルトの名無しさん
2017/12/09(土) 19:04:59.03ID:/arVeZ+Z223デフォルトの名無しさん
2017/12/09(土) 19:05:48.98ID:/arVeZ+Z224デフォルトの名無しさん
2017/12/09(土) 19:10:08.10ID:JRYZIrF0 昨日も今日もID:/arVeZ+Zが叩かれてる間はネガキャンも静的云々も出てこなかったね
なんでかなー(棒)
なんでかなー(棒)
225デフォルトの名無しさん
2017/12/09(土) 19:16:15.66ID:JLcgGjoy226デフォルトの名無しさん
2017/12/09(土) 19:39:46.57ID:CViON1aA やっぱ静的型だけどdynamicがあるC#がナンバーワン!
227デフォルトの名無しさん
2017/12/09(土) 19:41:28.53ID:Avl0kHLY スレ進みすぎだなおい
何があった?
何があった?
228デフォルトの名無しさん
2017/12/09(土) 20:01:45.91ID:PLdtTEIG >>227
1.rubyをネガキャン(個人的には荒らしとまではいかない程度)する人が元から住みついていた
2.自分に対して否定的な意見は全て自演と決めつける狂人が発生(JRYZIrF0 [や単発ID)
弁護士云々言ったりコピペ連投したりする人
3.せっかく質問があっても2のせいで流れてもうわかんね ← 今ここ
1.rubyをネガキャン(個人的には荒らしとまではいかない程度)する人が元から住みついていた
2.自分に対して否定的な意見は全て自演と決めつける狂人が発生(JRYZIrF0 [や単発ID)
弁護士云々言ったりコピペ連投したりする人
3.せっかく質問があっても2のせいで流れてもうわかんね ← 今ここ
229デフォルトの名無しさん
2017/12/09(土) 20:03:09.41ID:xil3RrnV >>225
いっつも絡んでるこいつが一番うざい
いっつも絡んでるこいつが一番うざい
230デフォルトの名無しさん
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に誘導する事になった
で、分りやすい自演を繰り返して誤魔化すからruby-listかruby-devで発言して本人確認しろって事になった
それらからID:/arVeZ+Zが絶賛逃げ回ってる所
必死チェッカーで調べてみ?
これぞ粘着の本領だって分るレス数だから
今後の対策としてはID:/arVeZ+Zを念頭に荒らし行為やネガキャンを行う人がいた場合はruby-listとruby-devに誘導する事になった
231デフォルトの名無しさん
2017/12/09(土) 20:10:24.80ID:xil3RrnV 荒らしと言われてる方はまだrubyの話してるけど、それに反応してる方がただのキチガイになって迷惑すぎる
あーまた馬鹿なこと言ってるわって相手にしないでおくか、rubyの話としてマジレスするかのどっちかにしなさい
あーまた馬鹿なこと言ってるわって相手にしないでおくか、rubyの話としてマジレスするかのどっちかにしなさい
232デフォルトの名無しさん
2017/12/09(土) 20:15:40.04ID:PLdtTEIG ruby?-d?ev云々いって/?a?r?V?e?Z?+?Zに絡んでいる人(全部同一人物。もしくは多くて2人程度と思われる)が荒らしなのでスルーしましょう
233デフォルトの名無しさん
2017/12/09(土) 20:20:14.45ID:ZQM0F59y >>223が急に発言しなくなっただろ?
これで自演できてるつもりなんだよ本人は
これで自演できてるつもりなんだよ本人は
234デフォルトの名無しさん
2017/12/09(土) 20:29:52.03ID:zmyZSbxv 荒らしに、レスを付けるな。
荒らしと会話するな。
荒らしが、ずっと居座るだけ
この板では、何かを答えても、
「知らんくせに答えるな」ってレスが付いて、
「そうだよな」って、すぐにそのレスに賛同する、レスが付く
荒らしに、すぐに賛同する奴が、いる訳がないのに。
それが、どんな深夜にも起こる
とにかく単発ID の奴は、荒らしと見て、スルーする事!
荒らしと会話するな。
荒らしが、ずっと居座るだけ
この板では、何かを答えても、
「知らんくせに答えるな」ってレスが付いて、
「そうだよな」って、すぐにそのレスに賛同する、レスが付く
荒らしに、すぐに賛同する奴が、いる訳がないのに。
それが、どんな深夜にも起こる
とにかく単発ID の奴は、荒らしと見て、スルーする事!
235デフォルトの名無しさん
2017/12/09(土) 20:32:50.99ID:ECkYCn8N >>232
お前のギャグさいこーwwwww
お前のギャグさいこーwwwww
236デフォルトの名無しさん
2017/12/09(土) 20:43:26.43ID:/arVeZ+Z237デフォルトの名無しさん
2017/12/09(土) 20:44:08.67ID:/arVeZ+Z238デフォルトの名無しさん
2017/12/09(土) 20:46:52.18ID:/arVeZ+Z なんだ?俺が来た途端黙ったなw
239デフォルトの名無しさん
2017/12/09(土) 20:48:58.33ID:/arVeZ+Z IDを変えて逃げたとか思ってたんだろうなw
だからID変えてないことがわかると
恥ずかしくなって発言できなくなってしまう
それにお前は毎回IDを変えてるよね(誰のことかわかるよね?w
だからID変えてないことがわかると
恥ずかしくなって発言できなくなってしまう
それにお前は毎回IDを変えてるよね(誰のことかわかるよね?w
240デフォルトの名無しさん
2017/12/09(土) 20:49:36.99ID:ECkYCn8N 223が自演できるのは書き込み時間からわかったけど
荒らしてたのは本当にこいつなの?
荒らしてたのは本当にこいつなの?
241デフォルトの名無しさん
2017/12/09(土) 20:51:29.23ID:/arVeZ+Z IDは変えたら戻すことはできないから自演してない証拠になるからな
その反面、毎回IDを変えることはできるから
違うIDで同じようなことを言ってると自演とばれるわけだ
その反面、毎回IDを変えることはできるから
違うIDで同じようなことを言ってると自演とばれるわけだ
242デフォルトの名無しさん
2017/12/09(土) 20:58:58.11ID:zmyZSbxv JavaScript のスレでも、やってる。
荒らしは、全部のスレで、いちゃもんを付けてくる。
そのくせ、プログラミングの話をした事はない
他人のレスを、やたら探したりする。
他人のレスを探しても、1円にもならないのに
荒らしは、仕事した事がないはず
荒らしは、全部のスレで、いちゃもんを付けてくる。
そのくせ、プログラミングの話をした事はない
他人のレスを、やたら探したりする。
他人のレスを探しても、1円にもならないのに
荒らしは、仕事した事がないはず
243デフォルトの名無しさん
2017/12/09(土) 21:03:22.23ID:/arVeZ+Z ライブラリの話をすんなってうるさいアイツのことだなw
同一人物でなければ、荒らしの脳内構造は一緒ってことなんだろう
スレと関係ない話しかしない
俺はもちろんスレと関係ある話をした
同一人物でなければ、荒らしの脳内構造は一緒ってことなんだろう
スレと関係ない話しかしない
俺はもちろんスレと関係ある話をした
244デフォルトの名無しさん
2017/12/09(土) 21:17:18.85ID:ECkYCn8N ごめん、223が荒らしだったわ
245デフォルトの名無しさん
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が荒らしだったわ
お前ぐらいしかそんなこと言ってない
何度も言っても、こうしてバラされたら効果ゼロ
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が荒らしだったわ
246デフォルトの名無しさん
2017/12/09(土) 21:49:29.83ID:KAnpleQL せいぜい20レス/日のこのスレで彼は今も我らのために見えない敵と戦ってらっしゃるのだ
以下テンプレにいくつか追加
>粘着する荒らしがスレを何ヶ月も荒らしたため、
>ネガキャン、逸脱した連投、荒らし行為を行う人がいた場合は対策としてruby-listやruby-devへ誘導するようにお願いします
>自演でIDを変えて荒らしを繰り返すため、加勢するIDも含めて誘導するようお願いします
>
>荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
>そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
以下テンプレにいくつか追加
>粘着する荒らしがスレを何ヶ月も荒らしたため、
>ネガキャン、逸脱した連投、荒らし行為を行う人がいた場合は対策としてruby-listやruby-devへ誘導するようにお願いします
>自演でIDを変えて荒らしを繰り返すため、加勢するIDも含めて誘導するようお願いします
>
>荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
>そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
247デフォルトの名無しさん
2017/12/09(土) 22:18:52.50ID:HCMuc4Gp 俺は極たま〜〜に静的型どうのこうのの長文を書き込むことがあるぐらいで
言うほど連続投稿しないし、毎日書き込んだりしないし、チラ裏の日記みたいな感じで
特にここ最近半月ほどはスレが荒れていたこともあって何も書き込まないようにしてたんだが
過剰に反応して何にでも荒らし認定する一部のアレな人が全然関係ない人を攻撃していて
攻撃された人は気の毒だなぁとか思いながら、変なことになってるなぁと傍観していたんだが
その流れがあまりにもアレすぎたのか、いよいよ本物が居付いてしまったようだけど
自業自得とはいえ残念なことだな
他の真っ当な住人からしたら随分迷惑なことだろうし、俺も嫌かなぁ
結果的には俺の書き込みに過剰に反応する必要は無かったし
元々荒らしと言われるほど、ひどい内容や投稿スタイルではなかったはずなんだが
(ここが何処かを考えれば、通常、それぐらいは普通にあり得るかなぁという範囲)
実際には過剰反応している奴が意味のない書き込みで一番このスレを荒らしていたし
そのことは他の住人からもちょくちょく指摘が入ってたと思うんだがねぇ
というか、そのあいだ俺は書き込んでなかったんだが・・・しかしまぁ結果的にこの事態だわ
俺も勉強になって、自分たちに都合の悪い事実を、荒らし認定などで黙殺しようとしても
事実を黙殺する歪のようなもので、もっと酷いことになるんだな
嘘が雪だるま式に広がって〜とよく似ている
こういうときは沈黙は金だね
言うほど連続投稿しないし、毎日書き込んだりしないし、チラ裏の日記みたいな感じで
特にここ最近半月ほどはスレが荒れていたこともあって何も書き込まないようにしてたんだが
過剰に反応して何にでも荒らし認定する一部のアレな人が全然関係ない人を攻撃していて
攻撃された人は気の毒だなぁとか思いながら、変なことになってるなぁと傍観していたんだが
その流れがあまりにもアレすぎたのか、いよいよ本物が居付いてしまったようだけど
自業自得とはいえ残念なことだな
他の真っ当な住人からしたら随分迷惑なことだろうし、俺も嫌かなぁ
結果的には俺の書き込みに過剰に反応する必要は無かったし
元々荒らしと言われるほど、ひどい内容や投稿スタイルではなかったはずなんだが
(ここが何処かを考えれば、通常、それぐらいは普通にあり得るかなぁという範囲)
実際には過剰反応している奴が意味のない書き込みで一番このスレを荒らしていたし
そのことは他の住人からもちょくちょく指摘が入ってたと思うんだがねぇ
というか、そのあいだ俺は書き込んでなかったんだが・・・しかしまぁ結果的にこの事態だわ
俺も勉強になって、自分たちに都合の悪い事実を、荒らし認定などで黙殺しようとしても
事実を黙殺する歪のようなもので、もっと酷いことになるんだな
嘘が雪だるま式に広がって〜とよく似ている
こういうときは沈黙は金だね
248デフォルトの名無しさん
2017/12/09(土) 22:23:27.43ID:fpEjaZID スレの終末感がまさにRubyの現状を象徴しているかのようだな
249デフォルトの名無しさん
2017/12/09(土) 22:25:40.22ID:jtqcr+t2 悪貨が良貨を駆逐するってやつだ
良心的なやつがここにいても
アホが次から次に湧いてくるから
心がおられる。
そしてgoとかPythonとかkotolinとかにいってしまう。
良心的なやつがここにいても
アホが次から次に湧いてくるから
心がおられる。
そしてgoとかPythonとかkotolinとかにいってしまう。
250デフォルトの名無しさん
2017/12/09(土) 22:26:53.94ID:/arVeZ+Z > そしてgoとかPythonとかkotolinとかにいってしまう。
それこそまさに悪貨が良貨を駆逐するってやつだな
今他の何かを駆逐して生き残ってるやつは全部悪貨なんだよ!
それこそまさに悪貨が良貨を駆逐するってやつだな
今他の何かを駆逐して生き残ってるやつは全部悪貨なんだよ!
251デフォルトの名無しさん
2017/12/09(土) 22:28:02.68ID:/arVeZ+Z252デフォルトの名無しさん
2017/12/09(土) 23:10:08.11ID:PLdtTEIG NGワードになったんでideoneにIDを列挙しておくけど
https://ideone.com/sMHbO4
ID:/arVeZ+Zを誹謗する48個のレスはID:JRYZIrF0を除いて全部のIDがほぼ単発かつ、単発でないものは全て安価がかぶらない
全部ID:JRYZIrF0が自演してることはほぼ明らか
こいつ病気なんじゃねえの
このスレの癌だよ
https://ideone.com/sMHbO4
ID:/arVeZ+Zを誹謗する48個のレスはID:JRYZIrF0を除いて全部のIDがほぼ単発かつ、単発でないものは全て安価がかぶらない
全部ID:JRYZIrF0が自演してることはほぼ明らか
こいつ病気なんじゃねえの
このスレの癌だよ
253デフォルトの名無しさん
2017/12/09(土) 23:25:49.93ID:/arVeZ+Z 乙w
254デフォルトの名無しさん
2017/12/09(土) 23:30:09.58ID:lAUVYRHS Setクラスってどういうときに使いますか?
Arrayクラスインスタンスにuniqかけて集合だと考えてたけど違うのではと思ったもので。
Arrayクラスインスタンスにuniqかけて集合だと考えてたけど違うのではと思ったもので。
255デフォルトの名無しさん
2017/12/09(土) 23:58:52.32ID:JRYZIrF0 ここまで自演
----------------------------
----------------------------
256デフォルトの名無しさん
2017/12/09(土) 23:59:53.67ID:/arVeZ+Z あ、日付が変わるw
257デフォルトの名無しさん
2017/12/10(日) 00:00:06.57ID:ML6lMJWk 変わったーw
258デフォルトの名無しさん
2017/12/10(日) 00:02:47.92ID:nDrrD3Ex あーあ、これでruby-listかruby-devで発言せず逃げ回ったことが確定しちゃった
259デフォルトの名無しさん
2017/12/10(日) 00:17:50.29ID:MJKB1Uts ruby-devでリテラルの最適化の話がずっとあるけど、
やっぱ、ArrayもStringみたいになるのかな?
やっぱ、ArrayもStringみたいになるのかな?
260デフォルトの名無しさん
2017/12/10(日) 00:32:18.71ID:/jbkU8iJ261デフォルトの名無しさん
2017/12/10(日) 00:37:16.10ID:fgyE63pk >>259
3の型付けなんて最適化や速度upで入れたいって言ってるわけでなぶんそうなるだろ
ruby-listでfrozen_string_literal前提の話とかちょろちょろ見るようになったし
型そのものはあんまり興味ない
希望の書き方とかる?
3の型付けなんて最適化や速度upで入れたいって言ってるわけでなぶんそうなるだろ
ruby-listでfrozen_string_literal前提の話とかちょろちょろ見るようになったし
型そのものはあんまり興味ない
希望の書き方とかる?
262デフォルトの名無しさん
2017/12/10(日) 00:38:47.43ID:fgyE63pk タイプミスった、ごめん
>>259
3の型付けなんて最適化や速度upで入れたいって言ってるわけでなぶんそうなるだろ
ruby-listでfrozen_string_literal前提の話とかちょろちょろ見るようになったし
型そのものはあんまり興味ない
希望の書き方とかる? -> 希望の書き方とかある?
>>259
3の型付けなんて最適化や速度upで入れたいって言ってるわけでなぶんそうなるだろ
ruby-listでfrozen_string_literal前提の話とかちょろちょろ見るようになったし
型そのものはあんまり興味ない
希望の書き方とかる? -> 希望の書き方とかある?
263デフォルトの名無しさん
2017/12/10(日) 00:50:55.71ID:MJKB1Uts あんまりイメージわかないけど、可能なら型をrubyの文法のif文とかメソッドチェーンに組み込みたい
一度、ここでアンケとってruby-listで型の希望の書き方とか立ててみる?
一度、ここでアンケとってruby-listで型の希望の書き方とか立ててみる?
264デフォルトの名無しさん
2017/12/10(日) 01:14:35.57ID:XVX0tsBl ruby-listに直でアンケとっても良いけど
荒らしもいなくなった様だからやってっみる?
荒らしもいなくなった様だからやってっみる?
265デフォルトの名無しさん
2017/12/10(日) 01:28:00.42ID:ML6lMJWk なんか番号とんでるけど、まだあの荒らしいるのかw
266デフォルトの名無しさん
2017/12/10(日) 01:40:44.61ID:ZzgYAKrD 投稿時はruby-listかruby-devのどちら向けの話題なのかワードを入れておく?
x : Integer
は、ありきたりというか仮引数の時ハッシュと間違いやすいだろ
繋げて書けるように
Integer =_ x = nil
みたいなのどうよ
x : Integer
は、ありきたりというか仮引数の時ハッシュと間違いやすいだろ
繋げて書けるように
Integer =_ x = nil
みたいなのどうよ
267デフォルトの名無しさん
2017/12/10(日) 01:44:56.11ID:nRE+Ifdg 元々、荒らしは、全部のスレで、いちゃもんを付けてくる。
漏れも、何回も攻撃されてる
単発ID で「間違ったこと書き込むな」とか、荒らしが書き込むと、
すぐに違うID で「そうだよな」みたいに、荒らしに同調するレスが付く。
深夜でもそうだから、荒らしに同調する奴が居るなんて、あり得ない
プログラミングの話は、一切できないくせに、批判ばっかり書いてるのが荒らし
ただ、Ruby, JavaScript のスレでは、
荒らしにかまうから、喜んで居着いてるだけ
荒らしは一切、無視すべし!
仕事をした事もない奴と、話をしても仕方がない
漏れも、何回も攻撃されてる
単発ID で「間違ったこと書き込むな」とか、荒らしが書き込むと、
すぐに違うID で「そうだよな」みたいに、荒らしに同調するレスが付く。
深夜でもそうだから、荒らしに同調する奴が居るなんて、あり得ない
プログラミングの話は、一切できないくせに、批判ばっかり書いてるのが荒らし
ただ、Ruby, JavaScript のスレでは、
荒らしにかまうから、喜んで居着いてるだけ
荒らしは一切、無視すべし!
仕事をした事もない奴と、話をしても仕方がない
268デフォルトの名無しさん
2017/12/10(日) 01:49:21.28ID:nRE+Ifdg スレに、ワッチョイが無いから、荒らしが来る
ワッチョイを導入すれば良い。
そうすれば、自演できない
ワッチョイを導入すれば良い。
そうすれば、自演できない
269デフォルトの名無しさん
2017/12/10(日) 01:50:52.64ID:fgyE63pk 自演できる荒らしが喜びそうだから却下
270デフォルトの名無しさん
2017/12/10(日) 01:55:18.69ID:ZzgYAKrD271デフォルトの名無しさん
2017/12/10(日) 01:57:14.83ID:8z/4vDLR 荒らされてると聞いてきたら型の話してる…
しばらく界隈から離れてたら静的型付け実装か
しばらく界隈から離れてたら静的型付け実装か
272デフォルトの名無しさん
2017/12/10(日) 01:58:55.58ID:fgyE63pk =_ ←これ何?
ruby-listで受けんのこれ?
どう見ても無理っぽい
ruby-listで受けんのこれ?
どう見ても無理っぽい
273デフォルトの名無しさん
2017/12/10(日) 02:12:19.13ID:ZzgYAKrD いや、自分の希望の書き方なんだから人気のある書き方でなくても良いでしょ
それにもしかしたらruby-listで大人気になるかもしれないし
後、さっき思いついたけど
definedtype?( Type )
みたいなのどう?
それにもしかしたらruby-listで大人気になるかもしれないし
後、さっき思いついたけど
definedtype?( Type )
みたいなのどう?
274デフォルトの名無しさん
2017/12/10(日) 02:28:55.59ID:9Zlb3ltO なんで型の希望の話になってんの?
すまんが今来て、この1スレからさらっと読んだけど理解できんかった。
とりあず、このスレからruby-listに要望だずにしても
下記まとめなんかあるといいかも(オレがほしいw
・経緯
・メリット
・デメリット
・他の言語の場合、例
OOP言語で簡単なのがrubyの良いところだと思う。
すまんが今来て、この1スレからさらっと読んだけど理解できんかった。
とりあず、このスレからruby-listに要望だずにしても
下記まとめなんかあるといいかも(オレがほしいw
・経緯
・メリット
・デメリット
・他の言語の場合、例
OOP言語で簡単なのがrubyの良いところだと思う。
275デフォルトの名無しさん
2017/12/10(日) 02:32:48.91ID:8I95hEEE 簡単ではないだろ
Rubyはとんでもなく複雑な言語で、メジャーな言語の中だとC++の次くらいには複雑なんじゃないの
ちなみにRubyが複雑なのはMatzも認めてるよ
Rubyはとんでもなく複雑な言語で、メジャーな言語の中だとC++の次くらいには複雑なんじゃないの
ちなみにRubyが複雑なのはMatzも認めてるよ
276デフォルトの名無しさん
2017/12/10(日) 02:39:29.90ID:ZzgYAKrD スレ進行を妨害するなよ荒らし
失せろ
失せろ
277デフォルトの名無しさん
2017/12/10(日) 02:57:07.13ID:UtvIbdgM 荒らしがそろそろ暴るだろうから今のうちにテンプレを張っておく
>粘着する荒らしがスレを何ヶ月も荒らしたため、
>ネガキャン、逸脱した連投、荒らし行為を行う人がいた場合は対策としてruby-listやruby-devへ誘導するようにお願いします
>自演でIDを変えて荒らしを繰り返すため、加勢するIDも含めて誘導するようお願いします
>
>荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
>そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
>粘着する荒らしがスレを何ヶ月も荒らしたため、
>ネガキャン、逸脱した連投、荒らし行為を行う人がいた場合は対策としてruby-listやruby-devへ誘導するようにお願いします
>自演でIDを変えて荒らしを繰り返すため、加勢するIDも含めて誘導するようお願いします
>
>荒らしはruby-listやruby-devを追い出されたため現在、出入り禁止になっています
>そのため過去、誘導されると逃げ回った経過があるので、コミュニティで発言を確認するまで誘導してください
278デフォルトの名無しさん
2017/12/10(日) 03:21:46.15ID:1HHF8E2/ ruby-listだと恥ずかしくて聞きにくいのでこちらで質問します
a = [[1,2,3],nil, 4..10]
a.include?(5) => false
これで、trueにならないのはどうしてですか?
a = [[1,2,3],nil, 4..10]
a.include?(5) => false
これで、trueにならないのはどうしてですか?
279デフォルトの名無しさん
2017/12/10(日) 03:27:29.16ID:FZ4Yj2IT280デフォルトの名無しさん
2017/12/10(日) 03:44:33.44ID:UMP8yhyZ281デフォルトの名無しさん
2017/12/10(日) 04:36:57.56ID:rydPLt/1 荒らしの連投が収まったからか、昨日、一昨日の書き込みに比べてえらく穏やかになったな
マジruby-list様々
マジruby-list様々
282デフォルトの名無しさん
2017/12/10(日) 04:56:13.97ID:fgyE63pk283デフォルトの名無しさん
2017/12/10(日) 05:52:58.55ID:nRE+Ifdg 荒らしは、色んなスレに、いちゃもんを付けてる。
JavaScript, Ruby のスレだけではなく、全部のスレを荒らしてる
荒らしは、仕事をした事がないから、反応するものには、何にでも噛みつくだけ
徹底的に、無視した方が良い
JavaScript, Ruby のスレだけではなく、全部のスレを荒らしてる
荒らしは、仕事をした事がないから、反応するものには、何にでも噛みつくだけ
徹底的に、無視した方が良い
284デフォルトの名無しさん
2017/12/10(日) 06:18:10.98ID:rydPLt/1 失せろ
スレの進行の妨害を繰り返す荒らしが
スレの進行の妨害を繰り返す荒らしが
285デフォルトの名無しさん
2017/12/10(日) 08:42:40.84ID:KNXh5gp+ rubyで型を書けるようになったとしても、コメントにアノテーションとして書けるようにするくらいが無難だろうて
286デフォルトの名無しさん
2017/12/10(日) 16:46:51.98ID:IY8S1+HK 荒らしはあぼーんはずして見に来てるくせに、
毎回の見えてないアピールが糞うざい
毎回の見えてないアピールが糞うざい
287デフォルトの名無しさん
2017/12/10(日) 19:04:47.93ID:4uyVh43l メソッドの引数、戻り値の型保証を目的としたgems
* contracts
* rubype
他にも色々あるけど触ったことがあるのはこのくらいだな
* contracts
* rubype
他にも色々あるけど触ったことがあるのはこのくらいだな
288デフォルトの名無しさん
2017/12/10(日) 19:37:14.48ID:0VP/mrFZ289デフォルトの名無しさん
2017/12/10(日) 20:23:20.11ID:fgyE63pk 古典はクラス=型だけど、
rubyではどうなるんだろ
rubyではどうなるんだろ
290デフォルトの名無しさん
2017/12/10(日) 22:15:37.82ID:TsNv+js2 型システムに関する最新の教科書であるTAPL本だとクラス=型だけど、
TAPL本を古典と言い切ってしまえる>>289は異次元世界の住人なのかな?
TAPL本を古典と言い切ってしまえる>>289は異次元世界の住人なのかな?
291デフォルトの名無しさん
2017/12/10(日) 22:24:25.24ID:ML6lMJWk TAPL本を古典なんてどこにも書いてないんだが?
なに一人連想ゲームしてんの?
なに一人連想ゲームしてんの?
292デフォルトの名無しさん
2017/12/10(日) 23:46:36.31ID:EJLWoC7C 型チェックってどうして望まれてるの?
Kernel#instans_of? とか Module#=== を使って
TypeErrorを投げればいいんじゃないのと初心者としては思うんだけど、誰か教えて><
Kernel#instans_of? とか Module#=== を使って
TypeErrorを投げればいいんじゃないのと初心者としては思うんだけど、誰か教えて><
293デフォルトの名無しさん
2017/12/11(月) 00:11:37.08ID:toSfFiY3 >ruby-devはrubyの開発者のためだから場所が正しくない
>Ruby初心者の質問と回答はここしかないな
みたいなカン違いししてるのでなければruby-devで聞きなよ
>Ruby初心者の質問と回答はここしかないな
みたいなカン違いししてるのでなければruby-devで聞きなよ
294デフォルトの名無しさん
2017/12/11(月) 00:22:43.20ID:zjLRjNAe 結局、荒らしはrubyコミュで発言せず逃げたままか
ruby-listやruby-devでいったい何をしでかしたんだアイツ?
ruby-listやruby-devでいったい何をしでかしたんだアイツ?
295デフォルトの名無しさん
2017/12/11(月) 00:32:30.84ID:Iio3nuGz296デフォルトの名無しさん
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#=== が呼ばれなくなるから処理速度も悪くならないはず
特に似たような処理が散乱して困るようならば検討するべき
大規模プログラミング症候群に患わった人たちがおもに困ってる
それとinstans_of?とかModule#===とかが目立つのはRubyらしくない
引数として与えられたオブジェクトは必要なメソッドがあるものとして記述する方がいい (ダックタイピング)
ifやcaseでやたらとクラス名が出てくるべきじゃない
こういう振り分け処理はrefinmentできれいに分離できるし何より見通しが良くなる
case obj
when nil
...
when Integer
...
when ...
...
else
raise TypeError
end
これはrefinmentと組み合わせれば
obj.do_it
だけで済むし分岐のための Module#=== が呼ばれなくなるから処理速度も悪くならないはず
特に似たような処理が散乱して困るようならば検討するべき
297デフォルトの名無しさん
2017/12/11(月) 00:54:42.06ID:zjLRjNAe ruby-coreは英語だけどいいのか?
298デフォルトの名無しさん
2017/12/11(月) 01:33:14.94ID:4q7JrCp0 switch 文で、型によって分岐していたら、オブジェクト指向ではない。
多くは、設計の間違い
型が増えるたびに、switch 文を修正しないといけなくなる
修正の度に、設定ファイルを書いているデザイナーが、
プログラマーに頼まなければならなくなるから、
プロジェクトの人材配分ができなくなる
多くは、設計の間違い
型が増えるたびに、switch 文を修正しないといけなくなる
修正の度に、設定ファイルを書いているデザイナーが、
プログラマーに頼まなければならなくなるから、
プロジェクトの人材配分ができなくなる
299デフォルトの名無しさん
2017/12/11(月) 02:02:26.81ID:b197wXfn 自演うざいな
300デフォルトの名無しさん
2017/12/11(月) 03:05:20.05ID:cnSlApZQ 型はなくていいけど、宣言していない変数は使えないようなオプション欲しい
301デフォルトの名無しさん
2017/12/11(月) 03:18:06.40ID:329kYh7O ruby-listやruby-devへの案内テンプレどうしますか?
302デフォルトの名無しさん
2017/12/11(月) 12:55:19.76ID:Y2G40Toz >>301
基地外を誘導するのは迷惑だからやめなさい
基地外を誘導するのは迷惑だからやめなさい
303デフォルトの名無しさん
2017/12/11(月) 17:28:47.01ID:Iio3nuGz 自演を繰り返してる奴はruby-listやruby-devを避けてるから問題ない
そもそも入る事が出来ないらしい
それで、どういうテンプレにする?
そもそも入る事が出来ないらしい
それで、どういうテンプレにする?
304デフォルトの名無しさん
2017/12/12(火) 00:09:35.42ID:MTvcfECB ruby-devやruby-core入れるだけで荒らし避けになるとかスゲー
とりあずテンプレ案を出すのは次スレ立てる直前でどうよ?
とりあずテンプレ案を出すのは次スレ立てる直前でどうよ?
305デフォルトの名無しさん
2017/12/13(水) 02:24:54.64ID:bN1wPs8n Methodのsource_locationみたいなソースの定義や構造の解析に役立つメソッドを探しているけど、
Classやモジュール、オブジェクトにはこういったメソッドないよね?
あれば便利だと思うのに
Classやモジュール、オブジェクトにはこういったメソッドないよね?
あれば便利だと思うのに
306デフォルトの名無しさん
2017/12/13(水) 05:18:23.32ID:wC6gbn87307デフォルトの名無しさん
2017/12/14(木) 01:05:44.67ID:RXlgLxSu Methodのsource_locationは処理に直接挿入できるから便利なのであって、
そこを理解していないだろ
そこを理解していないだろ
308デフォルトの名無しさん
2017/12/15(金) 01:34:17.23ID:XFw1hYkv Rubyコードのリファクタリングに関したgemってある?
結構前にリファクタリングのrubyエディションを読んでから興味持ったんだけど
結構前にリファクタリングのrubyエディションを読んでから興味持ったんだけど
309デフォルトの名無しさん
2017/12/15(金) 07:40:23.15ID:qyzTygXP 原理的に困難って上で言われてるでしょ
こればっかりは個人の信条や宗教の問題じゃなく本当に原理的な問題だから諦めろ
Rubyのリファクタリングや型検査に関しては、無理に静的解析するんじゃなくて、
実際にモジュールをロードしてみて実行時のクラス構造を見て処理するような新しい発想が必要だと思うわ
こればっかりは個人の信条や宗教の問題じゃなく本当に原理的な問題だから諦めろ
Rubyのリファクタリングや型検査に関しては、無理に静的解析するんじゃなくて、
実際にモジュールをロードしてみて実行時のクラス構造を見て処理するような新しい発想が必要だと思うわ
310デフォルトの名無しさん
2017/12/15(金) 13:34:32.77ID:AXI+pgWQ >>309
>リファクタリング:Rubyエディション、2010
を読むまでは俺もお前と同じ勘違いをしてた
どのような言語でもテクニックとしてリファクタリングが出来るという事が書いてあるから一度読め
特にrubyは、その記述性からリファクタリングテクニックがぴったり合う
>リファクタリング:Rubyエディション、2010
を読むまでは俺もお前と同じ勘違いをしてた
どのような言語でもテクニックとしてリファクタリングが出来るという事が書いてあるから一度読め
特にrubyは、その記述性からリファクタリングテクニックがぴったり合う
311デフォルトの名無しさん
2017/12/15(金) 16:34:51.13ID:YAkY+eE5312デフォルトの名無しさん
2017/12/15(金) 22:04:52.20ID:AXI+pgWQ リファクタリングテクニックを適用するだけの事に、正しさの保障とか難癖つけても無駄
俺も以前は、カン違いしていた口だから偉そうな事は言えないけど
俺も以前は、カン違いしていた口だから偉そうな事は言えないけど
313デフォルトの名無しさん
2017/12/15(金) 23:07:30.00ID:XFw1hYkv >>309
Rubyにリファクタリングが合わないならリファクタリングrubyエディションなんて書籍は出版されないのでは?
内容も、何も考えなくても機械的に適用すればリファクタリングが出来てしまうテクニック集の例示だし
それと故意に話しを摩り替えられたけど聞きたかったのはリファクタリング関連のgemの事
Rubyにリファクタリングが合わないならリファクタリングrubyエディションなんて書籍は出版されないのでは?
内容も、何も考えなくても機械的に適用すればリファクタリングが出来てしまうテクニック集の例示だし
それと故意に話しを摩り替えられたけど聞きたかったのはリファクタリング関連のgemの事
314デフォルトの名無しさん
2017/12/16(土) 00:12:00.58ID:8dq3CMaj Rubyってどこまでできたら初心者卒業って言っていいの?
315デフォルトの名無しさん
2017/12/16(土) 01:17:58.42ID:txM0o0nR 配列とループが理解できたら
316デフォルトの名無しさん
2017/12/16(土) 01:25:30.77ID:plaGBrRo なんかできるできないの話に持っていって(持って行かれて?)
負けてるやつがいるなw
Rubyでもなんでもリファクタリングはできるよ。
ただ同じリファクタリングをしても時間がかかる言語と
そうでない言語があるって話
負けてるやつがいるなw
Rubyでもなんでもリファクタリングはできるよ。
ただ同じリファクタリングをしても時間がかかる言語と
そうでない言語があるって話
317デフォルトの名無しさん
2017/12/16(土) 01:59:08.24ID:SSRXngMG >>313
こんなにRuby信者が寄ってきてるのに何一つ出てこないことが何よりの答えだろうね
そもそもRubyってツールでコードを弄るのをダサいと考える文化があるのよ
コードを生成するくらいならメタプログラミングで実行時に何とかするべきだし、
ツールで機械的に適用できるような局所的なリファクタリングなら手でやったほうが早い、っていうのがRuby的な思考
静的言語のIDEに付いてるようなインターフェイスの抽出とかメンバのリネームといった広域的なリファクタリングは便利なものだけど、
ああいうのは実際「原理的に困難」なので
こんなにRuby信者が寄ってきてるのに何一つ出てこないことが何よりの答えだろうね
そもそもRubyってツールでコードを弄るのをダサいと考える文化があるのよ
コードを生成するくらいならメタプログラミングで実行時に何とかするべきだし、
ツールで機械的に適用できるような局所的なリファクタリングなら手でやったほうが早い、っていうのがRuby的な思考
静的言語のIDEに付いてるようなインターフェイスの抽出とかメンバのリネームといった広域的なリファクタリングは便利なものだけど、
ああいうのは実際「原理的に困難」なので
319デフォルトの名無しさん
2017/12/16(土) 14:05:47.39ID:VgVQwchc 有能なRubyistである>>318がパッと作ってgithubのURL貼ればそれで済む話だぞ
Matzもコードで語れっていつも言ってるでしょ
Matzもコードで語れっていつも言ってるでしょ
320デフォルトの名無しさん
2017/12/16(土) 22:18:04.71ID:SV1ui7/W >>319
逃げ回っていないでruby-devかruby-listで発言して来いよ
逃げ回っていないでruby-devかruby-listで発言して来いよ
321デフォルトの名無しさん
2017/12/16(土) 23:26:30.07ID:RIeUS8wT リファクタリングと言えばrubyでRipper使えばコードを構文木化して扱えるよ
だから処理系自身にrubyコードを書き換えさせる事も出来る
それからgemもparseなんちゃらみたいなのが結構出てくるから割とありきたりなネタ
知ったかで騙ってる荒らしだけが無知を披露中
だから処理系自身にrubyコードを書き換えさせる事も出来る
それからgemもparseなんちゃらみたいなのが結構出てくるから割とありきたりなネタ
知ったかで騙ってる荒らしだけが無知を披露中
322デフォルトの名無しさん
2017/12/16(土) 23:40:22.84ID:Ek1/YNvL 文脈がわかるわけじゃないからちょっと無理があるけど
323デフォルトの名無しさん
2017/12/16(土) 23:47:36.74ID:2bqvN76b またまたネガキャン大失敗の巻きか?
プゲラッチョ
プゲラッチョ
324デフォルトの名無しさん
2017/12/16(土) 23:58:10.67ID:VgVQwchc 構文木ってソースコードのDOMでしかないからなあ
>>322も言ってるけどそれでコードの意味がわかるわけじゃない
しかもRubyのASTの場合、静的解析やコード生成ではなく実行することしか考慮されてなくて、
CALLとシンボルだらけで大幅に情報が失われてる
自分でやってみりゃわかるけどかなり扱いづらい代物だよ
>>322も言ってるけどそれでコードの意味がわかるわけじゃない
しかもRubyのASTの場合、静的解析やコード生成ではなく実行することしか考慮されてなくて、
CALLとシンボルだらけで大幅に情報が失われてる
自分でやってみりゃわかるけどかなり扱いづらい代物だよ
325デフォルトの名無しさん
2017/12/16(土) 23:59:37.87ID:2deUmEBo --dump=parsetreeオプションか、--dump=insnsオプションで使わないの?
326デフォルトの名無しさん
2017/12/17(日) 00:12:46.78ID:cjnEvY5x327デフォルトの名無しさん
2017/12/17(日) 00:23:33.21ID:ZaumiUQl 使いづらいって言われてもそれは主観でしかないよな?
しかも実質、リファクタリング関連のgemを製作する側がどうのこうのであって、
gem利用者には関係なくない?
そもそも他言語での自己書き換えの扱いはもっとやっかいだぞ?
しかも実質、リファクタリング関連のgemを製作する側がどうのこうのであって、
gem利用者には関係なくない?
そもそも他言語での自己書き換えの扱いはもっとやっかいだぞ?
328326
2017/12/17(日) 00:23:43.41ID:cjnEvY5x 一応補足しとくけど、ruby処理系にそういう機能があるかどうかじゃなくて
dump=parsetreeで出力されたASTから元のソースを復元するツールを作ってみてくれ、という意味だぞ
ちなみにripperでも同じだ
もちろん細かいスペースの差異とかは無視するとしても、不可能なのがわかるよ
リファクタリングや静的解析に使うなら処理系付属のは使い物にならないので専用のASTが絶対に必要だ
dump=parsetreeで出力されたASTから元のソースを復元するツールを作ってみてくれ、という意味だぞ
ちなみにripperでも同じだ
もちろん細かいスペースの差異とかは無視するとしても、不可能なのがわかるよ
リファクタリングや静的解析に使うなら処理系付属のは使い物にならないので専用のASTが絶対に必要だ
329デフォルトの名無しさん
2017/12/17(日) 00:29:01.32ID:ZaumiUQl 構文木と並行して字句解析つかえば何も問題ないぞ
というか、そういうgemがごろごろあるぞ?
また知ったかしちゃったのかな?
というか、そういうgemがごろごろあるぞ?
また知ったかしちゃったのかな?
330デフォルトの名無しさん
2017/12/17(日) 00:34:09.11ID:cjnEvY5x >>329
意味不明だなあ
字句解析の結果をどうやってASTに紐付けるの?
結局独自に構文解析するんなら、それはつまり「専用のASTが必要」ということになるわけだけど、
自分で言ってること理解してる?
意味不明だなあ
字句解析の結果をどうやってASTに紐付けるの?
結局独自に構文解析するんなら、それはつまり「専用のASTが必要」ということになるわけだけど、
自分で言ってること理解してる?
331デフォルトの名無しさん
2017/12/17(日) 00:40:42.77ID:X5PuZ6e5 荒らしはrubyでリファクタリング出来る事が物凄く不満らしいけど、親でも殺されたのか?
これでも読んで落ち着け
つリファクタリング:Rubyエディション、2010
これでも読んで落ち着け
つリファクタリング:Rubyエディション、2010
332デフォルトの名無しさん
2017/12/17(日) 00:51:54.13ID:ZaumiUQl >>330
だからgemがごろごろあるだろ
現実に存在するgemを否定しても現実は変わらんぞ?
そもそも妄想を騙るならruby-devかruby-listで発言しろ
ここはおまえの妄想ノートじゃねよボケ
だからgemがごろごろあるだろ
現実に存在するgemを否定しても現実は変わらんぞ?
そもそも妄想を騙るならruby-devかruby-listで発言しろ
ここはおまえの妄想ノートじゃねよボケ
333デフォルトの名無しさん
2017/12/17(日) 00:52:55.58ID:Hi83U6qj リファクタリングはどの言語でもできる
ただやりにくい言語とそうでない言語が有る
Rubyはやりにくい。時間がかかる
ただやりにくい言語とそうでない言語が有る
Rubyはやりにくい。時間がかかる
334デフォルトの名無しさん
2017/12/17(日) 00:55:41.57ID:X5PuZ6e5 >>333
自演ばれてんぞ
自演ばれてんぞ
335デフォルトの名無しさん
2017/12/17(日) 00:56:47.47ID:Hi83U6qj 誰と間違ってんだよw
336デフォルトの名無しさん
2017/12/17(日) 01:01:05.21ID:ZaumiUQl いや、まちがっていない
こいつはいつもの粘着荒らしだ
こいつはいつもの粘着荒らしだ
337デフォルトの名無しさん
2017/12/17(日) 01:05:40.92ID:vwVDXOLh 俺には>>336もプロレスの自演に見えるけどね
批判的意見に毎回バカっぽく突っかかって論破されてる噛ませ役
批判的意見に毎回バカっぽく突っかかって論破されてる噛ませ役
338デフォルトの名無しさん
2017/12/17(日) 01:06:56.15ID:X5PuZ6e5 >>337
も自演か
も自演か
339sage
2017/12/17(日) 01:22:18.66ID:bfi3jyev リファクタリングって頭空っぽにして代数的に適用すれば安全にコードを変えられるテクニックの事だろ?
なんで時間がかかるとか難しいとか話しが出てるんだ?
なんで時間がかかるとか難しいとか話しが出てるんだ?
340デフォルトの名無しさん
2017/12/17(日) 01:48:45.01ID:ZaumiUQl リファクタリングが何か知らない奴が混じってて必死でrubyのネガキャンしてるだけ
ruby-devやruby-listだとすぐ嘘がばれるから
もうこの荒らしは排除いいよ
ruby-devやruby-listだとすぐ嘘がばれるから
もうこの荒らしは排除いいよ
341デフォルトの名無しさん
2017/12/17(日) 02:32:17.52ID:Hi83U6qj >>339
> 代数的に適用すれば安全にコードを変えられるテクニックの事だろ?
> リファクタリングって頭空っぽにして代数的に適用すれば安全にコードを変えられるテクニックの事だろ?
> なんで時間がかかるとか難しいとか話しが出てるんだ?
代数的に適用するためには、十分な情報が必要だからだよ。
例えば2つの数値の掛け算の答があったとする
その答から、なんとなんの数値の掛け算かを求めるのは大変
答が複数あることもあるからだ
だけどそのうちひとつの数値がわかっていれば、答はすぐに分かる
型にも同じ話が言える。静的型付け言語の場合は、変数に型が定義されているから
そこから代数的に安全にコードを変えられるテクニックが使える
だけど型がわからなければ、そこから代数的に安全にコードを変えられるテクニックが使えない。
だから時間がかかる。一部の人はそのことを”できない"と表現しているがj。
それは違う。いくつもの可能性を検討して、これだ!と安心できるまで時間がかかるのだ。
> 代数的に適用すれば安全にコードを変えられるテクニックの事だろ?
> リファクタリングって頭空っぽにして代数的に適用すれば安全にコードを変えられるテクニックの事だろ?
> なんで時間がかかるとか難しいとか話しが出てるんだ?
代数的に適用するためには、十分な情報が必要だからだよ。
例えば2つの数値の掛け算の答があったとする
その答から、なんとなんの数値の掛け算かを求めるのは大変
答が複数あることもあるからだ
だけどそのうちひとつの数値がわかっていれば、答はすぐに分かる
型にも同じ話が言える。静的型付け言語の場合は、変数に型が定義されているから
そこから代数的に安全にコードを変えられるテクニックが使える
だけど型がわからなければ、そこから代数的に安全にコードを変えられるテクニックが使えない。
だから時間がかかる。一部の人はそのことを”できない"と表現しているがj。
それは違う。いくつもの可能性を検討して、これだ!と安心できるまで時間がかかるのだ。
342デフォルトの名無しさん
2017/12/17(日) 02:47:32.03ID:BeMxy3i4 また自演の長文か
そんなに主張したい事があるなら初心者スレじゃなくruby-devかruby-listで言え
わざわざ初心者スレで嘘をばらまく必要は無いだろう
そんなに主張したい事があるなら初心者スレじゃなくruby-devかruby-listで言え
わざわざ初心者スレで嘘をばらまく必要は無いだろう
343デフォルトの名無しさん
2017/12/17(日) 03:00:08.85ID:X5PuZ6e5 リファクタリングにちなんで、
みんなはコードに自己書き換えの処理させる時って何を使ってる?
みんなはコードに自己書き換えの処理させる時って何を使ってる?
344デフォルトの名無しさん
2017/12/17(日) 03:28:07.16ID:BeMxy3i4 初心者スレでイキってる荒らしはこういう質問が来ると急に大人しくなるんだよな
俺は普通にdefine_methodを使うぐらいしかしていない
俺は普通にdefine_methodを使うぐらいしかしていない
345デフォルトの名無しさん
2017/12/17(日) 03:36:34.62ID:Hi83U6qj 急におとなしくなるって、いま夜中の3時半やで?
346デフォルトの名無しさん
2017/12/17(日) 03:47:09.35ID:X5PuZ6e5 質問に答えられないのはわかった
347デフォルトの名無しさん
2017/12/17(日) 03:48:56.09ID:Hi83U6qj348デフォルトの名無しさん
2017/12/17(日) 03:54:31.53ID:X5PuZ6e5 >>347
お前に言ってるんだが
お前に言ってるんだが
349デフォルトの名無しさん
2017/12/17(日) 03:58:35.63ID:Hi83U6qj350デフォルトの名無しさん
2017/12/17(日) 04:02:09.36ID:vi6El7FV ソースを直で修正し再ロードして実行までをrubyコード内で記述できるわけだから、
言ってしまえばなんだって出来る
gemでparse2rubyとか色々あるし
言ってしまえばなんだって出来る
gemでparse2rubyとか色々あるし
351デフォルトの名無しさん
2017/12/17(日) 04:18:39.08ID:X5PuZ6e5352デフォルトの名無しさん
2017/12/17(日) 04:48:50.54ID:PRNmBS9S353デフォルトの名無しさん
2017/12/17(日) 08:13:32.84ID:6NwF6CYy 「ruby-devかruby-listで発言しろ」って言いまくってる奴は単発IDでの自演常習犯だから絡まないでスルーしましょう
>>252でも説明したけど自治の振りをした粘着荒らしです
>>252でも説明したけど自治の振りをした粘着荒らしです
354デフォルトの名無しさん
2017/12/17(日) 09:16:34.42ID:X5PuZ6e5 自演を繰り返す荒らしがスレ住民全員を荒らし認定か
ruby-devかruby-listで発言するのがそれほど怖いのかな?
ruby-devかruby-listで発言するのがそれほど怖いのかな?
355デフォルトの名無しさん
2017/12/17(日) 11:53:12.66ID:Hi83U6qj 妨害って何? Rubyの話ししてるでしょ
>>341へのレスしてくれるのを待ってるんだが?
>>341へのレスしてくれるのを待ってるんだが?
356デフォルトの名無しさん
2017/12/17(日) 11:54:17.21ID:Hi83U6qj357デフォルトの名無しさん
2017/12/17(日) 12:02:37.42ID:X5PuZ6e5 スレッドの進行を妨害して荒らすな
358デフォルトの名無しさん
2017/12/17(日) 13:07:26.56ID:7FFT55NR ちょいと質問です。
Cだと"__"から始まったり、"_"+大文字となったりする識別子は予約扱いだと明文化されてるけど、Rubyはどうなのかちょっと気になってます。
組み込みで__FILE__ __LINE__ __method__とかが定義されているのは知ってます。
gemライブラリの中で2つのアンダースコート"__"から始まり、同じく"__"で終わるメソッド名を定義しようかと考えてるけど、問題ないかなと思って。
Cだと"__"から始まったり、"_"+大文字となったりする識別子は予約扱いだと明文化されてるけど、Rubyはどうなのかちょっと気になってます。
組み込みで__FILE__ __LINE__ __method__とかが定義されているのは知ってます。
gemライブラリの中で2つのアンダースコート"__"から始まり、同じく"__"で終わるメソッド名を定義しようかと考えてるけど、問題ないかなと思って。
359デフォルトの名無しさん
2017/12/17(日) 13:28:17.09ID:Hi83U6qj @で始まる変数はインスタンス変数
@@で始まればクラス変数
$で始まれば組み込み変数
大文字で始まれば定数
selfもnilもtrueもfalseも変数
@@で始まればクラス変数
$で始まれば組み込み変数
大文字で始まれば定数
selfもnilもtrueもfalseも変数
360デフォルトの名無しさん
2017/12/17(日) 13:31:03.53ID:X5PuZ6e5 リファレンスで擬似変数の所を見てかぶりそうなのをさければ問題ない
かぶっても見分けられるなら問題ない
かぶっても見分けられるなら問題ない
361デフォルトの名無しさん
2017/12/17(日) 13:36:18.37ID:CQTxJs7f Ripper.sexpつかえばソースの自己書き換えできるだろ
誰だよ出来合ないって言ったのは
誰だよ出来合ないって言ったのは
362デフォルトの名無しさん
2017/12/17(日) 13:41:01.76ID:Hi83U6qj 誰も言ってないよ?w
363デフォルトの名無しさん
2017/12/17(日) 14:16:42.77ID:CQTxJs7f 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]]]]
これでリファクタリングが難しいとか時間がかかるとか言ってた奴もいたな
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]]]]
これでリファクタリングが難しいとか時間がかかるとか言ってた奴もいたな
364デフォルトの名無しさん
2017/12/17(日) 14:21:37.40ID:Hi83U6qj >>363
読む時間も含めれば、時間かかるんじゃないの?
読む時間も含めれば、時間かかるんじゃないの?
365デフォルトの名無しさん
2017/12/17(日) 14:32:48.20ID:CQTxJs7f どんだけ遅いCPU積んでるの?
366デフォルトの名無しさん
2017/12/17(日) 14:42:49.46ID:Hi83U6qj >>365
何を言ってるの?
リファクタリングっていうのは人が
どうすべきかを考えるんだよ
今何が問題で、どうすべきかを考えるためには
ソースコードを読んで理解しなければならない。
その理解するまでの時間の話なんだけど
で、そのコードをどうしたいのか俺には分からん
まずそこからだよね。君が説明するべきことは
何を言ってるの?
リファクタリングっていうのは人が
どうすべきかを考えるんだよ
今何が問題で、どうすべきかを考えるためには
ソースコードを読んで理解しなければならない。
その理解するまでの時間の話なんだけど
で、そのコードをどうしたいのか俺には分からん
まずそこからだよね。君が説明するべきことは
367デフォルトの名無しさん
2017/12/17(日) 15:09:58.55ID:CQTxJs7f メソッド抽出、インライン化、メソッドシグニチャの変更と、
IDEにある主なリファクタリング機能なんだが
これをrubyには出来ないと言ってた奴が居るらしい
IDEにある主なリファクタリング機能なんだが
これをrubyには出来ないと言ってた奴が居るらしい
368デフォルトの名無しさん
2017/12/17(日) 15:28:24.67ID:7FFT55NR369デフォルトの名無しさん
2017/12/17(日) 15:45:11.24ID:X5PuZ6e5 Kernelモジュールに__で始まるメソッドがあるからそれにも気をつけろ
わからないことがあったら一度自分でリファレンスを検索して細部までしっかり見ろ
わからないことがあったら一度自分でリファレンスを検索して細部までしっかり見ろ
370デフォルトの名無しさん
2017/12/17(日) 15:51:07.46ID:F+iLZcQ1 >>367
メソッド抽出はできるけどインライン化やシグニチャの変更は安全には行えないよ
実際にどのメソッドが呼ばれるかは実行してみるまで分かんないし、メタプログラミングでメソッドが存在しない場合すら珍しくない
メソッド抽出はできるけどインライン化やシグニチャの変更は安全には行えないよ
実際にどのメソッドが呼ばれるかは実行してみるまで分かんないし、メタプログラミングでメソッドが存在しない場合すら珍しくない
371デフォルトの名無しさん
2017/12/17(日) 16:13:40.93ID:X5PuZ6e5 シグニチャの変更は、Ripper.sexpからの配列をまわして旧シグニチャを指定のに書き換えてソースに戻せば良いように見える
そもそもrubymineで出来る
インライン化なんて普通に:assign部分を使われてるところで展開すればいいだけだからシグニチャの変更より楽そう
逆に変数の切り出しも出来るだろこれ
ちょっとコードを書いてみるか
そもそもrubymineで出来る
インライン化なんて普通に:assign部分を使われてるところで展開すればいいだけだからシグニチャの変更より楽そう
逆に変数の切り出しも出来るだろこれ
ちょっとコードを書いてみるか
372デフォルトの名無しさん
2017/12/17(日) 16:34:07.16ID:DhuU3UWX ElectronみたいにWebベースでGUIを作ってRubyで動的処理を行うフレームワークとかないんかな
ActiveScriptRubyは近いけどWin/IE限定の上にRScriptをインストールする必要があるのがイマイチ
インストール不要で軽量・軽快なのが欲しい
ActiveScriptRubyは近いけどWin/IE限定の上にRScriptをインストールする必要があるのがイマイチ
インストール不要で軽量・軽快なのが欲しい
373デフォルトの名無しさん
2017/12/17(日) 17:06:02.35ID:F+iLZcQ1374デフォルトの名無しさん
2017/12/17(日) 19:08:51.91ID:Hi83U6qj 結局Rubyでは候補を出すところまでしかできないんだよね
代数的に適用することができない
その変更が正しいかどうかをコード全体を読んで
考えないといけないから、時間がかかってしまう
代数的に適用することができない
その変更が正しいかどうかをコード全体を読んで
考えないといけないから、時間がかかってしまう
375デフォルトの名無しさん
2017/12/17(日) 19:09:35.99ID:Hi83U6qj376デフォルトの名無しさん
2017/12/17(日) 22:52:07.76ID:X5PuZ6e5 荒らすな
377デフォルトの名無しさん
2017/12/18(月) 02:29:22.24ID:YRbzAMDV ID:Hi83U6qjのレスは矛盾だらけだな
最近の荒らしはこんなに程度が低いの?
最近の荒らしはこんなに程度が低いの?
378デフォルトの名無しさん
2017/12/18(月) 06:38:14.70ID:SUjpjhtq じゃあその矛盾がどれかを指摘しましょう
379デフォルトの名無しさん
2017/12/18(月) 06:48:05.27ID:D7KhQLFT アンチが出たならアンチスレへ誘導をしろ
そのためのアンチスレなんだから
>>378
Rubyについて(アンチ専用) Part004
https://mevius.5ch.net/test/read.cgi/tech/1249737531/
ほら、アンチスレがあるんだからもう来るなよ
そこなら好きなだけネガキャンしても嘘ついても誰も文句を言わないから
そのためのアンチスレなんだから
>>378
Rubyについて(アンチ専用) Part004
https://mevius.5ch.net/test/read.cgi/tech/1249737531/
ほら、アンチスレがあるんだからもう来るなよ
そこなら好きなだけネガキャンしても嘘ついても誰も文句を言わないから
380デフォルトの名無しさん
2017/12/18(月) 07:53:27.68ID:SUjpjhtq 矛盾の指摘まだ?
381デフォルトの名無しさん
2017/12/18(月) 07:53:50.72ID:SUjpjhtq 喧嘩ふっかけといてアンチスレに逃げるわけないよね?w
382デフォルトの名無しさん
2017/12/18(月) 08:25:44.94ID:9Kb0ajxH 2ch学習法(今なら5chか)って言われてたやつが通じると思ってるんだろうけどな。
383デフォルトの名無しさん
2017/12/18(月) 12:55:26.65ID:L2o9nXM3 初心者スレはスレ消費激しいけどアンチスレはぜんぜん流行ってないな
アンチ死んでる?
アンチ死んでる?
384デフォルトの名無しさん
2017/12/18(月) 14:28:08.01ID:jKkrC/n/ pythonが流行ってるからなあ。本もpythonばっかり
385デフォルトの名無しさん
2017/12/18(月) 15:10:45.19ID:aXpCltYZ アンチは寂しくて初心者スレに来ちゃうわけか
386デフォルトの名無しさん
2017/12/18(月) 15:26:16.95ID:XEro/kye >>371を参考にしたらリファクタリング機能を組めた
ソース読み込んでS式書き換えてソースに書き戻すって処理だけど俺でも簡単に出来るんだな
ソース読み込んでS式書き換えてソースに書き戻すって処理だけど俺でも簡単に出来るんだな
387デフォルトの名無しさん
2017/12/18(月) 15:56:52.19ID:e/V/7Ip9 selfがどこのどいつなのかが問題なんだがな
388デフォルトの名無しさん
2017/12/18(月) 16:10:14.00ID:zBhLgaSa こっちでは問題にすらなってない
俺ですら出来るレベルだけど、それでも無理ならVMにバイトコード見せてもらったら?
俺ですら出来るレベルだけど、それでも無理ならVMにバイトコード見せてもらったら?
389デフォルトの名無しさん
2017/12/18(月) 16:25:37.10ID:4mfkLjZ7390デフォルトの名無しさん
2017/12/18(月) 16:30:56.90ID:zBhLgaSa [:var_ref, [:@kw, "self", [2, 0]]]みたいなノードがありそれを上にたどって行くとselfが何か判る
S式は慣れれば読めるし、処理も楽
S式は慣れれば読めるし、処理も楽
391デフォルトの名無しさん
2017/12/18(月) 17:48:23.09ID:e/V/7Ip9 入れ替えることができちゃうから実際には単純にはいかないってことを言いたかっただけ
392デフォルトの名無しさん
2017/12/18(月) 21:23:52.48ID:SUjpjhtq >>390
問題は、それが分かってもリファクタリングできないってことなんだよね
問題は、それが分かってもリファクタリングできないってことなんだよね
393デフォルトの名無しさん
2017/12/18(月) 21:26:15.43ID:SUjpjhtq いや、
リファクタリング前のソースコード からS式を作って
そのS式から「リファクタリングされたソースコードを生成して見せる」って
言うのならどうぞwどうぞw って話だけど
可能不可能の話なら可能。だけど大変すぎなのでやらない
それを「リファクタリングできない」っていう表現で>>392は書いた
リファクタリング前のソースコード からS式を作って
そのS式から「リファクタリングされたソースコードを生成して見せる」って
言うのならどうぞwどうぞw って話だけど
可能不可能の話なら可能。だけど大変すぎなのでやらない
それを「リファクタリングできない」っていう表現で>>392は書いた
394デフォルトの名無しさん
2017/12/18(月) 21:30:35.88ID:ksjf7Uk6395デフォルトの名無しさん
2017/12/18(月) 21:33:39.72ID:SUjpjhtq >>394
俺もS式から(可読性が高い)リファクタリングされた
ソースコードを作り出すのは不可能だと思ってるよw
だからダンプするまでもない
何が言いたいのかって言うと、リファクタリングの話題で
S式、S式、って何が言いたいんだこいつ?ってこと
S式はリファクタリングと何の関係もありません
俺もS式から(可読性が高い)リファクタリングされた
ソースコードを作り出すのは不可能だと思ってるよw
だからダンプするまでもない
何が言いたいのかって言うと、リファクタリングの話題で
S式、S式、って何が言いたいんだこいつ?ってこと
S式はリファクタリングと何の関係もありません
396デフォルトの名無しさん
2017/12/18(月) 21:35:19.46ID:SUjpjhtq S式から可読性が悪い変なソースコードに変換することはできるだろうが
そりゃリファクタリングと真逆な行為だしな
そりゃリファクタリングと真逆な行為だしな
397デフォルトの名無しさん
2017/12/18(月) 21:53:35.09ID:ZBmMrMTz そうそう
ripperのASTはコード生成には不向きであると言ってるだけで、別にRubyを否定しているわけじゃないのに何を必死に喚いてるんだろうね
コード生成に関しては、単に「文法上の同値の解釈」を一切入れない、より低レベルなパーサを作って正確なASTを得らればいいだけのことだ
動的型だって静的型にはない良さが沢山あるのに、アンチ連呼君はそこを無視して「静的型にできることは全てRubyにもできる」という無茶な主張を続けている
そうやって本質を理解しないまま無理筋で反論するから馬鹿にされるんだといいかげん気付け
ripperのASTはコード生成には不向きであると言ってるだけで、別にRubyを否定しているわけじゃないのに何を必死に喚いてるんだろうね
コード生成に関しては、単に「文法上の同値の解釈」を一切入れない、より低レベルなパーサを作って正確なASTを得らればいいだけのことだ
動的型だって静的型にはない良さが沢山あるのに、アンチ連呼君はそこを無視して「静的型にできることは全てRubyにもできる」という無茶な主張を続けている
そうやって本質を理解しないまま無理筋で反論するから馬鹿にされるんだといいかげん気付け
398デフォルトの名無しさん
2017/12/18(月) 23:16:47.78ID:LVUvAKSO 初心者だからRubyとPythonの違いがわからんのだけど、どう違うんだ?
Rubyがもっと流行ってもいいと思うんだけど
Rubyがもっと流行ってもいいと思うんだけど
399デフォルトの名無しさん
2017/12/18(月) 23:28:55.91ID:tRPcthrg おいアンチ、
初心者騙してないでいい加減アンチスレに帰れよ
おまえがリファクタリングできないのは判ったから
初心者騙してないでいい加減アンチスレに帰れよ
おまえがリファクタリングできないのは判ったから
400デフォルトの名無しさん
2017/12/19(火) 00:03:52.94ID:iE/A7V+0 自分でうまくソースコードに書き戻す処理が書けないのをRubyの所為にしてはダメだろう
どうしてもやりたい場合はRipper2rubyってgemを使え
どうしてもやりたい場合はRipper2rubyってgemを使え
401デフォルトの名無しさん
2017/12/19(火) 00:16:12.52ID:si5W7uAD 可能不可能の話に持っていくから(わざとやってる?)
話がややこしくなるんだよ
構文解析は、静的でも動的でもできる。
その時、どれだけの情報を得られるかっていうのは
型情報を書いてある静的のほうが多いのは明白
(動的のメリットは書かなくて良いことなんだから、動的の方が多くなることはない)
静的のほうがより多くの情報を得られる。
それがリファクタリングをする上での情報の多さにつながり、
リファクタリングを自動化する上での情報にもつながる。
静的のほうが予め書いておく情報が多い分、静的解析でわかることが多い。
動的だとわからない情報は、人がコードを見て推測するしかない
人の作業は遅い、リファクタリングの速度につながってくる
リファクタリングが可能か不可能かの話じゃない
作業する時の速度の話
話がややこしくなるんだよ
構文解析は、静的でも動的でもできる。
その時、どれだけの情報を得られるかっていうのは
型情報を書いてある静的のほうが多いのは明白
(動的のメリットは書かなくて良いことなんだから、動的の方が多くなることはない)
静的のほうがより多くの情報を得られる。
それがリファクタリングをする上での情報の多さにつながり、
リファクタリングを自動化する上での情報にもつながる。
静的のほうが予め書いておく情報が多い分、静的解析でわかることが多い。
動的だとわからない情報は、人がコードを見て推測するしかない
人の作業は遅い、リファクタリングの速度につながってくる
リファクタリングが可能か不可能かの話じゃない
作業する時の速度の話
402デフォルトの名無しさん
2017/12/19(火) 00:19:53.94ID:iE/A7V+0 素直にgemのripper2rubyを使え
おまえには無理だから
おまえには無理だから
403デフォルトの名無しさん
2017/12/19(火) 00:21:21.03ID:si5W7uAD もちろんripper2rubyはリファクタリングをするためのgemではない
404デフォルトの名無しさん
2017/12/19(火) 00:24:43.81ID:cabpZd/N rubymineを使ってないの?
リファクタリングは簡単だよ
リファクタリングは簡単だよ
405デフォルトの名無しさん
2017/12/19(火) 00:32:24.61ID:si5W7uAD 俺が言っても信用しないのだろうから、
http://washiiku.hatenablog.com/entry/2014/12/19/054914
> 上に書いたように変数の型をエディタが察してくれるので、
> 対応するメソッドなどにジャンプしたり、逆に使用されている
> 箇所も一覧で表示できます(ただし静的言語ほど正確ではない)
> JetBrains系ではお馴染みですがリファクタリングが便利です。
> スコープ内の変数名の変更が定番ですが、クラス名などグローバルな
> 名前は型情報からプロジェクト全体のリファクタリングをしてくれます。
> (上述したとおり静的言語ほど正確ではないので、大規模な変更は実用的ではない)
この正確でないというのが問題で、結局人が判断する部分が多くなる。
大規模な変更は実用的ではないのは何故かと言うと
大規模=変更箇所が多い=人が判断する場所が多いので
正しいこと判断するのが大変
http://washiiku.hatenablog.com/entry/2014/12/19/054914
> 上に書いたように変数の型をエディタが察してくれるので、
> 対応するメソッドなどにジャンプしたり、逆に使用されている
> 箇所も一覧で表示できます(ただし静的言語ほど正確ではない)
> JetBrains系ではお馴染みですがリファクタリングが便利です。
> スコープ内の変数名の変更が定番ですが、クラス名などグローバルな
> 名前は型情報からプロジェクト全体のリファクタリングをしてくれます。
> (上述したとおり静的言語ほど正確ではないので、大規模な変更は実用的ではない)
この正確でないというのが問題で、結局人が判断する部分が多くなる。
大規模な変更は実用的ではないのは何故かと言うと
大規模=変更箇所が多い=人が判断する場所が多いので
正しいこと判断するのが大変
406デフォルトの名無しさん
2017/12/19(火) 00:33:30.38ID:si5W7uAD https://twitter.com/nagise/status/890031111828414464
RubyMineもかなり頑張ってくれるんですが、それでも原理的に限界があるので、
使った場合、漏れがあったり、あるいは過剰に変換してないか確認が必要だったりしますね(自分の経験上)。
RubyMineもかなり頑張ってくれるんですが、それでも原理的に限界があるので、
使った場合、漏れがあったり、あるいは過剰に変換してないか確認が必要だったりしますね(自分の経験上)。
407デフォルトの名無しさん
2017/12/19(火) 00:35:31.16ID:OxL2RNB7 >>406
Rubyについて(アンチ専用) Part004
https://mevius.5ch.net/test/read.cgi/tech/1249737531/
おまえのスレに帰れ
二度と初心者を騙そうとするな
Rubyについて(アンチ専用) Part004
https://mevius.5ch.net/test/read.cgi/tech/1249737531/
おまえのスレに帰れ
二度と初心者を騙そうとするな
408デフォルトの名無しさん
2017/12/19(火) 00:41:45.22ID:cabpZd/N 出来る出来ないの話じゃないって自分で言い出してからまだ30分も経ってないのに、
出来る出来ないの話に戻したな
これでは誰もアンチを信じてくれないわ
出来る出来ないの話に戻したな
これでは誰もアンチを信じてくれないわ
409デフォルトの名無しさん
2017/12/19(火) 00:46:31.62ID:si5W7uAD 動的言語がなぜリファクタリングに弱いかというと
いつクラスの定義が定まるかを考えてみればわかる
まずリファクタリングというのはソースコードを修正する
そしてクラスの定義はソースコードから生成される
この時、ソースコードからクラスの定義が単純に決まれば良いのだが
動的言語では、実行するまでクラスの定義が決まらない
ならば実行すればいいと思うかもしれないが、何をどう実行すれば
クラスの定義が定まるのかを知る方法がない
つまりクラスをリファクタリングする場合、
クラスの完成形を知ることができないので、
人間が判断するしかなくなってしまい時間がかかる
いつクラスの定義が定まるかを考えてみればわかる
まずリファクタリングというのはソースコードを修正する
そしてクラスの定義はソースコードから生成される
この時、ソースコードからクラスの定義が単純に決まれば良いのだが
動的言語では、実行するまでクラスの定義が決まらない
ならば実行すればいいと思うかもしれないが、何をどう実行すれば
クラスの定義が定まるのかを知る方法がない
つまりクラスをリファクタリングする場合、
クラスの完成形を知ることができないので、
人間が判断するしかなくなってしまい時間がかかる
410デフォルトの名無しさん
2017/12/19(火) 00:47:31.81ID:OxL2RNB7411デフォルトの名無しさん
2017/12/19(火) 00:48:21.71ID:si5W7uAD412デフォルトの名無しさん
2017/12/19(火) 00:49:30.71ID:OxL2RNB7 >>411
アンチが初心者スレで暴れるなら
アンチが初心者スレで暴れるなら
413デフォルトの名無しさん
2017/12/19(火) 00:49:36.49ID:si5W7uAD414デフォルトの名無しさん
2017/12/19(火) 00:51:32.45ID:cabpZd/N https://mevius.5ch.net/test/read.cgi/tech/1249737531/
アンチはアンチ専用スレでやれ
アンチはアンチ専用スレでやれ
415デフォルトの名無しさん
2017/12/19(火) 00:57:25.70ID:UYOJvaLF 単発IDで自演しまくる自治厨騙りの荒らしには構うな
スルーしろ
スルーしろ
416デフォルトの名無しさん
2017/12/19(火) 00:58:50.33ID:cabpZd/N 自演がばれてんぞ
417デフォルトの名無しさん
2017/12/19(火) 00:59:26.95ID:si5W7uAD 単発IDお前やんw
418デフォルトの名無しさん
2017/12/19(火) 01:01:02.38ID:cabpZd/N アンチスレで好きなだけやれ
ここはお前のようなアンチのためのスレではない
ここはお前のようなアンチのためのスレではない
419デフォルトの名無しさん
2017/12/19(火) 01:02:55.81ID:7WjlvYND そろそろうざいからアンチはアンチスレへ帰れ
420デフォルトの名無しさん
2017/12/19(火) 01:03:46.23ID:si5W7uAD 単発ID、自演ばれてるで?w
421デフォルトの名無しさん
2017/12/19(火) 01:05:19.68ID:cabpZd/N 見えない敵と闘っていないでアンチスレへ帰れ
そこなら好きなだけ自演しても誰も文句を言わないから
そこなら好きなだけ自演しても誰も文句を言わないから
422デフォルトの名無しさん
2017/12/19(火) 01:06:10.31ID:si5W7uAD はっきり言わないと理解できないのかな?
俺はアンチスレには行きません
何度言われてもね
俺はアンチスレには行きません
何度言われてもね
423デフォルトの名無しさん
2017/12/19(火) 01:09:10.98ID:cabpZd/N アンチやりたいならアンチスレへ行け
ここは初心者のためのスレだ
初心者を騙すためのスレではない
ここは初心者のためのスレだ
初心者を騙すためのスレではない
424デフォルトの名無しさん
2017/12/19(火) 01:10:01.09ID:si5W7uAD 神様「お前の願いは叶えられることはなかった」
425デフォルトの名無しさん
2017/12/19(火) 01:11:14.38ID:7WjlvYND そもそもなんでアンチは発狂してんの?
顔真っ赤にしてないで落ち着けよ
顔真っ赤にしてないで落ち着けよ
426デフォルトの名無しさん
2017/12/19(火) 01:12:07.22ID:si5W7uAD 発狂はしてないよw
面白いから書き込んでる
面白いから書き込んでる
427デフォルトの名無しさん
2017/12/19(火) 01:12:28.45ID:cabpZd/N そんなに初心者スレで荒らし行為やアンチをやりたいのか?
428デフォルトの名無しさん
2017/12/19(火) 01:14:15.45ID:si5W7uAD 荒らしてないよ?
Rubyでリファクタリングは静的言語よりも
大変だって話をしてる
Rubyでリファクタリングは静的言語よりも
大変だって話をしてる
429デフォルトの名無しさん
2017/12/19(火) 01:15:12.45ID:cabpZd/N 初心者スレじゃないと話せないことなのか?
アンチスレでは話せないのか?
アンチスレでは話せないのか?
430デフォルトの名無しさん
2017/12/19(火) 01:17:14.70ID:si5W7uAD 初心者スレ以外でも話せるよ
ただしアンチじゃないからね。Rubyの特徴を言っているだけ
アンチスレ以外のRubyスレどこででも話をする
ただしアンチじゃないからね。Rubyの特徴を言っているだけ
アンチスレ以外のRubyスレどこででも話をする
431デフォルトの名無しさん
2017/12/19(火) 01:19:57.23ID:cabpZd/N お前のやってきたことはアンチ以外の何者でもないんだが
これからも、同じ事を続けていく気か?
これからも、同じ事を続けていく気か?
432デフォルトの名無しさん
2017/12/19(火) 01:22:18.20ID:si5W7uAD はい
433デフォルトの名無しさん
2017/12/19(火) 01:23:17.40ID:cabpZd/N つまり、他の人にアンチ行為と受止められていると判ってて、
故意に続けるわけだな?
やめる気は無いのか?
故意に続けるわけだな?
やめる気は無いのか?
434デフォルトの名無しさん
2017/12/19(火) 01:23:40.17ID:si5W7uAD ない
435デフォルトの名無しさん
2017/12/19(火) 01:25:41.82ID:cabpZd/N 他の人に故意に不快を与える行為を続けるという事だね
板やレスの利用等を理解しているか?
板やレスの利用等を理解しているか?
436デフォルトの名無しさん
2017/12/19(火) 01:27:13.66ID:si5W7uAD うん
437デフォルトの名無しさん
2017/12/19(火) 01:29:43.14ID:cabpZd/N つまり、わかった上でやっているという事だね
それと、いまさらだがruby初心者?
それと、いまさらだがruby初心者?
438デフォルトの名無しさん
2017/12/19(火) 01:30:38.45ID:si5W7uAD ウイ
439デフォルトの名無しさん
2017/12/19(火) 01:32:59.85ID:cabpZd/N つまりRuby初心者だから間違ったことを言っていたという事だね
それはつまり、これからも間違った事を言い続けるって事かな?
それはつまり、これからも間違った事を言い続けるって事かな?
440デフォルトの名無しさん
2017/12/19(火) 01:33:45.75ID:si5W7uAD ノー
441デフォルトの名無しさん
2017/12/19(火) 01:36:06.55ID:cabpZd/N その返答は、今後は反省して間違ったことを言わない、って事を意味しているのかな?
442デフォルトの名無しさん
2017/12/19(火) 01:39:05.84ID:si5W7uAD __
, ‐' ´ ``‐、 / ̄:三}
. /,. -─‐- 、. ヽ / ,.=j
_,.:_'______ヽ、 .! ./ _,ノ
`‐、{ へ '゙⌒ `!~ヽ. ! /{. /
`! し゚ ( ゚j `v‐冫 , '::::::::ヽ、/ そんなことより野球しようぜ!
. {.l '⌒ ゙ 6',! / :::::::::::::::/ __
. 〈 < ´ ̄,フ .ノー'_ , ‐'´::::::::::::::;/ (_ノ)‐-、
. ヽ.、 ` ‐", ‐´‐:ラ ':::::::::::::::: ;∠. ヽ_} ゙ヽ
,.r` "´ /:::::::::::::::::::ィ´ `ゝ !、 /
/ / :::::::::::::::: ; '´ /´\ / r'\
. i ! ::::::::::::::/ 墨 | .!::::::::/ヽ、.._!ヽ. ヽ、
{ {:::::::::::;:イ / ‖i:::::::/:::::::::::::/ \
. ヽ ヽ,.ァ‐'´ /ヽ 二 ,/`ヽ、::::::::: /
, ‐' ´ ``‐、 / ̄:三}
. /,. -─‐- 、. ヽ / ,.=j
_,.:_'______ヽ、 .! ./ _,ノ
`‐、{ へ '゙⌒ `!~ヽ. ! /{. /
`! し゚ ( ゚j `v‐冫 , '::::::::ヽ、/ そんなことより野球しようぜ!
. {.l '⌒ ゙ 6',! / :::::::::::::::/ __
. 〈 < ´ ̄,フ .ノー'_ , ‐'´::::::::::::::;/ (_ノ)‐-、
. ヽ.、 ` ‐", ‐´‐:ラ ':::::::::::::::: ;∠. ヽ_} ゙ヽ
,.r` "´ /:::::::::::::::::::ィ´ `ゝ !、 /
/ / :::::::::::::::: ; '´ /´\ / r'\
. i ! ::::::::::::::/ 墨 | .!::::::::/ヽ、.._!ヽ. ヽ、
{ {:::::::::::;:イ / ‖i:::::::/:::::::::::::/ \
. ヽ ヽ,.ァ‐'´ /ヽ 二 ,/`ヽ、::::::::: /
443デフォルトの名無しさん
2017/12/19(火) 01:41:22.11ID:cabpZd/N 君は、いままでアンチを繰り返し多くの人を故意に不快にさせてきたわけだが、
今後も続けるのかい?
今後も続けるのかい?
444デフォルトの名無しさん
2017/12/19(火) 01:42:11.51ID:si5W7uAD 飽きた、>>409まで内容巻き戻すわ
動的言語がなぜリファクタリングに弱いかというと
いつクラスの定義が定まるかを考えてみればわかる
まずリファクタリングというのはソースコードを修正する
そしてクラスの定義はソースコードから生成される
この時、ソースコードからクラスの定義が単純に決まれば良いのだが
動的言語では、実行するまでクラスの定義が決まらない
ならば実行すればいいと思うかもしれないが、何をどう実行すれば
クラスの定義が定まるのかを知る方法がない
つまりクラスをリファクタリングする場合、
クラスの完成形を知ることができないので、
人間が判断するしかなくなってしまい時間がかかる
動的言語がなぜリファクタリングに弱いかというと
いつクラスの定義が定まるかを考えてみればわかる
まずリファクタリングというのはソースコードを修正する
そしてクラスの定義はソースコードから生成される
この時、ソースコードからクラスの定義が単純に決まれば良いのだが
動的言語では、実行するまでクラスの定義が決まらない
ならば実行すればいいと思うかもしれないが、何をどう実行すれば
クラスの定義が定まるのかを知る方法がない
つまりクラスをリファクタリングする場合、
クラスの完成形を知ることができないので、
人間が判断するしかなくなってしまい時間がかかる
445デフォルトの名無しさん
2017/12/19(火) 01:43:46.18ID:cabpZd/N ではもう一度聞こう
今後は反省して間違ったことを言わない、という意思はあるのかな?
今後は反省して間違ったことを言わない、という意思はあるのかな?
446デフォルトの名無しさん
2017/12/19(火) 01:45:58.37ID:si5W7uAD じゃまなので透明あぼーんした
447デフォルトの名無しさん
2017/12/19(火) 01:50:12.56ID:7ZIeceXv そんなことよりJOI2017/2018の話しようぜ
448デフォルトの名無しさん
2017/12/19(火) 01:54:22.14ID:RoMU0mit アンチスレに帰れよアンチ
449デフォルトの名無しさん
2017/12/19(火) 02:06:16.03ID:cabpZd/N Rubyについて知らない事を知ったふりして話してたわけか
道理で
道理で
450デフォルトの名無しさん
2017/12/19(火) 03:08:47.58ID:GcPOv6XA Ripper.sexp_rawからRipper.sexpに戻すと:stmts_add等が削られて微妙にやりにくい
全部rawの方でいい気がするがRipper.sexpってどういう時に使うんだ?
全部rawの方でいい気がするがRipper.sexpってどういう時に使うんだ?
451デフォルトの名無しさん
2017/12/19(火) 04:03:20.54ID:UdKVtF6e あれてんなw
型の次は、リファクタリングかよ
初心者の内容か?
俺の場合GoFなんかで書き直したい病が持病です。
んでrspec漏れてしょうもないバグおこす。
ほどほどに持病と付き合おうw
型の次は、リファクタリングかよ
初心者の内容か?
俺の場合GoFなんかで書き直したい病が持病です。
んでrspec漏れてしょうもないバグおこす。
ほどほどに持病と付き合おうw
452デフォルトの名無しさん
2017/12/19(火) 04:45:08.67ID:cabpZd/N453デフォルトの名無しさん
2017/12/19(火) 05:28:28.56ID:GcPOv6XA やっぱり表示用なんだ
それから出力された配列の操作なんだけど、
配列の中ごろ特定の要素を基に「上の配列に○○が在りかつ後ろの要素に△△があったら××」、
みたいな同定の仕方をしてるんだけど問題ある?
それから出力された配列の操作なんだけど、
配列の中ごろ特定の要素を基に「上の配列に○○が在りかつ後ろの要素に△△があったら××」、
みたいな同定の仕方をしてるんだけど問題ある?
454デフォルトの名無しさん
2017/12/19(火) 06:21:37.16ID:a07C5OyP 配列の操作ってそんなもんだろ
455デフォルトの名無しさん
2017/12/19(火) 07:00:22.12ID:ykexPK2V リファクタリングで香ばしい展開になっててわろた
オレがおっさんになったのが、たまたま住人がアホなのか、2ch民全体のレベルが下がったのか
オレがおっさんになったのが、たまたま住人がアホなのか、2ch民全体のレベルが下がったのか
456デフォルトの名無しさん
2017/12/19(火) 07:28:41.13ID:ZuB1zFT8457デフォルトの名無しさん
2017/12/19(火) 07:38:28.19ID:yvsoeKM9 >>455
Rubyはとっつきやすい分、ニワカとか、簡単だと思って挫折した勘違い君も多いからな。
リファクタリングにしても、用語の定義とか目的知らずに書いてるなあ、ってのばかり。
きちんと理解しようと思ったら、ガウディ本(CTMCP)で計算モデルを理解するのがお勧め。
あと「リファクタリング:Rubyエディション」とかで、以下を把握できる。
・リファクタリングはプログラム改善に使われることが多い。
・数多ある改善基準のうち、リファクタリングは何を対象にしているのか?
・改善手法は、計算モデルと、改善の目的により様々。
Rubyはとっつきやすい分、ニワカとか、簡単だと思って挫折した勘違い君も多いからな。
リファクタリングにしても、用語の定義とか目的知らずに書いてるなあ、ってのばかり。
きちんと理解しようと思ったら、ガウディ本(CTMCP)で計算モデルを理解するのがお勧め。
あと「リファクタリング:Rubyエディション」とかで、以下を把握できる。
・リファクタリングはプログラム改善に使われることが多い。
・数多ある改善基準のうち、リファクタリングは何を対象にしているのか?
・改善手法は、計算モデルと、改善の目的により様々。
458デフォルトの名無しさん
2017/12/19(火) 10:23:42.83ID:si5W7uAD >>457
なんかリファクタリングを理解してないようにみえる。
リファクタリングと計算モデルがどうつながるのか説明してみ
その後、あんたの意見と同等の話をしているサイトを言ってみ
リファクタリングと計算モデルは
ほとんどつながりがないことがわかるからさ
なんかリファクタリングを理解してないようにみえる。
リファクタリングと計算モデルがどうつながるのか説明してみ
その後、あんたの意見と同等の話をしているサイトを言ってみ
リファクタリングと計算モデルは
ほとんどつながりがないことがわかるからさ
459デフォルトの名無しさん
2017/12/19(火) 12:22:26.77ID:B3Kk66cH 結局、荒らしはアンチスレに帰らんかったのか
そりゃアンチスレも落ちぶれるわ
そりゃアンチスレも落ちぶれるわ
460デフォルトの名無しさん
2017/12/19(火) 22:13:01.86ID:5rvtlxA7 >>428
>Rubyでリファクタリングは静的言語よりも
>大変だって話をしてる
いいや、している話は:
「動的型付け言語は静的型付け言語よりも大変だ」
だよ
その主張は(個人的には)認めるけど、それだけでRubyスレに
粘着するのは荒らし行為そのものではないかな?
http://hissi.org/read.php/tech/20171219/c2k1Vzd1QUQ.html
それだけ「動的型付け言語におけるリファクタリング」に関心があるなら、
>>107 で紹介した専用スレへ移動すべきだよ
>Rubyでリファクタリングは静的言語よりも
>大変だって話をしてる
いいや、している話は:
「動的型付け言語は静的型付け言語よりも大変だ」
だよ
その主張は(個人的には)認めるけど、それだけでRubyスレに
粘着するのは荒らし行為そのものではないかな?
http://hissi.org/read.php/tech/20171219/c2k1Vzd1QUQ.html
それだけ「動的型付け言語におけるリファクタリング」に関心があるなら、
>>107 で紹介した専用スレへ移動すべきだよ
461デフォルトの名無しさん
2017/12/20(水) 00:18:03.50ID:n7Ixbq8J >>460
俺はそんなことは言ってないので他人の意見だね
Rubyが大変なのはソースコードを読むときだよ。書くときは比較的楽。
楽の意味がわからないなら、タイプ数が少ないと言い換えても良い
Rubyは書くときは楽で、読むときは大変
静的型付け言語はその逆
理由はまんまだが型という情報が書いてあるから。
情報を多く書かなければいけない静的型付け言語は大変で
でも情報が多く有るから静的型付け言語はわかりやすい
ただし前提として複数のモジュール(クラス等)から成り立ってる場合と
言ったほうが良いかもな。ローカル変数なんかは型が書いて無くても
すぐ近くにコードがあって該当の関数しか見なくていいから型がなくても大丈夫
一番の問題は複数モジュールから成り立っていて、特に別ファイルに分かれている場合
こういうのはドキュメントとして型情報を書いておかないと、わけわからなくなる
だけどドキュメントとして型情報書くなら、タイプ数は静的型付け言語より多くなってしまうので本末転倒
Rubyは書くときは楽(ドキュメントを書かないという前提)で、読むときは大変
ドキュメントを書くなら、それはソースコードに一元化した方がいいよって話になる
俺はそんなことは言ってないので他人の意見だね
Rubyが大変なのはソースコードを読むときだよ。書くときは比較的楽。
楽の意味がわからないなら、タイプ数が少ないと言い換えても良い
Rubyは書くときは楽で、読むときは大変
静的型付け言語はその逆
理由はまんまだが型という情報が書いてあるから。
情報を多く書かなければいけない静的型付け言語は大変で
でも情報が多く有るから静的型付け言語はわかりやすい
ただし前提として複数のモジュール(クラス等)から成り立ってる場合と
言ったほうが良いかもな。ローカル変数なんかは型が書いて無くても
すぐ近くにコードがあって該当の関数しか見なくていいから型がなくても大丈夫
一番の問題は複数モジュールから成り立っていて、特に別ファイルに分かれている場合
こういうのはドキュメントとして型情報を書いておかないと、わけわからなくなる
だけどドキュメントとして型情報書くなら、タイプ数は静的型付け言語より多くなってしまうので本末転倒
Rubyは書くときは楽(ドキュメントを書かないという前提)で、読むときは大変
ドキュメントを書くなら、それはソースコードに一元化した方がいいよって話になる
462デフォルトの名無しさん
2017/12/20(水) 00:50:26.05ID:gjXzJsOL 中身スカスカの長文なんてよく書き込めるな
頭の中もスカスカしてそう
頭の中もスカスカしてそう
463デフォルトの名無しさん
2017/12/20(水) 00:55:47.63ID:4hmeAMNm464デフォルトの名無しさん
2017/12/20(水) 02:10:20.76ID:wlycKVFQ rubyの可読性のよさには感動する
DSLとかすごい
たまーにendだらけになるのは難点w
DSLとかすごい
たまーにendだらけになるのは難点w
465デフォルトの名無しさん
2017/12/20(水) 02:23:39.76ID:Jv20jxkb 動的にリファクタリングさせるコード書いてるけど、
書けないやつはrubymine使えば良くね?
書けないやつはrubymine使えば良くね?
466デフォルトの名無しさん
2017/12/20(水) 02:51:18.20ID:s+zCj7ov 配列の操作そのものが難しいと勘違いしてるんじゃないか?
配列の操作に使うコードって大概は下みたいに10行前後で書けるだろ
class Array
def acces(ary = [])
return self if ary.empty?
colect_int = ary.dup
result = self[colect_int.shift]
return colect_int.empty? ? result : result.acces(colect_int)
end
end
配列の操作に使うコードって大概は下みたいに10行前後で書けるだろ
class Array
def acces(ary = [])
return self if ary.empty?
colect_int = ary.dup
result = self[colect_int.shift]
return colect_int.empty? ? result : result.acces(colect_int)
end
end
467デフォルトの名無しさん
2017/12/20(水) 05:23:54.83ID:Jv20jxkb 配列が苦手とか言われても
パーサから順にイベントを渡されて処理するより明らかに難易度低いだろ
パーサから順にイベントを渡されて処理するより明らかに難易度低いだろ
468デフォルトの名無しさん
2017/12/20(水) 06:54:28.40ID:6Esz8d8C 今のところ、リファクタリングについて誰ひとり説明できてないぞ?
もっとシンプルに表現できるだろw
もっとシンプルに表現できるだろw
469デフォルトの名無しさん
2017/12/20(水) 08:05:26.87ID:DZ3d9p1Y >>468
というお前さんも説明出来ない訳だが。
というお前さんも説明出来ない訳だが。
470デフォルトの名無しさん
2017/12/20(水) 08:07:18.11ID:DZ3d9p1Y >>458
数十レスも書いといて「リファクタリングとはこういうものだ」とすら書けない奴が何か言ってる。
数十レスも書いといて「リファクタリングとはこういうものだ」とすら書けない奴が何か言ってる。
471デフォルトの名無しさん
2017/12/20(水) 08:45:35.24ID:Za3FAu+s おい無職
自演はやめとけ
自演はやめとけ
472デフォルトの名無しさん
2017/12/20(水) 14:31:38.22ID:Za3FAu+s 毎朝7時8時から書き込める荒らしは何の仕事してるんや?
473デフォルトの名無しさん
2017/12/20(水) 18:57:50.54ID:2lbW5JOk RubyVM::InstructionSequence.compile("class Hoge end").eval
のコードを実行したら直後に
p Hoge.new
って問題無く書けるのか
コンテクストが別々だと勘違いしてた
のコードを実行したら直後に
p Hoge.new
って問題無く書けるのか
コンテクストが別々だと勘違いしてた
474デフォルトの名無しさん
2017/12/20(水) 22:34:07.59ID:4hmeAMNm >>470
リファクタリングを理解してませんと認めたってことでOKだね
リファクタリングを理解してませんと認めたってことでOKだね
475デフォルトの名無しさん
2017/12/20(水) 22:35:24.96ID:4hmeAMNm476デフォルトの名無しさん
2017/12/20(水) 22:48:45.50ID:4hmeAMNm >>466
> 配列の操作そのものが難しいと勘違いしてるんじゃないか?
> 配列の操作に使うコードって大概は下みたいに10行前後で書けるだろ
書けてないだろ?
それ何の処理するコードだよ
[1,2,3].acces([])
=> [1, 2, 3]
[1,2,3].acces([1])
=> 2
[1,2,3].acces([1,2])
NoMethodError: undefined method `acces' for 2:Integer
from (irb):6:in `acces'
from (irb):29
from C:/Ruby24-x64/bin/irb.cmd:19:in `<main>'
お前がそれじゃ、配列は難しいという結論にしかならんぞ
> 配列の操作そのものが難しいと勘違いしてるんじゃないか?
> 配列の操作に使うコードって大概は下みたいに10行前後で書けるだろ
書けてないだろ?
それ何の処理するコードだよ
[1,2,3].acces([])
=> [1, 2, 3]
[1,2,3].acces([1])
=> 2
[1,2,3].acces([1,2])
NoMethodError: undefined method `acces' for 2:Integer
from (irb):6:in `acces'
from (irb):29
from C:/Ruby24-x64/bin/irb.cmd:19:in `<main>'
お前がそれじゃ、配列は難しいという結論にしかならんぞ
477デフォルトの名無しさん
2017/12/20(水) 22:56:44.83ID:4hmeAMNm >>468
> 今のところ、リファクタリングについて誰ひとり説明できてないぞ?
> もっとシンプルに表現できるだろw
ソフトウェアの外部的振る舞いを保ちつつ、理解や修正が簡単になるように、内部構造を改善すること
補足を追加するならば、
振る舞いを保てていればいいので、アルゴリズムを変えてもOK
というか、無駄があったりしてわかりにくいアルゴリズムを
理解や修正が簡単になるように書き換えることもリファクタリングの一つ
何が言いたいかというと、リファクタリングはパースした結果が
一致するように書き換えることではないということ
パースできたからといって、リファクタリングができたことにはならない
> 今のところ、リファクタリングについて誰ひとり説明できてないぞ?
> もっとシンプルに表現できるだろw
ソフトウェアの外部的振る舞いを保ちつつ、理解や修正が簡単になるように、内部構造を改善すること
補足を追加するならば、
振る舞いを保てていればいいので、アルゴリズムを変えてもOK
というか、無駄があったりしてわかりにくいアルゴリズムを
理解や修正が簡単になるように書き換えることもリファクタリングの一つ
何が言いたいかというと、リファクタリングはパースした結果が
一致するように書き換えることではないということ
パースできたからといって、リファクタリングができたことにはならない
478デフォルトの名無しさん
2017/12/20(水) 23:30:14.73ID:nhQOfr/3 2.5まで後5日
479デフォルトの名無しさん
2017/12/21(木) 01:18:36.01ID:l5/5gdQz480デフォルトの名無しさん
2017/12/21(木) 01:42:59.97ID:prpojwIY >>479
いい加減学習しよう
422 自分:デフォルトの名無しさん[sage] 投稿日:2017/12/19(火) 01:06:10.31 ID:si5W7uAD [10/23]
はっきり言わないと理解できないのかな?
俺はアンチスレには行きません
何度言われてもね
いい加減学習しよう
422 自分:デフォルトの名無しさん[sage] 投稿日:2017/12/19(火) 01:06:10.31 ID:si5W7uAD [10/23]
はっきり言わないと理解できないのかな?
俺はアンチスレには行きません
何度言われてもね
481デフォルトの名無しさん
2017/12/21(木) 02:12:25.62ID:IcTBGDe8 自演ばれてんぞ
482デフォルトの名無しさん
2017/12/21(木) 02:49:55.63ID:l5/5gdQz483デフォルトの名無しさん
2017/12/21(木) 03:03:06.96ID:h5j2wgPh 例えば、構造やサイズが変わる多次元配列の要素を辿って行く必要がある場合、
添え字だけ集めて一括指定で辿れる様にするのって普通?
添え字だけ集めて一括指定で辿れる様にするのって普通?
484デフォルトの名無しさん
2017/12/21(木) 11:43:09.31ID:XGDp/jet >>477
はい。正解
はい。正解
485デフォルトの名無しさん
2017/12/21(木) 12:10:12.13ID:ow9tew52486デフォルトの名無しさん
2017/12/21(木) 13:37:15.11ID:K/addjJ3487デフォルトの名無しさん
2017/12/21(木) 14:41:34.48ID:nqxJQXq0 Array#dig
488デフォルトの名無しさん
2017/12/21(木) 18:29:48.77ID:ztrEyuDD 文字列に対して
・0〜9の一桁の数であれば頭に0を付け足す(例:00,01
・10以降はそのまま
という処理を行いたいんですが、正規表現でスパッとかけたりするんでしょうか
イメージとしては
text = "9"なら09
text = "10"なら10
として出力(print)がしたいです
gsubで置換できないか試しているのですがうまいこといかず・・・
アドバイス頂けますと幸いです
・0〜9の一桁の数であれば頭に0を付け足す(例:00,01
・10以降はそのまま
という処理を行いたいんですが、正規表現でスパッとかけたりするんでしょうか
イメージとしては
text = "9"なら09
text = "10"なら10
として出力(print)がしたいです
gsubで置換できないか試しているのですがうまいこといかず・・・
アドバイス頂けますと幸いです
489デフォルトの名無しさん
2017/12/21(木) 18:34:23.75ID:2OtOKx8R 正規表現よりも sprintfフォーマットを使おう
puts "%02d, %02d,%02d,%02d" % [1,5,10, 100]
#=> 01, 05,10,100
puts "%02d, %02d,%02d,%02d" % [1,5,10, 100]
#=> 01, 05,10,100
490デフォルトの名無しさん
2017/12/21(木) 18:34:49.31ID:ZdPTZj/x sprintf "%02d" % 9
sprintf "%02d" % 10
sprintf "%02d" % 10
491デフォルトの名無しさん
2017/12/21(木) 18:51:00.27ID:2OtOKx8R ちなみにあえてgsubでやるなら
'1'.gsub(/^(?=\d$)/, '0') #=> "01"
'42'.gsub(/^(?=\d$)/, '0') #=> "42"
'1'.gsub(/^(?=\d$)/, '0') #=> "01"
'42'.gsub(/^(?=\d$)/, '0') #=> "42"
492デフォルトの名無しさん
2017/12/21(木) 18:51:08.76ID:8yE94KQ4 %w(0 1 5 9 11 99 108 1024 16384).each do |x|
p x.sub(/^([0-9])$/) { "0#$1" } # キャプチャを使った例
# p x.sub(/^(?=[0-9]$)/) { "0" } # 先読みを使った例
# p "%02d" % x.to_i # 整数値に変換して書式文字列を使った例
end
"00"
"01"
"05"
"09"
"11"
"99"
"108"
"1024"
"16384"
p x.sub(/^([0-9])$/) { "0#$1" } # キャプチャを使った例
# p x.sub(/^(?=[0-9]$)/) { "0" } # 先読みを使った例
# p "%02d" % x.to_i # 整数値に変換して書式文字列を使った例
end
"00"
"01"
"05"
"09"
"11"
"99"
"108"
"1024"
"16384"
493デフォルトの名無しさん
2017/12/21(木) 19:24:42.40ID:gRGJJy1x ありがとうございます!sprintf、こういう風に使えるのですか。便利ですね・・・
正規表現での場合も教えていただきありがとうございました
勉強になりましたm(_ _)m
正規表現での場合も教えていただきありがとうございました
勉強になりましたm(_ _)m
494デフォルトの名無しさん
2017/12/21(木) 19:26:00.72ID:gRGJJy1x495デフォルトの名無しさん
2017/12/21(木) 19:32:53.88ID:aIK1VRoC 正規表現は後で泣くからなるべく使わないほうがいい。
もし使うのなら
複雑のは避けて
シンプル+シンプルと組み合わせて使うといい。
もし使うのなら
複雑のは避けて
シンプル+シンプルと組み合わせて使うといい。
496デフォルトの名無しさん
2017/12/21(木) 20:20:34.35ID:prpojwIY497デフォルトの名無しさん
2017/12/21(木) 22:24:14.24ID:OUKJWky+ >>461
>俺はそんなことは言ってないので他人の意見だね
いいや、もろに言ってるよ
君のレスに含まれるRubyという単語を改変してみた:
>動的型付け言語が大変なのはソースコードを読むときだよ。書くときは比較的楽。
>楽の意味がわからないなら、タイプ数が少ないと言い換えても良い
:
>理由はまんまだが型という情報が書いてあるから。
>情報を多く書かなければいけない静的型付け言語は大変で
>でも情報が多く有るから静的型付け言語はわかりやすい
なんら違和感もないだろう?あいも変わらずごく当たり前な一般論を語っているだけ
さあ、Rubyに限定されない「動的型付け言語におけるリファクタリング」を
語りたいのなら、このスレに粘着せず、>>107で紹介した専用スレへ移動しなさい
>俺はそんなことは言ってないので他人の意見だね
いいや、もろに言ってるよ
君のレスに含まれるRubyという単語を改変してみた:
>動的型付け言語が大変なのはソースコードを読むときだよ。書くときは比較的楽。
>楽の意味がわからないなら、タイプ数が少ないと言い換えても良い
:
>理由はまんまだが型という情報が書いてあるから。
>情報を多く書かなければいけない静的型付け言語は大変で
>でも情報が多く有るから静的型付け言語はわかりやすい
なんら違和感もないだろう?あいも変わらずごく当たり前な一般論を語っているだけ
さあ、Rubyに限定されない「動的型付け言語におけるリファクタリング」を
語りたいのなら、このスレに粘着せず、>>107で紹介した専用スレへ移動しなさい
498デフォルトの名無しさん
2017/12/21(木) 22:29:08.65ID:prpojwIY499デフォルトの名無しさん
2017/12/22(金) 10:53:32.70ID:zY/Ujd0Y 496から498までの自演を見てると小学生の演劇見せられてる気分になる
って事で晒しage
って事で晒しage
500デフォルトの名無しさん
2017/12/22(金) 15:56:43.92ID:o0zFMz04501デフォルトの名無しさん
2017/12/22(金) 15:57:53.00ID:o0zFMz04 つか、Ruby関係ないかw
502デフォルトの名無しさん
2017/12/22(金) 16:08:37.20ID:OF22/s+V ruby2.5は何が来るかな
503デフォルトの名無しさん
2017/12/22(金) 17:59:37.34ID:2CqGXpCv これでTypeScriptやPython方式の型ヒンティングが来たらコミュニティが大荒れするだろうな
504デフォルトの名無しさん
2017/12/22(金) 18:04:00.26ID:hLTr5w9I Ruby 2.5.0-rc1 リリース (12月14日)
https://www.ruby-lang.org/ja/news/2017/12/14/ruby-2-5-0-rc1-released/
★ 新機能 ★
* バックトレースおよびエラーメッセージが逆順に出力されるようになった (Railsゴリ押し?)
* トップレベルにおける定数検索の削除
* rescue/else/ensure が do/end ブロック内にも直接書けるようになった
* yield_self の追加
★ パフォーマンスの改善 ★
(略...
★ その他の注目すべき 2.4 からの変更点 ★
* Onigmo 6.1.3 の取り組み (実際は Ruby 2.4.1 にて取り込み済み)
* bundler の取り込み
その他略...
詳細は https://github.com/ruby/ruby/blob/v2_5_0_rc1/NEWS に書かれてる
☆彡 ☆彡 ☆彡 ☆彡 ☆彡
第三者の記事:
* サンプルコードでわかる!Ruby 2.5の主な新機能と変更点 https://qiita.com/jnchito/items/f182b6f0093a6a3701a1
https://www.ruby-lang.org/ja/news/2017/12/14/ruby-2-5-0-rc1-released/
★ 新機能 ★
* バックトレースおよびエラーメッセージが逆順に出力されるようになった (Railsゴリ押し?)
* トップレベルにおける定数検索の削除
* rescue/else/ensure が do/end ブロック内にも直接書けるようになった
* yield_self の追加
★ パフォーマンスの改善 ★
(略...
★ その他の注目すべき 2.4 からの変更点 ★
* Onigmo 6.1.3 の取り組み (実際は Ruby 2.4.1 にて取り込み済み)
* bundler の取り込み
その他略...
詳細は https://github.com/ruby/ruby/blob/v2_5_0_rc1/NEWS に書かれてる
☆彡 ☆彡 ☆彡 ☆彡 ☆彡
第三者の記事:
* サンプルコードでわかる!Ruby 2.5の主な新機能と変更点 https://qiita.com/jnchito/items/f182b6f0093a6a3701a1
505デフォルトの名無しさん
2017/12/22(金) 18:20:37.57ID:bOdX3AhV ね
ん
ま
つ
ん
ま
つ
506デフォルトの名無しさん
2017/12/22(金) 21:24:19.52ID:6yk8gXaG >>500
> 単純に静的言語はコンパイルである程度構文エラーを検出できるから楽を、
> リファクタリングが楽だと思ってるんじゃないかな
違うよ。静的型付け言語の場合が簡単なのは、
ソースコード上に型が書いてあるからだよ
コンパイルエラーは関係ない
例えば
class Klass {
> 単純に静的言語はコンパイルである程度構文エラーを検出できるから楽を、
> リファクタリングが楽だと思ってるんじゃないかな
違うよ。静的型付け言語の場合が簡単なのは、
ソースコード上に型が書いてあるからだよ
コンパイルエラーは関係ない
例えば
class Klass {
507デフォルトの名無しさん
2017/12/22(金) 21:28:48.59ID:6yk8gXaG (間違って途中で送信した)
例えば
class Klass {
function foo() { }
}
みたいなクラスがあって、
fooをbarに書き換える時
↓ このように型が書いてあれば、ここのfooもbarに
書き換えなきゃいけないとわかる
function f(Klass k) {
k.foo();
}
↓ でもこの場合は、書き換えれば良いのかわからない
function f(k) {
k.foo();
}
ソースコード全体から、fを呼び出している所をすべて探して
引数にKlassクラス(もしくはそれを継承したクラス)を
渡していることを確認しなければいけない
例えば
class Klass {
function foo() { }
}
みたいなクラスがあって、
fooをbarに書き換える時
↓ このように型が書いてあれば、ここのfooもbarに
書き換えなきゃいけないとわかる
function f(Klass k) {
k.foo();
}
↓ でもこの場合は、書き換えれば良いのかわからない
function f(k) {
k.foo();
}
ソースコード全体から、fを呼び出している所をすべて探して
引数にKlassクラス(もしくはそれを継承したクラス)を
渡していることを確認しなければいけない
508デフォルトの名無しさん
2017/12/22(金) 21:38:46.01ID:6yk8gXaG 今回は一番簡単な例としてメソッド名の変更を例にしたが
例えば、メソッドの引数の数が変わったときも
型がわかれば、メソッドが特定できるので、変えなければいけない場所がわかる
メソッドが消えたこともわかる
クラス名で検索すれば、そのクラスを使ってるモジュールもわかるしね
シグネチャの変更に関わる部分は、静的型付け言語の場合は
すごく簡単に変更すべき場所を特定できる
例えば、メソッドの引数の数が変わったときも
型がわかれば、メソッドが特定できるので、変えなければいけない場所がわかる
メソッドが消えたこともわかる
クラス名で検索すれば、そのクラスを使ってるモジュールもわかるしね
シグネチャの変更に関わる部分は、静的型付け言語の場合は
すごく簡単に変更すべき場所を特定できる
509デフォルトの名無しさん
2017/12/22(金) 21:40:18.92ID:6yk8gXaG ここにリファクタリングの種類が書いてあるが、大部分は
シグネチャ(クラスやメソッドの名前や引数の変更)を伴うものだよ
https://so-zou.jp/software/tech/programming/tech/refactoring/
シグネチャ(クラスやメソッドの名前や引数の変更)を伴うものだよ
https://so-zou.jp/software/tech/programming/tech/refactoring/
510デフォルトの名無しさん
2017/12/22(金) 21:42:20.33ID:2CqGXpCv Rubyの静的解析の難しさに関して言えば、単にソースに型が書いてないというだけではないんだよなあ
Rubyって、静的なクラス定義というのがそもそも存在しないんだよ
動かしてみて、RubyのVMのメモリ上に結果としてクラスオブジェクトができて、そこではじめてクラスが定義されたことになるの
この式のクラスは何か?とか考える以前に、クラスなんてものは動かしてみるまで無いの
Rubyって、静的なクラス定義というのがそもそも存在しないんだよ
動かしてみて、RubyのVMのメモリ上に結果としてクラスオブジェクトができて、そこではじめてクラスが定義されたことになるの
この式のクラスは何か?とか考える以前に、クラスなんてものは動かしてみるまで無いの
511デフォルトの名無しさん
2017/12/22(金) 21:48:13.59ID:6yk8gXaG そう。それもあるね。
動くか、動いてないかの二択じゃないか?って
思うかもしれないがぜんぜん違う。
動いてない状態というのは一つしかないが、
動いている状態というのは無限に近い数ある
「0」と「0以上」の違いと同じ
動いてないという一つの状態なら、全部を調べることも可能だが、
動いているという無限にある状態は、調べ上げることは不可能
動くか、動いてないかの二択じゃないか?って
思うかもしれないがぜんぜん違う。
動いてない状態というのは一つしかないが、
動いている状態というのは無限に近い数ある
「0」と「0以上」の違いと同じ
動いてないという一つの状態なら、全部を調べることも可能だが、
動いているという無限にある状態は、調べ上げることは不可能
512デフォルトの名無しさん
2017/12/22(金) 22:04:35.06ID:5nY8hqH+513デフォルトの名無しさん
2017/12/22(金) 22:17:37.91ID:6yk8gXaG 「クラスなんてものは動かしてみるまで無い」かもしれないが、
「仕様(やりたいこと)は動かしてみなくてもある」
ソースコードは動かさなくても「そのクラスは○○であること」
(○○にはメソッドが有ることとかはいります)を前提に
書いてあるというのに「動かしてみるまで無い」ことに意味があるのだろうか
「仕様(やりたいこと)は動かしてみなくてもある」
ソースコードは動かさなくても「そのクラスは○○であること」
(○○にはメソッドが有ることとかはいります)を前提に
書いてあるというのに「動かしてみるまで無い」ことに意味があるのだろうか
514デフォルトの名無しさん
2017/12/22(金) 22:21:48.38ID:2CqGXpCv >>513がRailsを触ったことがないのはわかった
515デフォルトの名無しさん
2017/12/22(金) 22:25:46.71ID:6yk8gXaG516デフォルトの名無しさん
2017/12/22(金) 22:27:24.55ID:2CqGXpCv517デフォルトの名無しさん
2017/12/22(金) 22:32:17.34ID:6yk8gXaG >>516
DBのスキーマを実行時に変えたりすることなんてまず無いだろ
実行前にスキーマは決まってる。
ならクラスも実行前に生成することは可能なわけだが?
Railsが実行後に決めているからと言って、実行時に決まることにはならない
スキーマは実行前に決まっているし、今話してるソースコードだって
そのフィールドが存在するという前提のソースコードを書いてるだろ
動的に生成してるその情報は、本当は実行前に決まってるんやで?
DBのスキーマを実行時に変えたりすることなんてまず無いだろ
実行前にスキーマは決まってる。
ならクラスも実行前に生成することは可能なわけだが?
Railsが実行後に決めているからと言って、実行時に決まることにはならない
スキーマは実行前に決まっているし、今話してるソースコードだって
そのフィールドが存在するという前提のソースコードを書いてるだろ
動的に生成してるその情報は、本当は実行前に決まってるんやで?
518516
2017/12/22(金) 22:43:01.67ID:2CqGXpCv 可能かどうかとやるかどうかは別問題だろう
それRuby3の型検査の仕様として提案してみろ、このスレどころではなく罵倒と嘲笑の的だぞ
それRuby3の型検査の仕様として提案してみろ、このスレどころではなく罵倒と嘲笑の的だぞ
519デフォルトの名無しさん
2017/12/22(金) 22:44:49.43ID:6yk8gXaG520デフォルトの名無しさん
2017/12/22(金) 22:49:53.16ID:6yk8gXaG 動的言語といっても本当に動的に決まることはほとんどなく
静的に決まってる情報を元に動的に作ってるだけなんだよな。
だから実行するたびに毎回同じものが作られる。
毎回同じものを作るなら、キャッシュするかのように
最初から作っておけば良いわけさ
静的に決まってる情報を元に動的に作ってるだけなんだよな。
だから実行するたびに毎回同じものが作られる。
毎回同じものを作るなら、キャッシュするかのように
最初から作っておけば良いわけさ
521デフォルトの名無しさん
2017/12/22(金) 22:50:08.15ID:2CqGXpCv >>519
DBスキーマまで考慮したメタプログラミング対応の静的解析ツールを作るってこと?
実用的なものができると本気で思うなら作ればいいんじゃね?
みんな喜ぶし、そんな実績があればそれこそMRIの主要メンバーとしてRuby3の仕様決定を主導できるぞ
頑張れよ
DBスキーマまで考慮したメタプログラミング対応の静的解析ツールを作るってこと?
実用的なものができると本気で思うなら作ればいいんじゃね?
みんな喜ぶし、そんな実績があればそれこそMRIの主要メンバーとしてRuby3の仕様決定を主導できるぞ
頑張れよ
522デフォルトの名無しさん
2017/12/22(金) 23:01:34.92ID:6yk8gXaG >>521
だから動的言語の仕様じゃ無理だって話してるじゃんw
ソースコードにクラスという型を書いてあるから多くのリファクタリングが簡単に出来るようになる
静的に決まってるならソースコードに静的に書けるわけで、
静的に書いておけば、リファクタリングが簡単に早くできるって話をしてる
だから動的言語の仕様じゃ無理だって話してるじゃんw
ソースコードにクラスという型を書いてあるから多くのリファクタリングが簡単に出来るようになる
静的に決まってるならソースコードに静的に書けるわけで、
静的に書いておけば、リファクタリングが簡単に早くできるって話をしてる
523デフォルトの名無しさん
2017/12/22(金) 23:36:34.81ID:5nY8hqH+524デフォルトの名無しさん
2017/12/23(土) 00:24:15.46ID:eRzaIxhX 動的メソッドは?(初心者並感)
525デフォルトの名無しさん
2017/12/23(土) 07:12:36.09ID:SJqo2RLv >>522のその論理はもういいよw
食いたくないのに食わされてお腹いっぱいっすわ
食いたくないのに食わされてお腹いっぱいっすわ
526デフォルトの名無しさん
2017/12/23(土) 07:28:35.18ID:SJqo2RLv527デフォルトの名無しさん
2017/12/23(土) 10:11:10.96ID:f0qvO5Sa528デフォルトの名無しさん
2017/12/23(土) 10:11:40.67ID:f0qvO5Sa >>525
食いたくないなら見るな
食いたくないなら見るな
529デフォルトの名無しさん
2017/12/23(土) 10:13:50.17ID:AknL/7GP このスレはいっつも議論してんなぁ
みんな日中は何してる人なの?
みんな日中は何してる人なの?
530デフォルトの名無しさん
2017/12/23(土) 10:18:01.60ID:f0qvO5Sa 普通に仕事してるよ。
だから平日の日中は書き込めない
だから平日の日中は書き込めない
531デフォルトの名無しさん
2017/12/23(土) 10:58:49.51ID:YmDQ4aAw Rspecで下みたいな書き方ってあり?
それとも避けられる?
# def f n
# n + n
# end
context 'fの引数が0から255のとき' do
??256.times do |i|
????it { expect( f(i) ).to eq (2 * i) }
??end
end
それとも避けられる?
# def f n
# n + n
# end
context 'fの引数が0から255のとき' do
??256.times do |i|
????it { expect( f(i) ).to eq (2 * i) }
??end
end
532デフォルトの名無しさん
2017/12/23(土) 11:05:45.83ID:QLWK33W3533デフォルトの名無しさん
2017/12/23(土) 11:10:32.49ID:YmDQ4aAw >>532
じゃあもし0から255まで全部パスするか書きたいときは
it { expect( f(0) ).to eq (0) }
it { expect( f(1) ).to eq (2) }
...
ってズラっと列挙しろってこと?
じゃあもし0から255まで全部パスするか書きたいときは
it { expect( f(0) ).to eq (0) }
it { expect( f(1) ).to eq (2) }
...
ってズラっと列挙しろってこと?
534デフォルトの名無しさん
2017/12/23(土) 11:14:45.72ID:QLWK33W3 あと、「nの2倍を返す」という観点と「入力は0から255まで」という観点がごっちゃになってるのも良くない
この場合、前者を代表値(5とか)でテストして、それに加えて後者の観点で境界値(0と255)を試すくらいでいいと思うよ
代表値は冗長かもしれないけど前者の観点をわかりやすく表現するという意味では価値はある
この場合、前者を代表値(5とか)でテストして、それに加えて後者の観点で境界値(0と255)を試すくらいでいいと思うよ
代表値は冗長かもしれないけど前者の観点をわかりやすく表現するという意味では価値はある
535デフォルトの名無しさん
2017/12/23(土) 11:18:46.43ID:LnjVX11P プロパティテストにしろよ。
536デフォルトの名無しさん
2017/12/23(土) 11:58:54.91ID:YmDQ4aAw537デフォルトの名無しさん
2017/12/23(土) 15:22:55.73ID:f0qvO5Sa テステス
538デフォルトの名無しさん
2017/12/23(土) 15:29:55.01ID:UWK7YGb5 荒らしがハッスるしとる
やっぱアンチも人のいないアンチスレより人の多い本スレに来てしゃべりたいのか
かわいそう
やっぱアンチも人のいないアンチスレより人の多い本スレに来てしゃべりたいのか
かわいそう
539デフォルトの名無しさん
2017/12/23(土) 15:32:00.40ID:f0qvO5Sa あ、いや、いままでとちょっと違うことを書き込もうと思ったけど
ID変わってたかなーって思っただけ
変わってなかったので違う話はしないよw
あと他のスレには行かないと何度もいってる
あきらメロン
ID変わってたかなーって思っただけ
変わってなかったので違う話はしないよw
あと他のスレには行かないと何度もいってる
あきらメロン
540デフォルトの名無しさん
2017/12/24(日) 09:48:03.56ID:24EH1p52 https://rubyinstaller.org/downloads/
Windows10 に、Ruby を入れようと、
上のページの、7-Zip Archives から、Ruby 2.4(x64)をダウンロードすると、
rubyinstaller-2.4.3-1-x64.7z というファイル名だった。
これを、7-Zip で解凍すると、56MB になった
C:\Ruby24-x64\
とフォルダ名を変えたけど、ここからどうやってインストールするの?
それとも、これはインストーラーではないのかな?
Windows10 に、Ruby を入れようと、
上のページの、7-Zip Archives から、Ruby 2.4(x64)をダウンロードすると、
rubyinstaller-2.4.3-1-x64.7z というファイル名だった。
これを、7-Zip で解凍すると、56MB になった
C:\Ruby24-x64\
とフォルダ名を変えたけど、ここからどうやってインストールするの?
それとも、これはインストーラーではないのかな?
541デフォルトの名無しさん
2017/12/24(日) 10:02:29.66ID:naA/wMe4 環境を書いてから
何したいかを言え
何したいかを言え
542デフォルトの名無しさん
2017/12/24(日) 10:08:38.24ID:imZP4RC3 なんで素直にexe落とさないの?
543540
2017/12/24(日) 10:48:40.19ID:24EH1p52 圧縮された書庫だから、7-Zip Archives から、Ruby 2.4(x64)をダウンロードしたけど、
これはインストーラーとは違うものなのか?
rubyinstaller-2.4.3-1-x64.7z というファイル名だったけど
7-Zip Archives の上にある、RubyInstallers から、Ruby 2.4(x64)をダウンロードしてみるわ
これはインストーラーとは違うものなのか?
rubyinstaller-2.4.3-1-x64.7z というファイル名だったけど
7-Zip Archives の上にある、RubyInstallers から、Ruby 2.4(x64)をダウンロードしてみるわ
544540
2017/12/24(日) 11:01:29.86ID:24EH1p52 PowerShell で、7-Zip Archives 中の、\bin\ridk.ps1 version を実行してみた
PS C:\Ruby24-x64\bin> .\ridk.ps1 version
---
ruby:
path: C:/Ruby24-x64
version: 2.4.3
platform: x64-mingw32
ruby_installer:
package_version: 2.4.3-1
git_commit: 36aac73
os: Microsoft Windows [Version 10.0.16299.125]
やっぱり、これも、RubyInstaller なのかな?
よくわからない
PS C:\Ruby24-x64\bin> .\ridk.ps1 version
---
ruby:
path: C:/Ruby24-x64
version: 2.4.3
platform: x64-mingw32
ruby_installer:
package_version: 2.4.3-1
git_commit: 36aac73
os: Microsoft Windows [Version 10.0.16299.125]
やっぱり、これも、RubyInstaller なのかな?
よくわからない
545デフォルトの名無しさん
2017/12/24(日) 11:02:00.42ID:A3ERayLu Rubyにパイプラインオペレータってないの?
JavaScriptだと
exclaim(capitalize(doubleSay("hello")));
というカッコの入れ子が
"hello" |> doubleSay |> capitalize |> exclaim;
とシェルスクリプトのパイプのように
流れるような形で記述できるようになるらしいんだけど
JavaScriptだと
exclaim(capitalize(doubleSay("hello")));
というカッコの入れ子が
"hello" |> doubleSay |> capitalize |> exclaim;
とシェルスクリプトのパイプのように
流れるような形で記述できるようになるらしいんだけど
546デフォルトの名無しさん
2017/12/24(日) 11:05:46.33ID:mMj7aGtc547540
2017/12/24(日) 11:08:13.75ID:24EH1p52 7-Zip Archives からダウンロードした、Ruby 2.4(x64)は、
ひょっとして、CUI 版のインストーラーなのかな?
(rubyinstaller-2.4.3-1-x64.7z というファイル名だった)
7-Zip Archives 中の、\bin\ridk.ps1 に引数を付けて、
インストールするのかも知れない
よくわからないけど。
インストーラーじゃないかも知れないし
ひょっとして、CUI 版のインストーラーなのかな?
(rubyinstaller-2.4.3-1-x64.7z というファイル名だった)
7-Zip Archives 中の、\bin\ridk.ps1 に引数を付けて、
インストールするのかも知れない
よくわからないけど。
インストーラーじゃないかも知れないし
548デフォルトの名無しさん
2017/12/24(日) 11:08:41.37ID:2eVeUlKQ549デフォルトの名無しさん
2017/12/24(日) 11:14:59.06ID:24EH1p52550540
2017/12/24(日) 11:29:56.75ID:24EH1p52 7-Zip Archives から、Ruby 2.4(x64)をダウンロードすると、
rubyinstaller-2.4.3-1-x64.7z というファイル名だった。
これを、7-Zip で解凍すると、56MB になった
56MB もあるし、\bin の中には、ruby.exe, rubyw.exe もある。
実行環境が揃っているような気もする
実はポータブル版で、環境変数PATH を通せば、実行できるのかも知れない
よくわからないけど、何か捨てがたいw
rubyinstaller-2.4.3-1-x64.7z というファイル名だった。
これを、7-Zip で解凍すると、56MB になった
56MB もあるし、\bin の中には、ruby.exe, rubyw.exe もある。
実行環境が揃っているような気もする
実はポータブル版で、環境変数PATH を通せば、実行できるのかも知れない
よくわからないけど、何か捨てがたいw
551540
2017/12/24(日) 11:37:26.57ID:24EH1p52 PowerShell で、7-Zip Archives 中の、\bin\ruby.exe -v を実行してみた
PS C:\Ruby24-x64\bin> .\ruby.exe -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x64-mingw32]
やっぱり、7-Zip Archives の中にあるやつは、ポータブル版じゃないのか?
ひょっとして、実行もできるかも?
PS C:\Ruby24-x64\bin> .\ruby.exe -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x64-mingw32]
やっぱり、7-Zip Archives の中にあるやつは、ポータブル版じゃないのか?
ひょっとして、実行もできるかも?
552デフォルトの名無しさん
2017/12/24(日) 12:51:21.82ID:W/aeQ+z1 実行できて当たり前なのに何を言っているのか
インストーラーはパスを通したりするだけだぞ
インストーラーはパスを通したりするだけだぞ
553540
2017/12/24(日) 13:37:01.71ID:24EH1p52 7-Zip Archives からダウンロードした、Ruby 2.4(x64)は、
環境変数PATH が通っていないだけで、実行できるの?
ここに、実行環境が一式が揃っているの?
つまり、どこにでも移動できるポータブル版?
環境変数PATH が通っていないだけで、実行できるの?
ここに、実行環境が一式が揃っているの?
つまり、どこにでも移動できるポータブル版?
554デフォルトの名無しさん
2017/12/24(日) 13:55:33.60ID:A3ERayLu555デフォルトの名無しさん
2017/12/24(日) 13:58:58.91ID:A3ERayLu556デフォルトの名無しさん
2017/12/24(日) 14:12:36.12ID:BNj/0IJ2 >>555
Rubyに文句を言う前にまずはRubyの仕様くらいちゃんと理解しよう
+は全く特別なところのないごく普通のインスタンスメソッド呼び出しだぞ
関数型でaddにパイプライン使うとしたら
b |> add(a) # add(a, b)に相当
こうなるわけだが、理解してるか?
Rubyに文句を言う前にまずはRubyの仕様くらいちゃんと理解しよう
+は全く特別なところのないごく普通のインスタンスメソッド呼び出しだぞ
関数型でaddにパイプライン使うとしたら
b |> add(a) # add(a, b)に相当
こうなるわけだが、理解してるか?
557デフォルトの名無しさん
2017/12/24(日) 14:15:02.58ID:A3ERayLu >>556
まあ君はJavaScriptの仕様を知らなくて当然だろうけどね
|> オペレータっていうのは、引数を一つの関数呼び出しの
シンタックスシュガーに過ぎない
だから関数呼び出しを行ってるのと一緒
関数呼び出しをするとオブジェクト指向にならないのか?
そんなわけあるかw
まあ君はJavaScriptの仕様を知らなくて当然だろうけどね
|> オペレータっていうのは、引数を一つの関数呼び出しの
シンタックスシュガーに過ぎない
だから関数呼び出しを行ってるのと一緒
関数呼び出しをするとオブジェクト指向にならないのか?
そんなわけあるかw
558デフォルトの名無しさん
2017/12/24(日) 14:29:26.20ID:BNj/0IJ2 >>557
ある機能が言語に追加されることでコーディングのスタイルが大きく変わってしまうことはよくある。
まあそういう経験則的な話は君には通じなそうだから、もっと具体的にRubyとの相性の悪さを説明してあげよう。
まず、関数型言語やJavaScriptでは裸の関数名は第一級関数(関数オブジェクト)だが、Rubyではメソッド呼び出しになってしまう。
だから>>548のようにシンボルを使った汚いハックをするか、|>の後にくる識別子は第一級関数として扱うという特別ルールを設けることになる。
特別ルールを設けたとしても、>>556のaddの例みたいな使い方には対応できない。
君は関数型言語を知らないみたいだから説明しとくと、add(a)はadd関数の第一引数にaを部分適用(カリー化)した引数一個の関数を返す。
|>の直後には必ず関数名が来るというルールだと、これは実現できないのはわかるよね。
ある機能が言語に追加されることでコーディングのスタイルが大きく変わってしまうことはよくある。
まあそういう経験則的な話は君には通じなそうだから、もっと具体的にRubyとの相性の悪さを説明してあげよう。
まず、関数型言語やJavaScriptでは裸の関数名は第一級関数(関数オブジェクト)だが、Rubyではメソッド呼び出しになってしまう。
だから>>548のようにシンボルを使った汚いハックをするか、|>の後にくる識別子は第一級関数として扱うという特別ルールを設けることになる。
特別ルールを設けたとしても、>>556のaddの例みたいな使い方には対応できない。
君は関数型言語を知らないみたいだから説明しとくと、add(a)はadd関数の第一引数にaを部分適用(カリー化)した引数一個の関数を返す。
|>の直後には必ず関数名が来るというルールだと、これは実現できないのはわかるよね。
559558
2017/12/24(日) 14:33:34.04ID:BNj/0IJ2 それと、Rubyの関数は殆どがインスタンスメソッドであるというのも忘れてはいけない。
x |> y.hoge
これは y.hoge(x) と解釈すべきだろうか?
それともy.hoge()(x)かな?
今のRubyの仕様からすると後者が自然だと思わない?
x |> y.hoge
これは y.hoge(x) と解釈すべきだろうか?
それともy.hoge()(x)かな?
今のRubyの仕様からすると後者が自然だと思わない?
560デフォルトの名無しさん
2017/12/24(日) 14:46:41.85ID:bBhW4Y9m ようお前ら。
Ruby 2.5が来るのは明日だぞ。
gem作ってる奴はちゃんと準備出来てるか?
Ruby2.5にした途端に泣きを見ることのないようにしとけよ。
Ruby 2.5が来るのは明日だぞ。
gem作ってる奴はちゃんと準備出来てるか?
Ruby2.5にした途端に泣きを見ることのないようにしとけよ。
561デフォルトの名無しさん
2017/12/24(日) 15:29:04.65ID:A3ERayLu >>558
あ、なるほどw シンタックスシュガーって言ってるのに、
あんたは関数型の仕様に変更すると思い込んでるわけかw
俺、Rubyを関数型にしろなんて一言も言ってないよ?
JavaScriptが関数型になったなんて一言も言ってないよ?
ただ、関数呼び出しのネストは見づらいから、一つの引数を取る関数の呼び出しを
|> でつなげた "書き方" ができると良いねって話しかしてないんだよ
> 今のRubyの仕様からすると後者が自然だと思わない?
理由が書いてないから判断不可能だね
>>556
> 関数型でaddにパイプライン使うとしたら
> b |> add(a) # add(a, b)に相当
> こうなるわけだが、理解してるか?
ぷぷw |> という記号を使っだけで、関数型になるべきだなんて
思い込んでるからそういう結論になる。馬鹿だねぇ
JavaScriptの関数型でない単なるパイプラインオペレータは引数が1つの
関数を受け取ることしかできない。 カリー化?そんなものはしない。
関数型のパイプラインオペレータを導入なんて話はしてないんだから当然の結論
引数が複数の関数を使いたければ、アロー関数でそうなるように書くだけの話
https://github.com/tc39/proposal-pipeline-operator
let newScore = person.score |> double |> (_ => add(7, _)) # アンダースコアは只の変数、iでもaでも良い
papp proposalのpappメソッドを使うとこう書くこともできるようだけど
let newScore = person.score |> double |> add.papp(7)
あ、なるほどw シンタックスシュガーって言ってるのに、
あんたは関数型の仕様に変更すると思い込んでるわけかw
俺、Rubyを関数型にしろなんて一言も言ってないよ?
JavaScriptが関数型になったなんて一言も言ってないよ?
ただ、関数呼び出しのネストは見づらいから、一つの引数を取る関数の呼び出しを
|> でつなげた "書き方" ができると良いねって話しかしてないんだよ
> 今のRubyの仕様からすると後者が自然だと思わない?
理由が書いてないから判断不可能だね
>>556
> 関数型でaddにパイプライン使うとしたら
> b |> add(a) # add(a, b)に相当
> こうなるわけだが、理解してるか?
ぷぷw |> という記号を使っだけで、関数型になるべきだなんて
思い込んでるからそういう結論になる。馬鹿だねぇ
JavaScriptの関数型でない単なるパイプラインオペレータは引数が1つの
関数を受け取ることしかできない。 カリー化?そんなものはしない。
関数型のパイプラインオペレータを導入なんて話はしてないんだから当然の結論
引数が複数の関数を使いたければ、アロー関数でそうなるように書くだけの話
https://github.com/tc39/proposal-pipeline-operator
let newScore = person.score |> double |> (_ => add(7, _)) # アンダースコアは只の変数、iでもaでも良い
papp proposalのpappメソッドを使うとこう書くこともできるようだけど
let newScore = person.score |> double |> add.papp(7)
562デフォルトの名無しさん
2017/12/24(日) 15:52:11.56ID:2eVeUlKQ563デフォルトの名無しさん
2017/12/24(日) 15:54:48.61ID:/VeWYwOF Juliaおぬぬめ
564デフォルトの名無しさん
2017/12/24(日) 16:00:56.08ID:2eVeUlKQ Juliaいいね。これから大注目の言語だよ
ただ、現状は起動が激重なのでJuliacとかが公式採用されないとつらいかも
そういう意味ではJavaに似てるのかも(言語仕様という意味ではなく)
ただ、現状は起動が激重なのでJuliacとかが公式採用されないとつらいかも
そういう意味ではJavaに似てるのかも(言語仕様という意味ではなく)
565デフォルトの名無しさん
2017/12/24(日) 16:12:39.10ID:BNj/0IJ2 Juliaはクソ重い計算やデータの処理を長時間ぶっ通しで動かすための言語だよ
Rubyと比べるようなもんではないし、起動時間が問題になるようなものに使うのも間違い
Rubyと比べるようなもんではないし、起動時間が問題になるようなものに使うのも間違い
566デフォルトの名無しさん
2017/12/24(日) 20:04:37.70ID:4g6ysjQ5 >>545
>流れるような形で記述できるようになるらしいんだけど
できるようになるといふのは、以下の提案かな?
・ESNext Proposal: The Pipeline Operator
https://github.com/tc39/proposal-pipeline-operator
調べてみると、これはあくまで提案(proposal)であって、
5段階あるECMAScript(= JavaScript)仕様策定過程の2番目に過ぎない
0. Strawman
1. Proposal <― パイプライン演算子の状態
2. Draft
3. Candidate
4. Finished
当然、現時点でその実装は存在しておらず「絵に描いた餅」に過ぎない
言い換えると、「こんなのできたらいいなあ」といふ話だよね?
>流れるような形で記述できるようになるらしいんだけど
できるようになるといふのは、以下の提案かな?
・ESNext Proposal: The Pipeline Operator
https://github.com/tc39/proposal-pipeline-operator
調べてみると、これはあくまで提案(proposal)であって、
5段階あるECMAScript(= JavaScript)仕様策定過程の2番目に過ぎない
0. Strawman
1. Proposal <― パイプライン演算子の状態
2. Draft
3. Candidate
4. Finished
当然、現時点でその実装は存在しておらず「絵に描いた餅」に過ぎない
言い換えると、「こんなのできたらいいなあ」といふ話だよね?
567デフォルトの名無しさん
2017/12/24(日) 20:35:54.14ID:4g6ysjQ5 >>561
>関数型のパイプラインオペレータを導入なんて話はしてないんだから当然の結論
え、こう書けないっていうの?
let newScore = person.score |> double |> add(7)
もし pipeline proposal が Finished(採用決定)になったとしても、このコードを
let newScore = person.score |> double |> (_ => add(7, _))
こうも冗長に書かなけりゃならないなんて、ダサイというか中途半端な提案だと思う
>>554の言葉を借りると:
期待したけど、やっぱりJavaScriptの文法からは抜け出せないか
新しい提案と言っても所詮JavaScriptの言語であることに変わりはないしな
っていう感想です
しかも更にpapp proposal(部分適用サポートの提案)がFinishedになったと仮定してもなお
let newScore = person.score |> double |> add.papp(7)
こうなっちゃうなんて、もう少し練り直してから提案した方がいいと思うんだけどなぁ
>関数型のパイプラインオペレータを導入なんて話はしてないんだから当然の結論
え、こう書けないっていうの?
let newScore = person.score |> double |> add(7)
もし pipeline proposal が Finished(採用決定)になったとしても、このコードを
let newScore = person.score |> double |> (_ => add(7, _))
こうも冗長に書かなけりゃならないなんて、ダサイというか中途半端な提案だと思う
>>554の言葉を借りると:
期待したけど、やっぱりJavaScriptの文法からは抜け出せないか
新しい提案と言っても所詮JavaScriptの言語であることに変わりはないしな
っていう感想です
しかも更にpapp proposal(部分適用サポートの提案)がFinishedになったと仮定してもなお
let newScore = person.score |> double |> add.papp(7)
こうなっちゃうなんて、もう少し練り直してから提案した方がいいと思うんだけどなぁ
568540
2017/12/24(日) 22:02:54.10ID:24EH1p52 JS は、Ruby, Elixir の影響が強い。
Kotlin も、Groovy, Ruby の影響が強い
誰か、
>>540
の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)をどうすればよいのか、教えてほしい
Kotlin も、Groovy, Ruby の影響が強い
誰か、
>>540
の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)をどうすればよいのか、教えてほしい
569デフォルトの名無しさん
2017/12/24(日) 22:25:11.95ID:ZqTzsWSR >>568
パスを通せ
パスを通せ
570デフォルトの名無しさん
2017/12/24(日) 23:05:16.75ID:A3ERayLu >>567
> え、こう書けないっていうの?
少しは頭を働かせようよw
そこにある、add(7) が引数を一つ取る関数を返すなら書けるよ
それを汎用化したのがpapp。それにJavaScriptでカリー化する方法だってある
JavaScriptは関数型言語じゃないんだから、関数型言語の方からみて
ダサいとか言うなよw お前、関数型に洗脳されてるだろw
関数型を取り入れたなんて話はしてない。お前が言い出しただけ。
単にパイプラインオペレータという関数のネストを見やすくする機能を
追加するってだけの話
> え、こう書けないっていうの?
少しは頭を働かせようよw
そこにある、add(7) が引数を一つ取る関数を返すなら書けるよ
それを汎用化したのがpapp。それにJavaScriptでカリー化する方法だってある
JavaScriptは関数型言語じゃないんだから、関数型言語の方からみて
ダサいとか言うなよw お前、関数型に洗脳されてるだろw
関数型を取り入れたなんて話はしてない。お前が言い出しただけ。
単にパイプラインオペレータという関数のネストを見やすくする機能を
追加するってだけの話
571デフォルトの名無しさん
2017/12/24(日) 23:07:29.50ID:2eVeUlKQ572デフォルトの名無しさん
2017/12/24(日) 23:12:18.94ID:A3ERayLu >>566
> 当然、現時点でその実装は存在しておらず「絵に描いた餅」に過ぎない
知らないなら、知ったかぶりして語らないでよw
JavaScriptは5段階あるECMAScript(= JavaScript)仕様策定過程を
必ず0から一つづつ上げて行かないといけない
だからどんな仕様だって最初は0から始まる
こういう提案から仕様化されるまでのプロセスが明確になってるのは素晴らしいことだよ
で、Stage 1だが
https://azu.github.io/slide-what-is-ecmascript/slide/12.html
・プロポーザルの目的や解決方法を示す
・Polyfillやデモ等を用いて解説する
どういうことかというとPolyfillやデモ等があるってことだ。
わかりやすく言うと、すでに使う方法があるってことだ。それがこれ
https://www.npmjs.com/package/babel-plugin-transform-pipeline
なので絵に描いた餅ではない。絵に描いた餅はStage 0
その0を脱却して、すでに使う方法が出来たということ
> 当然、現時点でその実装は存在しておらず「絵に描いた餅」に過ぎない
知らないなら、知ったかぶりして語らないでよw
JavaScriptは5段階あるECMAScript(= JavaScript)仕様策定過程を
必ず0から一つづつ上げて行かないといけない
だからどんな仕様だって最初は0から始まる
こういう提案から仕様化されるまでのプロセスが明確になってるのは素晴らしいことだよ
で、Stage 1だが
https://azu.github.io/slide-what-is-ecmascript/slide/12.html
・プロポーザルの目的や解決方法を示す
・Polyfillやデモ等を用いて解説する
どういうことかというとPolyfillやデモ等があるってことだ。
わかりやすく言うと、すでに使う方法があるってことだ。それがこれ
https://www.npmjs.com/package/babel-plugin-transform-pipeline
なので絵に描いた餅ではない。絵に描いた餅はStage 0
その0を脱却して、すでに使う方法が出来たということ
573540
2017/12/24(日) 23:16:34.36ID:24EH1p52 7-Zip Archives の所からダウンロードした、Ruby 2.4(x64)を解凍し、
C:\Ruby24-x64 に改名して、
Windows10 で、ユーザー環境変数に、C:\Ruby24-x64\bin を追加したら、
PowerShell で、ruby コマンドが使えるようになった
PS C:\Users\Owner\Documents\Ruby> ruby -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x64-mingw32]
C:\Ruby24-x64\bin には、erb, gem, irb, rake, ruby.exe, rubyw.exe
などのコマンドがあるから、
7-Zip Archives の所にあるものも、Rubyのポータブル版の実行環境なのかも
C:\Ruby24-x64 に改名して、
Windows10 で、ユーザー環境変数に、C:\Ruby24-x64\bin を追加したら、
PowerShell で、ruby コマンドが使えるようになった
PS C:\Users\Owner\Documents\Ruby> ruby -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x64-mingw32]
C:\Ruby24-x64\bin には、erb, gem, irb, rake, ruby.exe, rubyw.exe
などのコマンドがあるから、
7-Zip Archives の所にあるものも、Rubyのポータブル版の実行環境なのかも
574デフォルトの名無しさん
2017/12/24(日) 23:17:27.23ID:2eVeUlKQ575540
2017/12/24(日) 23:23:27.95ID:24EH1p52 ちなみに、rubyinstaller の 7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)は9MB で、解凍すると56MB になった
1/6 に圧縮されている
Ruby 2.4(x64)は9MB で、解凍すると56MB になった
1/6 に圧縮されている
576デフォルトの名無しさん
2017/12/24(日) 23:37:20.25ID:A3ERayLu577デフォルトの名無しさん
2017/12/25(月) 00:01:06.18ID:h6gXOlbY >>570
>関数型を取り入れたなんて話はしてない。お前が言い出しただけ。
>>556 とは別人だけど、IDを確認できないほど冷静さを失っているのかな?
また、そもそも>>545の exclaim, capitalize, doubleSay という関数単位で部品化して
パイプライン演算子で組み立てるという発想そのものが関数型プログラミングであり、
それを自分(ID:A3ERayLu )から言いだしたという認識ができていないのかね?
>単にパイプラインオペレータという関数のネストを見やすくする機能を追加するってだけの話
だよね、関数型のパイプライン演算子と同じ名前だけど中身は微妙に異なるJavaScript固有の方言が
一つ提案されたという、ただそれだけの話
しかも最終的に採用されるか否かも確定すらしていない Proposal 段階でしかないといふ
>関数型を取り入れたなんて話はしてない。お前が言い出しただけ。
>>556 とは別人だけど、IDを確認できないほど冷静さを失っているのかな?
また、そもそも>>545の exclaim, capitalize, doubleSay という関数単位で部品化して
パイプライン演算子で組み立てるという発想そのものが関数型プログラミングであり、
それを自分(ID:A3ERayLu )から言いだしたという認識ができていないのかね?
>単にパイプラインオペレータという関数のネストを見やすくする機能を追加するってだけの話
だよね、関数型のパイプライン演算子と同じ名前だけど中身は微妙に異なるJavaScript固有の方言が
一つ提案されたという、ただそれだけの話
しかも最終的に採用されるか否かも確定すらしていない Proposal 段階でしかないといふ
578デフォルトの名無しさん
2017/12/25(月) 00:21:34.94ID:mSK8fdnz > また、そもそも>>545の exclaim, capitalize, doubleSay という関数単位で部品化して
> パイプライン演算子で組み立てるという発想そのものが関数型プログラミングであり、
関数呼び出しの形を変えただけ、
関数型プログラミングとは全く関係ない
> パイプライン演算子で組み立てるという発想そのものが関数型プログラミングであり、
関数呼び出しの形を変えただけ、
関数型プログラミングとは全く関係ない
579デフォルトの名無しさん
2017/12/25(月) 00:25:59.73ID:h6gXOlbY >>576
関数型言語のパイプライン演算子がサイコーという話なら同意するし、
それがオブジェクト志向言語であるRubyにとって今すぐ必要かどうかは別にして、
数ある将来のRuby構想に向けた提案の一つとして理解したい
でも >>561,570で自身(ID:A3ERayLu)が語っているように、
JavaScriptのそれは関数型ではないJavaScript固有の方言なんだろ?
JavaScriptが独自の道に進もうとしてるなら「どうぞお好きになさいませ」だし、
それにRubyも従うべきという話に至っては「何を考えてるの?」としか言えないね
>>570
>単にパイプラインオペレータという関数のネストを見やすくする機能を
>追加するってだけの話
どちらかというと日常的にカッコだらけになるのはPythonだから、
そちらへ提案した方がいいんではないかな
http://mevius.2ch.net/test/read.cgi/tech/1491491123/44-46
関数型プログラミングを公式文書で否定しているPythonだから、
関数型ではないパイプライン演算子の提案はきっと喜ばれるよ
関数型言語のパイプライン演算子がサイコーという話なら同意するし、
それがオブジェクト志向言語であるRubyにとって今すぐ必要かどうかは別にして、
数ある将来のRuby構想に向けた提案の一つとして理解したい
でも >>561,570で自身(ID:A3ERayLu)が語っているように、
JavaScriptのそれは関数型ではないJavaScript固有の方言なんだろ?
JavaScriptが独自の道に進もうとしてるなら「どうぞお好きになさいませ」だし、
それにRubyも従うべきという話に至っては「何を考えてるの?」としか言えないね
>>570
>単にパイプラインオペレータという関数のネストを見やすくする機能を
>追加するってだけの話
どちらかというと日常的にカッコだらけになるのはPythonだから、
そちらへ提案した方がいいんではないかな
http://mevius.2ch.net/test/read.cgi/tech/1491491123/44-46
関数型プログラミングを公式文書で否定しているPythonだから、
関数型ではないパイプライン演算子の提案はきっと喜ばれるよ
580デフォルトの名無しさん
2017/12/25(月) 00:38:42.38ID:W15ZQhn0 いずれにせよ>>559のようにメソッド呼出の括弧省略の問題があるからJavaScriptやCaml系のようなクリーンなシンタックスにはならないけどね
&:symbolとか->みたいなハック感溢れる醜い構文になる
&:symbolとか->みたいなハック感溢れる醜い構文になる
581デフォルトの名無しさん
2017/12/25(月) 01:02:31.40ID:h6gXOlbY >>580
いや、オブジェクト指向言語のRubyなら、現時点でも
簡潔にメソッドチェーンで流れるようなコードが書ける
以下は>>545の例:
https://ideone.com/aExbWe
refinements に関しては以下の記事が分かりやすかったのでご参考
・Ruby の refinements の使い途 - Qiita
https://qiita.com/scivola/items/dc49d56c90fd0cb6d4d3
で、何かご不満はございますか?
いや、オブジェクト指向言語のRubyなら、現時点でも
簡潔にメソッドチェーンで流れるようなコードが書ける
以下は>>545の例:
https://ideone.com/aExbWe
refinements に関しては以下の記事が分かりやすかったのでご参考
・Ruby の refinements の使い途 - Qiita
https://qiita.com/scivola/items/dc49d56c90fd0cb6d4d3
で、何かご不満はございますか?
582デフォルトの名無しさん
2017/12/25(月) 01:03:23.68ID:mSK8fdnz583デフォルトの名無しさん
2017/12/25(月) 01:05:56.92ID:mSK8fdnz >>581
> で、何かご不満はございますか?
はい。
def foo(i); end
def bar(i); end
def baz(i); end
となっているものの baz(bar(foo(1)) という呼び出しを
メソッドチェーンで繋げないということです。
パイプラインオペレータならこの通り
1 |> foo |> bar |> baz
> で、何かご不満はございますか?
はい。
def foo(i); end
def bar(i); end
def baz(i); end
となっているものの baz(bar(foo(1)) という呼び出しを
メソッドチェーンで繋げないということです。
パイプラインオペレータならこの通り
1 |> foo |> bar |> baz
584デフォルトの名無しさん
2017/12/25(月) 01:53:39.67ID:h6gXOlbY >>582
>JavaScriptは元から関数型じゃないし
うーみゅ、やっぱりJavaScriptって誤解されてるのね
・クロージャって何がいいの?
http://mevius.2ch.net/test/read.cgi/tech/1415419907/224
リンク切れ邦訳版「JavaScriptの勉強:世界で最も誤解されたプログラミング言語」
http://web.archive.org/web/20130120204931/http://d.hatena.ne.jp/brazil/20050829/1125321936
> Cの皮を被ったLisp
>
> JavaScriptには、Cのような中括弧や不格好なforステートメントがあるため、
> 一般的な手続き型言語のように見えますが、それは誤りです。JavaScriptはCやJavaよりも、
> LispやSchemeのような関数型言語と多くの共通点を持っているのです。JavaScriptには、
> リストの代わりに配列があり、プロパティリストの代わりにオブジェクトがあります。
> 関数はファーストクラスであり、クロージャも備えています。つまり括弧の対応をとる手間なしに、
> ラムダを利用できるのです。
>>583
それに関しては納得
前スレで書いたように、Rubyにおいてメソッドは一級市民(ファーストクラス)ではありませんからね
・Ruby 初心者スレッド Part 61
http://mevius.2ch.net/test/read.cgi/tech/1503644351/210
>JavaScriptは元から関数型じゃないし
うーみゅ、やっぱりJavaScriptって誤解されてるのね
・クロージャって何がいいの?
http://mevius.2ch.net/test/read.cgi/tech/1415419907/224
リンク切れ邦訳版「JavaScriptの勉強:世界で最も誤解されたプログラミング言語」
http://web.archive.org/web/20130120204931/http://d.hatena.ne.jp/brazil/20050829/1125321936
> Cの皮を被ったLisp
>
> JavaScriptには、Cのような中括弧や不格好なforステートメントがあるため、
> 一般的な手続き型言語のように見えますが、それは誤りです。JavaScriptはCやJavaよりも、
> LispやSchemeのような関数型言語と多くの共通点を持っているのです。JavaScriptには、
> リストの代わりに配列があり、プロパティリストの代わりにオブジェクトがあります。
> 関数はファーストクラスであり、クロージャも備えています。つまり括弧の対応をとる手間なしに、
> ラムダを利用できるのです。
>>583
それに関しては納得
前スレで書いたように、Rubyにおいてメソッドは一級市民(ファーストクラス)ではありませんからね
・Ruby 初心者スレッド Part 61
http://mevius.2ch.net/test/read.cgi/tech/1503644351/210
585デフォルトの名無しさん
2017/12/25(月) 01:57:26.36ID:6htjEWah ここはJavaScriptスレじゃないよ
586デフォルトの名無しさん
2017/12/25(月) 02:12:49.73ID:mSK8fdnz >>585
JavaScriptは関数型だってことにしたいんでしょw
JavaScriptは関数型だってことにしたいんでしょw
587デフォルトの名無しさん
2017/12/25(月) 02:14:31.41ID:6htjEWah >>586
JavaScriptの話はそっちのスレでやれってこと
JavaScriptの話はそっちのスレでやれってこと
588デフォルトの名無しさん
2017/12/25(月) 02:19:08.95ID:h6gXOlbY589デフォルトの名無しさん
2017/12/25(月) 10:22:56.25ID:yHCsyXBb Windows10 の、VS Code で、irb (PowerShell ターミナル)を起動して、
put "abc"
なら、実行できるけど、
put "あいう"
のように日本語があると、実行できないね
put "abc"
なら、実行できるけど、
put "あいう"
のように日本語があると、実行できないね
590589
2017/12/25(月) 10:27:56.95ID:yHCsyXBb put "abc" # あ
のように、コメントに日本語がある時は、実行できる
のように、コメントに日本語がある時は、実行できる
591デフォルトの名無しさん
2017/12/25(月) 10:29:17.76ID:FXcNW9u1 >>589
それはrubyじゃなくてlibeditの不具合だよ
それはrubyじゃなくてlibeditの不具合だよ
592589
2017/12/25(月) 12:11:57.01ID:yHCsyXBb 知らないけど、UI 部分を、C言語とかで作っているから、
いつまで経っても修正できないのだろう
UI 部分は、VS Code みたいに、
ブラウザ技術を使っている、Electron で作れば良かった
いつまで経っても修正できないのだろう
UI 部分は、VS Code みたいに、
ブラウザ技術を使っている、Electron で作れば良かった
593デフォルトの名無しさん
2017/12/25(月) 20:14:59.36ID:YHWK2l8N ねんがんのRuby 2.5.0をてにいれたぞ‼
https://www.ruby-lang.org/ja/news/2017/12/25/ruby-2-5-0-released/
https://www.ruby-lang.org/ja/news/2017/12/25/ruby-2-5-0-released/
594デフォルトの名無しさん
2017/12/25(月) 21:16:04.65ID:FXcNW9u1 yield_selfは使いどころが結構ありそうだね
595デフォルトの名無しさん
2017/12/25(月) 21:25:14.33ID:s8SRCdHD 使い方わかんないな
596デフォルトの名無しさん
2017/12/25(月) 21:52:41.67ID:YHWK2l8N yield_selfはこれまでメソッドチェーンをしたくてもできなかった場合で活躍するね
途中の一時変数は用無しになった
途中の一時変数は用無しになった
597デフォルトの名無しさん
2017/12/25(月) 22:38:48.18ID:h6gXOlbY 昨日のパイプライン演算子に関する話の中に出てきた >>583 のようなケースが
以下のように書けるようになる
https://ideone.com/hZI7wT
・Ruby 2.5 の yield_self - Qiita
https://qiita.com/stomk/items/58dce3e5e294639ab1c9
F# や Elixir の登場ですっかり世間の認知度がアップしたパイプライン演算子、
すっかりハマって
「プログラミングスタイルをパイプライン形式(いわゆるメソッドチェーン)で統一して書きたい!」
という欲求を抑えられない人たちにとっては嬉しいメソッドの新設ではないかと思われ
個人的には、メソッド名は apply もしくはそれを短くした app が
感覚的に合っていた(エイリアスを定義するだけなんだけどね)
以下のように書けるようになる
https://ideone.com/hZI7wT
・Ruby 2.5 の yield_self - Qiita
https://qiita.com/stomk/items/58dce3e5e294639ab1c9
F# や Elixir の登場ですっかり世間の認知度がアップしたパイプライン演算子、
すっかりハマって
「プログラミングスタイルをパイプライン形式(いわゆるメソッドチェーン)で統一して書きたい!」
という欲求を抑えられない人たちにとっては嬉しいメソッドの新設ではないかと思われ
個人的には、メソッド名は apply もしくはそれを短くした app が
感覚的に合っていた(エイリアスを定義するだけなんだけどね)
598デフォルトの名無しさん
2017/12/25(月) 22:46:27.01ID:mSK8fdnz ふっふっふ、ようやく気づいたかね?
昨日のパイプライン演算子の話は
ここにつながるのだよ
昨日のパイプライン演算子の話は
ここにつながるのだよ
599デフォルトの名無しさん
2017/12/25(月) 23:07:16.77ID:h6gXOlbY つまり:
・JavaScriptでは現時点だと最終的に採用されるか否かも定かでない Proposal 段階で、
実験的な実装をいじってあーだこーだ議論している真っ最中
・一方、Rubyではとっくに議論を終えて公式にリリースを終えてしまった
といふ話ですね
・JavaScriptでは現時点だと最終的に採用されるか否かも定かでない Proposal 段階で、
実験的な実装をいじってあーだこーだ議論している真っ最中
・一方、Rubyではとっくに議論を終えて公式にリリースを終えてしまった
といふ話ですね
600デフォルトの名無しさん
2017/12/25(月) 23:20:17.82ID:YHWK2l8N ちょっと面白い発見
ppを使うのにrequire要らずだってあったから試してみたけど、
使った最初に自動でrequireするようになってる
$ ruby25 --disable-gems -e 'puts $"'
enumerator.so
thread.rb
rational.so
complex.so
/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/encdb.so
/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/trans/transdb.so
$ ruby25 --disable-gems -e 'pp $"'
["enumerator.so",
"thread.rb",
"rational.so",
"complex.so",
"/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/encdb.so",
"/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/trans/transdb.so",
"/usr/local/lib/ruby/2.5/prettyprint.rb",
"/usr/local/lib/ruby/2.5/pp.rb"]
ppを使うのにrequire要らずだってあったから試してみたけど、
使った最初に自動でrequireするようになってる
$ ruby25 --disable-gems -e 'puts $"'
enumerator.so
thread.rb
rational.so
complex.so
/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/encdb.so
/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/trans/transdb.so
$ ruby25 --disable-gems -e 'pp $"'
["enumerator.so",
"thread.rb",
"rational.so",
"complex.so",
"/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/encdb.so",
"/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/trans/transdb.so",
"/usr/local/lib/ruby/2.5/prettyprint.rb",
"/usr/local/lib/ruby/2.5/pp.rb"]
601デフォルトの名無しさん
2017/12/26(火) 14:56:29.62ID:75dqQ4yg private methodを定義する時ってどう書くのが普通?
private def foo
__bar
end
def foo
__ bar
end
private :foo
# クラスの後ろにまとめて定義
private
def foo
__bar
end
private def foo
__bar
end
def foo
__ bar
end
private :foo
# クラスの後ろにまとめて定義
private
def foo
__bar
end
602デフォルトの名無しさん
2017/12/26(火) 16:40:03.50ID:pHnCZ49/ 自分の好きなタイミングで
603デフォルトの名無しさん
2017/12/26(火) 17:17:14.64ID:MQU8AiWM 他人が読んで読みやすいとと思う書き方。
604デフォルトの名無しさん
2017/12/26(火) 17:36:54.63ID:Zhknjblq 俺は後ろにまとめて書くようにしてる。
ついでに言うとprivateが連続した場合2個目以降のprivateは不要だが、パッと見て分かるように常に付けている。
最近は触って欲しくないメソッドはリファインメントを使うっていう手法を覚えたけど、これは異端なのか分からない。
ついでに言うとprivateが連続した場合2個目以降のprivateは不要だが、パッと見て分かるように常に付けている。
最近は触って欲しくないメソッドはリファインメントを使うっていう手法を覚えたけど、これは異端なのか分からない。
605デフォルトの名無しさん
2017/12/26(火) 22:52:56.50ID:pHnCZ49/ アンチ息してる?
アンチスレ死亡してるみたいだけど
アンチスレ死亡してるみたいだけど
606デフォルトの名無しさん
2017/12/26(火) 23:11:59.17ID:Xx1508gc アンチスレ死亡させていいよ
存在価値無いし、ここで十分
存在価値無いし、ここで十分
607デフォルトの名無しさん
2017/12/26(火) 23:45:46.61ID:p5HaZQjy そもそもRubyのprivateって実質的な強制力はほぼゼロでコメントとしての意味くらいしかないからな
そういう意味ではよほど小さなクラスを除けば全部に付けないとあまり意味ないんじゃないか
そういう意味ではよほど小さなクラスを除けば全部に付けないとあまり意味ないんじゃないか
608デフォルトの名無しさん
2017/12/27(水) 01:21:36.89ID:kb3Qecdj アンチがアンチスレの存在をすっごい嫌がってるのは、本スレで暴れたいからだろうな
だが、断る
アンチはあの過疎ったアンチスレへ帰るべきだ
だが、断る
アンチはあの過疎ったアンチスレへ帰るべきだ
609デフォルトの名無しさん
2017/12/27(水) 01:24:11.45ID:Kn/lt9VX 結局ここにアンチが来てなくても
アンチの話題をしたいわけなんだよな
もう病気だと思うよw
アンチの話題をしたいわけなんだよな
もう病気だと思うよw
610デフォルトの名無しさん
2017/12/27(水) 01:24:47.07ID:Kn/lt9VX アンチスレも定期的に見てるようだし
611589
2017/12/27(水) 01:58:58.62ID:u0gTyM9V612デフォルトの名無しさん
2017/12/27(水) 04:54:44.27ID:vGbq0nNV >>601
人それぞれでいいと思うけど、自分はクラスの後ろにまとめて定義する派だね
ドキュメンテーションとしての可読性を重視し、あるクラス定義において
デフォは公開したいメソッドだけどキーワード private で宣言した以降の
セクションは非公開にしたいという意図がある
class Klass
公開したいメソッドの定義セクション
private
不公開なメソッドの定義セクション
end
個別に宣言する private :foo を使うケースは、公開するつもりでクラスを設計したけど、
リファクタリングの過程で「このメソッドは非公開でもいいんじゃね?」と疑問を感じたら
private :foo を付けテストを流して実験するといった一時的なもの
>>607
確かに、メンバ変数のアクセス制限という概念が無く、全ての変数がpublicとして扱われるのよね
https://qiita.com/nkennek/items/8c54365cb873cca8730a
http://woodyring.blog.so-net.ne.jp/2013-05-25-1
ああ中途半端でめんどくさ
人それぞれでいいと思うけど、自分はクラスの後ろにまとめて定義する派だね
ドキュメンテーションとしての可読性を重視し、あるクラス定義において
デフォは公開したいメソッドだけどキーワード private で宣言した以降の
セクションは非公開にしたいという意図がある
class Klass
公開したいメソッドの定義セクション
private
不公開なメソッドの定義セクション
end
個別に宣言する private :foo を使うケースは、公開するつもりでクラスを設計したけど、
リファクタリングの過程で「このメソッドは非公開でもいいんじゃね?」と疑問を感じたら
private :foo を付けテストを流して実験するといった一時的なもの
>>607
確かに、メンバ変数のアクセス制限という概念が無く、全ての変数がpublicとして扱われるのよね
https://qiita.com/nkennek/items/8c54365cb873cca8730a
http://woodyring.blog.so-net.ne.jp/2013-05-25-1
ああ中途半端でめんどくさ
613デフォルトの名無しさん
2017/12/27(水) 14:38:59.95ID:kb3Qecdj 612は勘違いしてる
変数にpublicも糞も無い
変数にpublicも糞も無い
614デフォルトの名無しさん
2017/12/27(水) 14:47:08.38ID:K4eQH++r メンバ変数なんてない
インスタンス変数の事を言ってるならそもそもオブジェクトの外からはアクセスできない
インスタンス変数の事を言ってるならそもそもオブジェクトの外からはアクセスできない
615デフォルトの名無しさん
2017/12/28(木) 23:13:58.27ID:zlcR2/4C みんな、デバッグはpで済ましてる?
それとも何かツール使ってる?
それとも何かツール使ってる?
616デフォルトの名無しさん
2017/12/28(木) 23:14:30.42ID:AeGE7eie は? ppだろ
617デフォルトの名無しさん
2017/12/28(木) 23:18:20.87ID:s+AqweGp 自前でpryもどきを作ってbinding.hogeしてる
618デフォルトの名無しさん
2017/12/29(金) 02:26:20.85ID:orHgNMeq awesome-print/awesome_print: Pretty print your Ruby objects with style -- in full color and with proper indentation
https://github.com/awesome-print/awesome_print
https://github.com/awesome-print/awesome_print
619デフォルトの名無しさん
2017/12/30(土) 03:43:26.25ID:Codmlyj+ 最近、debug.rb知って使うようになったけど
pで間に合うデバッギングしかまだやってないんだよな
pで間に合うデバッギングしかまだやってないんだよな
620540
2017/12/30(土) 08:54:20.80ID:M2I24uN0 RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)は、Rubyのポータブル版の実行環境だった。
Ruby 2.4(x64)は9MB で、解凍すると56MB になった
これだけでも、ファイルI/O など、結構遊べる
デフォルトで、erb, irb, minitest, sinatra などが入っている。
RSpec は入っていないけど
先に、bundler gem を入れて、
VS Code の画面で、Ruby Solargraph という拡張機能を入れると、
solargraph gem がインストールされるので、VS Code で補完ができる
VS Code で、Ruby のデバック用の拡張機能を入れようとすると、
Windows のネイティブコードにコンパイルする必要があるから、
The MSYS2 DevKit を入れる必要がある。
これが、1.7GB もあるらしいので、入れない方が良い
1行ずつデバッグせず、p などで表示しながら作るのが良い
MSYS2 DevKit を入れない範囲で、プログラミングするのが簡単
Ruby 2.4(x64)は、Rubyのポータブル版の実行環境だった。
Ruby 2.4(x64)は9MB で、解凍すると56MB になった
これだけでも、ファイルI/O など、結構遊べる
デフォルトで、erb, irb, minitest, sinatra などが入っている。
RSpec は入っていないけど
先に、bundler gem を入れて、
VS Code の画面で、Ruby Solargraph という拡張機能を入れると、
solargraph gem がインストールされるので、VS Code で補完ができる
VS Code で、Ruby のデバック用の拡張機能を入れようとすると、
Windows のネイティブコードにコンパイルする必要があるから、
The MSYS2 DevKit を入れる必要がある。
これが、1.7GB もあるらしいので、入れない方が良い
1行ずつデバッグせず、p などで表示しながら作るのが良い
MSYS2 DevKit を入れない範囲で、プログラミングするのが簡単
621デフォルトの名無しさん
2017/12/30(土) 13:51:43.29ID:KgXg1sy3 JSON::Stateの挙動がマニュアルと違うのですがこれはバグでしょうか
https://ideone.com/Nd2wBc
https://docs.ruby-lang.org/en/2.4.0/JSON.html
https://ideone.com/Nd2wBc
https://docs.ruby-lang.org/en/2.4.0/JSON.html
622デフォルトの名無しさん
2017/12/30(土) 14:02:41.65ID:8kEk1hAU あぁ、バグだろうな。
お前のバグだ
お前のバグだ
623デフォルトの名無しさん
2017/12/30(土) 15:07:11.63ID:KgXg1sy3 英語が読めなかったんですね。すみませんでした
マニュアルには「コロンとコンマの区切りの後にspace:で指定した文字列がおかれる」と書いてあります
マニュアルには「コロンとコンマの区切りの後にspace:で指定した文字列がおかれる」と書いてあります
624デフォルトの名無しさん
2017/12/30(土) 15:21:25.29ID:9j+d+4sf space_before: だろ
625デフォルトの名無しさん
2017/12/30(土) 15:22:43.33ID:KgXg1sy3 space_beforeはコロンの直前なので関係ありません
626デフォルトの名無しさん
2017/12/30(土) 15:25:29.81ID:9j+d+4sf リストだからじゃね
627デフォルトの名無しさん
2017/12/30(土) 17:05:16.47ID:20iing1R 何しても`,'の後ろには入らないね
バグっていうよりマニュアルの不備なのかな
バグっていうよりマニュアルの不備なのかな
628デフォルトの名無しさん
2017/12/30(土) 17:25:46.52ID:IKvN98q1 ,の後ろにスペース入れるのは一般的なフォーマットだから、常識的にはドキュメントの方が正しいでしょ
直してプルリク出せ
直してプルリク出せ
629デフォルトの名無しさん
2018/01/02(火) 13:03:30.40ID:nZWiMujw 明けおめ
今年初のRubyスレ書き込み
今年初のRubyスレ書き込み
630デフォルトの名無しさん
2018/01/02(火) 22:10:18.61ID:Q+9WD3Xu 新年からRailsを勉強中。環境はwin64
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'default', 'data-turbolinks-track': 'reload' %>
</head>
さっきから、こいつに対してExecJS::ProgramError hogehoge#indexってエラーを吐いてばかり
coffee-scciptも1.8.0にしてもさっぱり解決せず。libv8とtherubyracerを入れろとか書いてるけど、
さっきから2時間以上苦戦してるが、全くインストールできずエラーばっかり
何なんだこれ
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'default', 'data-turbolinks-track': 'reload' %>
</head>
さっきから、こいつに対してExecJS::ProgramError hogehoge#indexってエラーを吐いてばかり
coffee-scciptも1.8.0にしてもさっぱり解決せず。libv8とtherubyracerを入れろとか書いてるけど、
さっきから2時間以上苦戦してるが、全くインストールできずエラーばっかり
何なんだこれ
631デフォルトの名無しさん
2018/01/02(火) 22:12:28.67ID:Q+9WD3Xu 違った、viewの中身はこいつだ
<!DOCTYPE html>
<html>
<head>
<title>hogehoge</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag "application", media:"all", "data-turbolinks-track"=> true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
</head>
<body>
<%= yield %>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>hogehoge</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag "application", media:"all", "data-turbolinks-track"=> true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
</head>
<body>
<%= yield %>
</body>
</html>
632デフォルトの名無しさん
2018/01/02(火) 22:13:36.50ID:NRmrCA2E 今時WinでやるならWSLを使おう
どうせ運用はLinuxなんだからそれに慣れる意味でもな
あと、オワコンCoffeeなんか今更使っちゃダメ
どうせ運用はLinuxなんだからそれに慣れる意味でもな
あと、オワコンCoffeeなんか今更使っちゃダメ
633デフォルトの名無しさん
2018/01/02(火) 22:30:29.29ID:Q+9WD3Xu タイトルでそう思ったけど、ここ初心者スレじゃなかったのか
仕方ない、自分でもうしばらく足掻くか
仕方ない、自分でもうしばらく足掻くか
634デフォルトの名無しさん
2018/01/02(火) 22:32:05.53ID:ZaEks4dH WSL使おうってアドバイスがあるのにさらっと無視するようじゃ、初心者スレ云々の問題じゃないかと思われる
635デフォルトの名無しさん
2018/01/02(火) 22:37:12.02ID:IA96dLm2 すべてのwindowsでWSL使えるわけじゃないのに何言ってるの
636デフォルトの名無しさん
2018/01/02(火) 22:42:47.77ID:ZaEks4dH だったらWSL使えないって言えよ
そしたらVMWare使えってアドバイスもらえるんだからさ
そしたらVMWare使えってアドバイスもらえるんだからさ
637デフォルトの名無しさん
2018/01/02(火) 22:44:20.68ID:IA96dLm2 答えのわからない質問に、的はずれな回答しなくていいから
わからないなら黙ってなさい
わからないなら黙ってなさい
638デフォルトの名無しさん
2018/01/03(水) 00:44:42.35ID:0mS9Giqv 原因わかったよ、鋸使わなかったから
鋸使ったらうまくいった
あとで調べたらWSLは互換性がどうたらとか書いてたし、VM使うほど容量に余裕ないんで
でもまあwindowsよりLinux使えってのが大きなヒントになったのは確か
鋸使ったらうまくいった
あとで調べたらWSLは互換性がどうたらとか書いてたし、VM使うほど容量に余裕ないんで
でもまあwindowsよりLinux使えってのが大きなヒントになったのは確か
639デフォルトの名無しさん
2018/01/03(水) 00:53:49.79ID:BK81yZAH 互換性はWSLの方が遥かにマシだぞ
WinのRubyなんか動いたらラッキーレベルのおまけ
WinのRubyなんか動いたらラッキーレベルのおまけ
640デフォルトの名無しさん
2018/01/03(水) 06:24:30.41ID:LyakWDNT >>620
に書いておいた
The MSYS2 DevKit などで、
Windows のネイティブコードにコンパイルしているようなものは、基本的に使えない。
それに、コンパイルできても、正常に動くとは限らないし
Nokogiri などの各gem が、バージョンアップに対応しないから、
Rails 5 などは使えない
各gem を作っている人は、皆手弁当でやっているから、
OS のバージョンアップに一々、対応していられない
Ruby の対応状況と、各gem の対応状況は、全く違うし、作者も別人。
とにかく、gem を使うものは、gem のバージョンに合わせて、
Ruby, Rails のバージョンを下げないといけない
Ruby 使いは、vagrant, chef を使う。
または、WSL, Docker など
に書いておいた
The MSYS2 DevKit などで、
Windows のネイティブコードにコンパイルしているようなものは、基本的に使えない。
それに、コンパイルできても、正常に動くとは限らないし
Nokogiri などの各gem が、バージョンアップに対応しないから、
Rails 5 などは使えない
各gem を作っている人は、皆手弁当でやっているから、
OS のバージョンアップに一々、対応していられない
Ruby の対応状況と、各gem の対応状況は、全く違うし、作者も別人。
とにかく、gem を使うものは、gem のバージョンに合わせて、
Ruby, Rails のバージョンを下げないといけない
Ruby 使いは、vagrant, chef を使う。
または、WSL, Docker など
641640
2018/01/03(水) 08:15:54.66ID:LyakWDNT 基本的に、gem の作者が、Windows10 用のバイナリを配布していない、
gem は、作者によって動作が保証されていない
それを、The MSYS2 DevKit などで、ユーザーが勝手に、
Windows のネイティブコードにコンパイルして、動かしているようなものは、
基本的には安全ではない。
コンパイルできても、正常に動くとは限らないから
gem の作者でもないユーザーが、勝手にコンパイルして動かしても、安全性を証明できない
gem の作者が配布している、バイナリのバージョンまで、
Ruby, Rails のバージョンを下げる必要がある
Windows10 の場合は、RubyInstallers に、最初から入っている、
erb, irb, minitest, sinatra などで遊ぶ。
gem も、ユーザーがコンパイルする必要のない、gem の範囲で、遊ぶのが良い
gem は、作者によって動作が保証されていない
それを、The MSYS2 DevKit などで、ユーザーが勝手に、
Windows のネイティブコードにコンパイルして、動かしているようなものは、
基本的には安全ではない。
コンパイルできても、正常に動くとは限らないから
gem の作者でもないユーザーが、勝手にコンパイルして動かしても、安全性を証明できない
gem の作者が配布している、バイナリのバージョンまで、
Ruby, Rails のバージョンを下げる必要がある
Windows10 の場合は、RubyInstallers に、最初から入っている、
erb, irb, minitest, sinatra などで遊ぶ。
gem も、ユーザーがコンパイルする必要のない、gem の範囲で、遊ぶのが良い
642デフォルトの名無しさん
2018/01/03(水) 12:59:19.24ID:vVUVg3Hi gemの範囲で遊ぶのが良い までは読んだ
まあ遊びというか入門勉強用にしとけばいいわけだな。遊びでも触っておけば、本番で構築が必要になった時
いくらでも応用利くから。MVCも他のフレームワークとあまり変わらなさそうだし
まあ遊びというか入門勉強用にしとけばいいわけだな。遊びでも触っておけば、本番で構築が必要になった時
いくらでも応用利くから。MVCも他のフレームワークとあまり変わらなさそうだし
643デフォルトの名無しさん
2018/01/03(水) 13:59:57.88ID:7RCD6iyC 何故、荒らしはアンチスレに帰らないで本スレで自演してるの?
さみしいの?
さみしいの?
644デフォルトの名無しさん
2018/01/03(水) 14:12:30.27ID:xfm5wXWm645デフォルトの名無しさん
2018/01/03(水) 14:57:18.33ID:vVUVg3Hi 人権とかいう排他的な言い方しなくても、win環境には適応しきれていないのはわかったよ
rails new hogehogeコマンドで新たなアプリケーション作ってもまともに動かないことも分かったし
社内PCにはVMぐらいは作ってあるから、そっちでいくらでも試せる
今度はサーバ設定ツールにvagrant、chef、Docker、WSLとか書かれてるけど
どれが一番オススメかは聞いておきたい
rails new hogehogeコマンドで新たなアプリケーション作ってもまともに動かないことも分かったし
社内PCにはVMぐらいは作ってあるから、そっちでいくらでも試せる
今度はサーバ設定ツールにvagrant、chef、Docker、WSLとか書かれてるけど
どれが一番オススメかは聞いておきたい
646デフォルトの名無しさん
2018/01/03(水) 15:31:56.84ID:SZxPYOzJ なんかもう言ってることがすごいな
>The MSYS2 DevKit などで、ユーザーが勝手に、
>Windows のネイティブコードにコンパイルして、動かしているようなものは、
>基本的には安全ではない。
>The MSYS2 DevKit などで、ユーザーが勝手に、
>Windows のネイティブコードにコンパイルして、動かしているようなものは、
>基本的には安全ではない。
647デフォルトの名無しさん
2018/01/03(水) 16:02:22.19ID:Z3K4Tirs サーバー設定はchef-soloが簡単かなー
鯖は最終借りて使うことになるし
AWS,VPSなんかに使いまわしできる。
dockerなんかも便利
web系はLinuxは必須。
鯖は最終借りて使うことになるし
AWS,VPSなんかに使いまわしできる。
dockerなんかも便利
web系はLinuxは必須。
648デフォルトの名無しさん
2018/01/03(水) 16:02:34.32ID:vVUVg3Hi 結局Vagrant使ってVB入れて続きを動かしてみることにした
649デフォルトの名無しさん
2018/01/03(水) 19:09:04.58ID:7RCD6iyC 自演で伸ばしてくれるのはありがたいけど、
はやくアンチスレへ帰りなよ
はやくアンチスレへ帰りなよ
650デフォルトの名無しさん
2018/01/03(水) 19:29:07.03ID:tD4HLGIX651デフォルトの名無しさん
2018/01/03(水) 20:20:36.21ID:vVUVg3Hi652デフォルトの名無しさん
2018/01/03(水) 22:02:49.25ID:ML6+3XhW 嘘を吹聴してる荒らしはまだおるんか?
はよーアンチスレへ帰れ
初心者スレで嘘ばっかりつきやがって
はよーアンチスレへ帰れ
初心者スレで嘘ばっかりつきやがって
653デフォルトの名無しさん
2018/01/03(水) 23:03:06.29ID:vVUVg3Hi そこまで言うなら
他のスレに貼り付けてやろうか?
Ruby開発者はこんな連中ばっかりだと
Pythonスレとかあたりに
他のスレに貼り付けてやろうか?
Ruby開発者はこんな連中ばっかりだと
Pythonスレとかあたりに
654デフォルトの名無しさん
2018/01/03(水) 23:07:20.10ID:vVUVg3Hi 俺はPHPとかJavaScriptはMVCフレームワーク含めて経験あるし、納品実績もあるけど
RubyやRailsは本当に初心者だよ、去年まではRailsなんて名前しか知らんかった
一応上司に勉強しといた方がいいって勧められて、せっかくの正月休みなんで
意気込んで勉強してたんだよ
こんなところで質問した自分が心底馬鹿だったわ
初心者を罵倒するスレに改名してくれ
RubyやRailsは本当に初心者だよ、去年まではRailsなんて名前しか知らんかった
一応上司に勉強しといた方がいいって勧められて、せっかくの正月休みなんで
意気込んで勉強してたんだよ
こんなところで質問した自分が心底馬鹿だったわ
初心者を罵倒するスレに改名してくれ
655デフォルトの名無しさん
2018/01/03(水) 23:08:40.92ID:ML6+3XhW おまえ、
他のスレを荒らすのもええ加減にやめろ
みんな迷惑しとるやろうが
他のスレを荒らすのもええ加減にやめろ
みんな迷惑しとるやろうが
656デフォルトの名無しさん
2018/01/03(水) 23:21:54.41ID:dC+KJDFP >648デフォルトの名無しさん2018/01/03(水) 16:02:34.32ID:vVUVg3Hi
>結局Vagrant使ってVB入れて続きを動かしてみることにした
例の荒らしがとうとう他スレに移住してくれるわけか
これはめでたい
>結局Vagrant使ってVB入れて続きを動かしてみることにした
例の荒らしがとうとう他スレに移住してくれるわけか
これはめでたい
657デフォルトの名無しさん
2018/01/04(木) 00:11:00.11ID:Db2jLLtK Docker、2016、オライリー
実践 Vagrant、Mitchell Hashimoto、2014、オライリー
Vagrant, Packer などで有名な、HashiCorp の創始者
Chef実践入門 - コードによるインフラ構成の自動化、2014
cookbookは各社が公開している
Chef社のopscode、Railsを作っている Basecamp社、
Berkshelfを作っている Riot Games社、
Pivotal Trackerを作っている Pivotal Sprout社、
aws, engine yard
実践 Vagrant、Mitchell Hashimoto、2014、オライリー
Vagrant, Packer などで有名な、HashiCorp の創始者
Chef実践入門 - コードによるインフラ構成の自動化、2014
cookbookは各社が公開している
Chef社のopscode、Railsを作っている Basecamp社、
Berkshelfを作っている Riot Games社、
Pivotal Trackerを作っている Pivotal Sprout社、
aws, engine yard
658デフォルトの名無しさん
2018/01/04(木) 00:18:08.10ID:Y2aN+Ibt まーた誤爆してる
ログ残すのがそんなに大好きなのかな
ログ残すのがそんなに大好きなのかな
659640
2018/01/04(木) 01:01:51.01ID:Db2jLLtK CentOS は、64ビット版のみで、32ビット版はもうやっていない。
Linux も徐々に、32ビット版を作らなくなってきた
Ruby で、ユーザーが勝手に、ソースコードからコンパイルしているような、
32ビット版のgem は、使えなくなってくる
gem の作者がほったらかしで、64ビット版をサポートしていないから、
こういうgem に依存しているアプリは、Linux でも動かなくなっていく
Linux も徐々に、32ビット版を作らなくなってきた
Ruby で、ユーザーが勝手に、ソースコードからコンパイルしているような、
32ビット版のgem は、使えなくなってくる
gem の作者がほったらかしで、64ビット版をサポートしていないから、
こういうgem に依存しているアプリは、Linux でも動かなくなっていく
660デフォルトの名無しさん
2018/01/04(木) 01:49:10.10ID:Y2aN+Ibt 何他人を語ってるんだよお前
661デフォルトの名無しさん
2018/01/04(木) 02:54:14.07ID:IBQXDyQ6 これ、朝になったらアンチが発狂して自演繰り返すパターンだわ
俺知ってる
俺知ってる
662540
2018/01/04(木) 07:31:26.40ID:Db2jLLtK Windows10 Home で、RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64) ポータブル版、The MSYS2 DevKit 無しで、
Nokogiri をインストールしたら、
コンパイル無しで、Windows用のバイナリgem がインストールできたのか?w
The MSYS2 DevKit は、インストールしていないけど
PS C:\Users\Owner\Documents\Ruby\proj01> bundle install
Fetching gem metadata from https://rubygems.org/..............
Resolving dependencies...
Using bundler 1.16.1
Fetching mini_portile2 2.3.0
Installing mini_portile2 2.3.0
Fetching nokogiri 1.8.1 (x64-mingw32)
Installing nokogiri 1.8.1 (x64-mingw32)
Bundle complete! 1 Gemfile dependency, 3 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from nokogiri:
Nokogiri is built with the packaged libraries: libxml2-2.9.5, libxslt-1.1.30, zlib-1.2.11, libiconv-1.15.
Ruby 2.4(x64) ポータブル版、The MSYS2 DevKit 無しで、
Nokogiri をインストールしたら、
コンパイル無しで、Windows用のバイナリgem がインストールできたのか?w
The MSYS2 DevKit は、インストールしていないけど
PS C:\Users\Owner\Documents\Ruby\proj01> bundle install
Fetching gem metadata from https://rubygems.org/..............
Resolving dependencies...
Using bundler 1.16.1
Fetching mini_portile2 2.3.0
Installing mini_portile2 2.3.0
Fetching nokogiri 1.8.1 (x64-mingw32)
Installing nokogiri 1.8.1 (x64-mingw32)
Bundle complete! 1 Gemfile dependency, 3 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from nokogiri:
Nokogiri is built with the packaged libraries: libxml2-2.9.5, libxslt-1.1.30, zlib-1.2.11, libiconv-1.15.
663540
2018/01/04(木) 10:00:23.11ID:Db2jLLtK Windows10 Home で、RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64) ポータブル版 (The MSYS2 DevKit 無し)に、最初から、
libxml2-2.9.5, libxslt-1.1.30, zlib-1.2.11, libiconv-1.15
などのコンパイル済みライブラリが入っているみたい
なので、The MSYS2 DevKit が無くても、
Nokogiri gem を入れるだけで動く
やってみたら、Nokogiri は、確かに動いた!
インストールの最難関と言われる、Nokogiri が、簡単にインストールできた!w
Ruby 2.4, gem, Nokogiri などの進化を感じた
Ruby 2.4(x64) ポータブル版 (The MSYS2 DevKit 無し)に、最初から、
libxml2-2.9.5, libxslt-1.1.30, zlib-1.2.11, libiconv-1.15
などのコンパイル済みライブラリが入っているみたい
なので、The MSYS2 DevKit が無くても、
Nokogiri gem を入れるだけで動く
やってみたら、Nokogiri は、確かに動いた!
インストールの最難関と言われる、Nokogiri が、簡単にインストールできた!w
Ruby 2.4, gem, Nokogiri などの進化を感じた
664デフォルトの名無しさん
2018/01/04(木) 10:31:04.56ID:M7dikhfh >ID:Db2jLLtK
何度も言うが自演を繰り返して荒らすなら
アンチスレへ行け
何度も言うが自演を繰り返して荒らすなら
アンチスレへ行け
665デフォルトの名無しさん
2018/01/04(木) 14:21:55.97ID:0iUUJ0bW 質問
Arrayで事足りるケースにしかまだ出会ってないけど
Enumerableってどういう時に使うの?
Arrayで事足りるケースにしかまだ出会ってないけど
Enumerableってどういう時に使うの?
666デフォルトの名無しさん
2018/01/04(木) 19:16:52.27ID:q0THGQuz >>665
p ([].each).class.ancestors
p ([].each).class.ancestors
667デフォルトの名無しさん
2018/01/04(木) 22:09:15.03ID:ByuqHChs 初歩の初歩な質問ですけど…
配列に0から99までの数字を一括で格納したいです
a = [0,1,2...と記述していてはとても長くなるので…
どうすれば良いのでしょうか?
配列に0から99までの数字を一括で格納したいです
a = [0,1,2...と記述していてはとても長くなるので…
どうすれば良いのでしょうか?
668デフォルトの名無しさん
2018/01/04(木) 22:18:08.37ID:gbqCK9B9 >>667
(0..99).to_a
(0..99).to_a
669デフォルトの名無しさん
2018/01/04(木) 22:19:23.96ID:E5yE4mKi [*0..99]という書き方も
670デフォルトの名無しさん
2018/01/04(木) 22:21:04.48ID:gbqCK9B9 そういえば (0..99).to_a で気づいたけど、>>665 のいう Enumerable は Range クラスも持ってるな
ちょうどいい例じゃね?
ちょうどいい例じゃね?
671デフォルトの名無しさん
2018/01/04(木) 22:29:13.42ID:ByuqHChs できました
ありがとうございました
ありがとうございました
672デフォルトの名無しさん
2018/01/05(金) 01:12:43.58ID:DBj0On7v EnumerableならPrimeクラスの使い方見てみるのもいいかもね
673540
2018/01/05(金) 10:23:43.97ID:JCua7yNV Windows10 Home 64ビット版に、
RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)ポータブル版、The MSYS2 DevKit 無しで、
コンパイルせずに入れられる gem だけで、遊んでみた
以下は、入れた gem です
先に、bundler を入れて、以後のgem は、bundle install で入れた
rack-test は、sinatra のテストに使う。
Nokogiri
VS Code の拡張機能用の、solargraph
入れたgem と、irb, erb, minitest, sinatra が、正常に動いた
RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)ポータブル版、The MSYS2 DevKit 無しで、
コンパイルせずに入れられる gem だけで、遊んでみた
以下は、入れた gem です
先に、bundler を入れて、以後のgem は、bundle install で入れた
rack-test は、sinatra のテストに使う。
Nokogiri
VS Code の拡張機能用の、solargraph
入れたgem と、irb, erb, minitest, sinatra が、正常に動いた
674デフォルトの名無しさん
2018/01/05(金) 21:48:51.55ID:cNE023Or #{hoge}などの形で入力をそのまま正規表現に入れた場合に、入力に正規表現が含まれていると意図しない挙動が起こると聞いたのですが、どのように回避するのが良いのでしょうか?
675デフォルトの名無しさん
2018/01/05(金) 22:03:05.29ID:Z2M9SnI/ systemメソッドでperlのワンライナーを呼び出す
676デフォルトの名無しさん
2018/01/05(金) 22:28:18.08ID:wqtMql/4677デフォルトの名無しさん
2018/01/05(金) 23:28:05.64ID:MlGJfS7x 空港のwifiからアクセスした際にログイン出来ないという報告がありましてログを見たところ
ActionController::InvalidAuthenticityTokenというエラーが出ていました
CSRF対策の仕組みが関係することは分かったのですが
なぜこれが発生するのか分かる方いらっしゃいませんでしょうか
ActionController::InvalidAuthenticityTokenというエラーが出ていました
CSRF対策の仕組みが関係することは分かったのですが
なぜこれが発生するのか分かる方いらっしゃいませんでしょうか
678デフォルトの名無しさん
2018/01/06(土) 02:50:42.13ID:nSHs9ovb 空港やホテルは、設定が厳しい。
LAN 内ですら、お互いに通信できないだろ
隣の人のスマホと、アクセスできないだろ
LAN 内ですら、お互いに通信できないだろ
隣の人のスマホと、アクセスできないだろ
679デフォルトの名無しさん
2018/01/06(土) 02:53:50.34ID:qWm4dftC >>678
つまり何が原因なのですか?
つまり何が原因なのですか?
680デフォルトの名無しさん
2018/01/06(土) 04:48:47.53ID:nSHs9ovb 空港やホテルの、wifiは危険だから、設定が厳しい
「空港 wifi セキュリティ」で検索!
「空港 wifi セキュリティ」で検索!
681540
2018/01/06(土) 07:03:24.91ID:nSHs9ovb Windows10 Home 64ビット版に、
RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)ポータブル版、The MSYS2 DevKit 無しで遊んでみた
日本語については、
Windows の設定画面から、ユーザー環境変数へ追加します。変数名・値は、
RUBYOPT
--encoding=UTF-8
これで外部エンコーディング・Encoding.default_external が、
Windows-31J から、UTF-8 へ変更されるので、
Ruby 起動時のコマンドライン引数に、日本語を使えます
ただし、この環境変数を追加すると、irb が動かなくなる。
この環境変数が無ければ、
irb -E CP932
で、Windows-31J で、正常に動くので、
irb を使う人は、環境変数を追加せずに使う
RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)ポータブル版、The MSYS2 DevKit 無しで遊んでみた
日本語については、
Windows の設定画面から、ユーザー環境変数へ追加します。変数名・値は、
RUBYOPT
--encoding=UTF-8
これで外部エンコーディング・Encoding.default_external が、
Windows-31J から、UTF-8 へ変更されるので、
Ruby 起動時のコマンドライン引数に、日本語を使えます
ただし、この環境変数を追加すると、irb が動かなくなる。
この環境変数が無ければ、
irb -E CP932
で、Windows-31J で、正常に動くので、
irb を使う人は、環境変数を追加せずに使う
682デフォルトの名無しさん
2018/01/06(土) 10:01:00.08ID:UsOHfVJQ683デフォルトの名無しさん
2018/01/06(土) 12:53:30.03ID:HbY4/bGY 続きはCMのあとで
684デフォルトの名無しさん
2018/01/06(土) 12:58:28.05ID:jet593Ss 備忘録とか日記のネタとか書くのは問題ないだろ
普段はそこまで賑わっているスレじゃないんだから
雑談OKなわけだし、初心者にはありがたい情報じゃないのかな
普段はそこまで賑わっているスレじゃないんだから
雑談OKなわけだし、初心者にはありがたい情報じゃないのかな
685デフォルトの名無しさん
2018/01/06(土) 13:52:44.37ID:FAOceAzc レス読んでないけど、情報共有するならここに書くよりかQiitaにあげた方が有益だと思うけどね
まぁどっちでもいいわ
まぁどっちでもいいわ
686540
2018/01/06(土) 14:44:04.22ID:nSHs9ovb irb のソースコードを見て、誰か、
外部エンコーディング・Encoding.default_external が、
UTF-8 でも動くように、修正してくれないかな?
それと、Windows で、Ruby を使っている人も、書き込んでほしい。
Windows の、Ruby 使いが少ない
外部エンコーディング・Encoding.default_external が、
UTF-8 でも動くように、修正してくれないかな?
それと、Windows で、Ruby を使っている人も、書き込んでほしい。
Windows の、Ruby 使いが少ない
687デフォルトの名無しさん
2018/01/06(土) 14:49:07.31ID:ul9KuZX2 自分で直してPull Reques出せ
基本的にWin使いに人権はないので、Winのためにソースを汚すことは嫌われるから注意
基本的にWin使いに人権はないので、Winのためにソースを汚すことは嫌われるから注意
688デフォルトの名無しさん
2018/01/06(土) 16:19:36.81ID:wARzH3D0 I’m like pp, just like pp
689540
2018/01/06(土) 16:33:25.64ID:nSHs9ovb irb がクソみたいな描画ライブラリを使わずに、
GUI だけを、PowerShell を使ってくれたら良いのに。
PS なら、UTF-8 だし
ロジック・GUI が分離できていて、
簡単に、PS に切り替えられたら良いのに
GUI だけを、PowerShell を使ってくれたら良いのに。
PS なら、UTF-8 だし
ロジック・GUI が分離できていて、
簡単に、PS に切り替えられたら良いのに
690デフォルトの名無しさん
2018/01/07(日) 10:13:45.01ID:X58Odkk6 お前は何を言ってるんだ
RubyはUNIXにべったり密結合している
それを良く思っていないのはRuby村においては被差別民であるWin使いだけ
RubyはUNIXにべったり密結合している
それを良く思っていないのはRuby村においては被差別民であるWin使いだけ
691デフォルトの名無しさん
2018/01/07(日) 16:15:03.18ID:Jk6U4+ev 自演ばれてんぞアンチ
692デフォルトの名無しさん
2018/01/09(火) 00:08:55.57ID:TW5vurZJ Windows で、Headless Chrome でテストしている香具師いる?
Windows 10, Ruby, Chrome, Selenium WebDriver は、64ビット版だけど、
Windows 用の、ChromeDriver は、32ビット版しかないけど、これで正常に動くの?
Windows 10, Ruby, Chrome, Selenium WebDriver は、64ビット版だけど、
Windows 用の、ChromeDriver は、32ビット版しかないけど、これで正常に動くの?
693デフォルトの名無しさん
2018/01/09(火) 05:18:26.25ID:l1AA5LW3 rubyからOpenGLを扱うgemがいくつかあるけど、
どれが一番使われてるの?
どれが一番使われてるの?
694デフォルトの名無しさん
2018/01/09(火) 07:11:34.91ID:mcq0XcNK RubyはRailsにしか使われてないよ
695デフォルトの名無しさん
2018/01/09(火) 14:13:43.58ID:mJzCa8Tc Unicodeコードポイントにスケープされた4バイト文字をJSON..#parseすると怒られるんだけど、何かいい方法ないかな?
愚直にgsubするしかないのかな
https://ideone.com/V6sNRh
愚直にgsubするしかないのかな
https://ideone.com/V6sNRh
696デフォルトの名無しさん
2018/01/09(火) 14:17:01.33ID:hZWQBtrg 断交が良い
697デフォルトの名無しさん
2018/01/09(火) 23:30:05.47698692
2018/01/10(水) 07:38:19.49ID:8FRtzSYP Windows 10 Home, Ruby, Chrome, Selenium WebDriver は、64ビット版で、
ChromeDriver (32ビット版)も使えるけど、
Chrome v63 を、headless で使うと、エラーになる
「failed to launch gpu process.」
--headless, --disable-gpu を設定する必要がある
selenium-webdriver は、コンパイル無しで、gem を簡単にインストールできた
>>695-697
Ruby 2.4 からは、5バイト以上の絵文字なども、正規表現で使えると聞いた。
JSON では、そういう文字も使えないの?
ChromeDriver (32ビット版)も使えるけど、
Chrome v63 を、headless で使うと、エラーになる
「failed to launch gpu process.」
--headless, --disable-gpu を設定する必要がある
selenium-webdriver は、コンパイル無しで、gem を簡単にインストールできた
>>695-697
Ruby 2.4 からは、5バイト以上の絵文字なども、正規表現で使えると聞いた。
JSON では、そういう文字も使えないの?
699デフォルトの名無しさん
2018/01/10(水) 12:32:40.29ID:8FRtzSYP ReactDOM.render(
<div>
<h1>Hello, world!</h1>
<h2>texttext</h2>
</div>,
document.getElementById('app')
);
JavaScript の中に、直接HTML を書ける、
JSX みたいな書き方が、Ruby にある?
出来れば、erb のような書き方は、避けたい
<div>
<h1>Hello, world!</h1>
<h2>texttext</h2>
</div>,
document.getElementById('app')
);
JavaScript の中に、直接HTML を書ける、
JSX みたいな書き方が、Ruby にある?
出来れば、erb のような書き方は、避けたい
700デフォルトの名無しさん
2018/01/10(水) 16:07:42.64ID:STPlaxcQ ヒアドキュメントは?
701デフォルトの名無しさん
2018/01/12(金) 18:18:49.39ID:nl8PJm0M iCloud 9のコマンドプロンプト打っても俺のパソコンに反映されないんですが助けて
702デフォルトの名無しさん
2018/01/12(金) 22:23:27.82 >>698
規格上は使えるけどRubyのJSONライブラリがまだ対応していないっぽい
規格上は使えるけどRubyのJSONライブラリがまだ対応していないっぽい
703デフォルトの名無しさん
2018/01/21(日) 21:58:25.57ID:Ycn/1JW2 改訂2版 パーフェクトRuby、Rubyサポーターズ、2017
この本は、ツールの説明なども多いから、読むのに時間がかかる
この本は、ツールの説明なども多いから、読むのに時間がかかる
704デフォルトの名無しさん
2018/01/22(月) 21:44:30.05ID:q3uir/RO keyには現状:aか:bしか来ないけど将来的には増えるかもしれないとする。
ダックタイピングを意識して次みたいに書いてみたんだけどこれだと、
keyの種類が増えた時にそれに対応するクラスだけじゃなくてcase文も増やさないといけなくなる。
上手い書き方無いかな?
def hoge(key, value)
x = case key
when :a then A.new(value)
when :b then B.new(value)
end
x.huga
x.hage
end
ダックタイピングを意識して次みたいに書いてみたんだけどこれだと、
keyの種類が増えた時にそれに対応するクラスだけじゃなくてcase文も増やさないといけなくなる。
上手い書き方無いかな?
def hoge(key, value)
x = case key
when :a then A.new(value)
when :b then B.new(value)
end
x.huga
x.hage
end
705デフォルトの名無しさん
2018/01/22(月) 22:06:22.86ID:LFdS7sNk def hoge(key, value)
x = {a: A, b: B}[key].new(value)
x.huga
x.hage
end
x = {a: A, b: B}[key].new(value)
x.huga
x.hage
end
706デフォルトの名無しさん
2018/01/22(月) 22:32:29.51ID:O82cRrzF def hoge(key, value)
x = Kernel.const_get(key.capitalize).new(value)
x.huga
x.hage
end
x = Kernel.const_get(key.capitalize).new(value)
x.huga
x.hage
end
707デフォルトの名無しさん
2018/01/22(月) 22:52:38.55ID:pYe1Cwj7 それは、典型的なオブジェクト指向の利点
派生クラスを使えば、switch〜case 文が無くなるから、
その部分の修正もしなくてよい
各派生クラスで、クラス内でオーバーライドされた、同名のメソッドを呼ぶだけ
派生クラスを使えば、switch〜case 文が無くなるから、
その部分の修正もしなくてよい
各派生クラスで、クラス内でオーバーライドされた、同名のメソッドを呼ぶだけ
708デフォルトの名無しさん
2018/01/22(月) 23:04:44.47ID:cFg1Yiat レンタルサーバーにRubyをインストールする手順に関する質問はここで良いでしょうか?
Railsの方が良いでしょうか?
Railsの方が良いでしょうか?
709デフォルトの名無しさん
2018/01/22(月) 23:35:54.90ID:/Sj7yLHe Webサイトちょっと動かしたいだけなら自分で運用構築なんて時間の無駄だからPaaS使うことを強くお勧めする
710デフォルトの名無しさん
2018/01/23(火) 13:19:28.04ID:CDVCaOOu 環境構築には、vagrant, chef は、Ruby でレシピ(手順書)を書ける。
Docker もある
仮想環境コンテナ総合スレ Docker、Vagrant等 [無断転載禁止]c2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1487235664/l50
Docker もある
仮想環境コンテナ総合スレ Docker、Vagrant等 [無断転載禁止]c2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1487235664/l50
711デフォルトの名無しさん
2018/01/23(火) 20:57:16.21ID:STirpdQ8712デフォルトの名無しさん
2018/01/23(火) 23:03:46.38ID:CDVCaOOu Ruby の女神・池澤あやかは、島根県のRuby合宿で、Rubyを極めたらしい
713デフォルトの名無しさん
2018/01/24(水) 23:02:47.87ID:ap7jtKrX 今日mechanizeを使い出したんだけどいいなこれ
なんで今まで使わずにスクレイピングしてたんだろってくらい感動した
なんで今まで使わずにスクレイピングしてたんだろってくらい感動した
714デフォルトの名無しさん
2018/01/25(木) 03:45:42.62ID:1frilWR+ 本の虫: 60%の人間はプログラミングの素質がない
https://cpplover.blogspot.jp/2012/05/60.html
https://cpplover.blogspot.jp/2012/05/60.html
715デフォルトの名無しさん
2018/01/25(木) 15:25:13.47ID:d3UPMMWN バージョン2.2.0以降次のコードがSecurityErrorにならないんだけど、仕様が変わってマニュアルの情報が古くなってるのかな?
$ ruby -ve '$SAFE = 1; open(ARGV[0])' hoge
Traceback (most recent call last):
2: from -e:1:in `<main>'
1: from -e:1:in `open'
-e:1:in `initialize': No such file or directory @ rb_sysopen - hoge (Errno::ENOENT)
$ ruby -ve '$SAFE = 1; open(ARGV[0])' hoge
Traceback (most recent call last):
2: from -e:1:in `<main>'
1: from -e:1:in `open'
-e:1:in `initialize': No such file or directory @ rb_sysopen - hoge (Errno::ENOENT)
716デフォルトの名無しさん
2018/01/25(木) 18:01:16.77ID:SW6+fB/4 >>714
fizzbuzz
fizzbuzz
717デフォルトの名無しさん
2018/01/25(木) 19:53:33.66ID:8RoLWIQ9 >>715
ARGVの文字列がexternal_str_new_cstr()で作られてるみたいだけど、
windowsだとUTF8_PATHが真になって、文字列がrb_external_str_new_cstr()で作られてないから
taintになってないっぽい
ARGVの文字列がexternal_str_new_cstr()で作られてるみたいだけど、
windowsだとUTF8_PATHが真になって、文字列がrb_external_str_new_cstr()で作られてないから
taintになってないっぽい
718デフォルトの名無しさん
2018/01/26(金) 19:35:15.96ID:ywFtALU+ atomのautocomplete-rubyが動かないです
rsenseのパスは通しているのですがエラーが出ます
rsense startを実行後、localhost:47367にアクセス出来ないことから
rsenseのエラーだとは思うのですが対策がわかりません。
ruby 2.4.1、rsense 0.5.18 です
https://teratail.com/questions/67165
ではJRuby 1.7.26にしてからrsenseをインストールするとできると書いてありましたが、JRuby 1.7.26ではrsenseがインストールできませんでした。
エラーは下記
autocomplete-ruby: exec error: Error: Command failed: ~/.rbenv/versions/2.4.1/bin/rsense
start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book
rsense version 0.5.18
Usage: rsense <start|stop|restart>
/bin/sh: line 1: start: command not found
(You might need to set the rsense path, see the readme)
rsenseのパスは通しているのですがエラーが出ます
rsense startを実行後、localhost:47367にアクセス出来ないことから
rsenseのエラーだとは思うのですが対策がわかりません。
ruby 2.4.1、rsense 0.5.18 です
https://teratail.com/questions/67165
ではJRuby 1.7.26にしてからrsenseをインストールするとできると書いてありましたが、JRuby 1.7.26ではrsenseがインストールできませんでした。
エラーは下記
autocomplete-ruby: exec error: Error: Command failed: ~/.rbenv/versions/2.4.1/bin/rsense
start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book
rsense version 0.5.18
Usage: rsense <start|stop|restart>
/bin/sh: line 1: start: command not found
(You might need to set the rsense path, see the readme)
719デフォルトの名無しさん
2018/01/26(金) 22:16:50.68ID:lWqampzR >/bin/sh: line 1: start: command not found
start コマンドは存在しない
>(You might need to set the rsense path, see the readme)
rsense のユーザー環境変数PATH を設定しないといけないのかな?
まあ、readme を読んで
>autocomplete-ruby: exec error: Error: Command failed: ~/.rbenv/versions/2.4.1/bin/rsense
> start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book
これは全体で、1行のコマンドじゃないのか?
これを、rsense の後ろで、改行して打ったのか?
1行で打つか、または行末で改行を、\(バックスラッシュ)でエスケープすれば?
行末を「rsense \」とする
start コマンドは存在しない
>(You might need to set the rsense path, see the readme)
rsense のユーザー環境変数PATH を設定しないといけないのかな?
まあ、readme を読んで
>autocomplete-ruby: exec error: Error: Command failed: ~/.rbenv/versions/2.4.1/bin/rsense
> start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book
これは全体で、1行のコマンドじゃないのか?
これを、rsense の後ろで、改行して打ったのか?
1行で打つか、または行末で改行を、\(バックスラッシュ)でエスケープすれば?
行末を「rsense \」とする
720デフォルトの名無しさん
2018/01/26(金) 22:22:02.58ID:lWqampzR 端末・コマンドプロンプトなどで、
which rsense, where rsense などと打てば、
rsense の実行ファイルがあるディレクトリが、
環境変数PATH に設定されているかどうかがわかる
which rsense, where rsense などと打てば、
rsense の実行ファイルがあるディレクトリが、
環境変数PATH に設定されているかどうかがわかる
721デフォルトの名無しさん
2018/01/26(金) 22:26:40.41ID:lWqampzR rsense の実行ファイルがあるディレクトリが、
環境変数PATH に設定されているなら
~/.rbenv/versions/2.4.1/bin/rsense のように、パスを付けて書かなくても、
単に、rsense と打っても、実行ファイルを探せる
rsense start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book
だから、こう打てばよい
環境変数PATH に設定されているなら
~/.rbenv/versions/2.4.1/bin/rsense のように、パスを付けて書かなくても、
単に、rsense と打っても、実行ファイルを探せる
rsense start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book
だから、こう打てばよい
722692
2018/01/26(金) 22:52:43.92ID:lWqampzR Windows10 で、poltergeist のインストールに失敗
Fetching websocket-driver 0.7.0
Installing websocket-driver 0.7.0 with native extensions
MSYS2 could not be found.
websocket-driver-0.7.0-java.gem をダウンロードしたけど、MSYS2 を入れていないから。
(MSYS2 は、2GB 近くあるらしいので、わざと入れていない)
このgem ファイルは、Windows用のコンパイル済みバイナリではないの?
Anemone, mechanize は、静的なHTML用じゃないの?
JavaScript も解釈できるの?
poltergeist から、phantomJS を使おうとしたけど、インストールできないから、
>>698
で書いたように、Chrome のヘッドレスモードを使っている
Fetching websocket-driver 0.7.0
Installing websocket-driver 0.7.0 with native extensions
MSYS2 could not be found.
websocket-driver-0.7.0-java.gem をダウンロードしたけど、MSYS2 を入れていないから。
(MSYS2 は、2GB 近くあるらしいので、わざと入れていない)
このgem ファイルは、Windows用のコンパイル済みバイナリではないの?
Anemone, mechanize は、静的なHTML用じゃないの?
JavaScript も解釈できるの?
poltergeist から、phantomJS を使おうとしたけど、インストールできないから、
>>698
で書いたように、Chrome のヘッドレスモードを使っている
723718
2018/01/26(金) 23:10:28.98ID:ywFtALU+ >>719
atomでの話とターミナルでの話が混ざっていてすみません。
atomでパスを ~/.rbenv/versions/2.4.1/bin/rsenseと書くと718で書いたエラーが出ます。
エラー内容はstartコマンドがないと言っているので確認のため
ターミナルで$ rsense startと打つとプロセスは走ります。
ただプロセスが走っているのにlocalhost:47367にアクセスできません。
atomでの話とターミナルでの話が混ざっていてすみません。
atomでパスを ~/.rbenv/versions/2.4.1/bin/rsenseと書くと718で書いたエラーが出ます。
エラー内容はstartコマンドがないと言っているので確認のため
ターミナルで$ rsense startと打つとプロセスは走ります。
ただプロセスが走っているのにlocalhost:47367にアクセスできません。
724デフォルトの名無しさん
2018/01/26(金) 23:32:26.03ID:lWqampzR localhost は、つながらないとか、色々とバグるから、
127.0.0.1:47367 を使うこと
rsense start で、サーバーは確かに、47367 ポートで起動しているのか?
lsof とかで、開いているポートを調べる
127.0.0.1:47367 を使うこと
rsense start で、サーバーは確かに、47367 ポートで起動しているのか?
lsof とかで、開いているポートを調べる
725デフォルトの名無しさん
2018/01/26(金) 23:46:55.80ID:lWqampzR >atomでパスを ~/.rbenv/versions/2.4.1/bin/rsenseと書くと718で書いたエラーが出ます
漏れも、VS Code を使っているけど、
VS Code 内のPowerShell では、よくバグるから、
外部でPowerShell を起動して使っている
外部から、コマンドプロンプト・端末・PowerShell を起動してやれば?
漏れも、VS Code を使っているけど、
VS Code 内のPowerShell では、よくバグるから、
外部でPowerShell を起動して使っている
外部から、コマンドプロンプト・端末・PowerShell を起動してやれば?
726デフォルトの名無しさん
2018/01/26(金) 23:58:30.46ID:lWqampzR >atomでパスを ~/.rbenv/versions/2.4.1/bin/rsenseと書くと718で書いたエラーが出ます
~(チルダ)が、自分のホームディレクトリに解決できないとか?
.rbenv って、探索パスの順序を入れ替える、仮想化技術だろ。
環境変数PATH の一番前に、追加しているから、危険で影響が大きそう。
.rbenv について、よく調べた方が良いかも
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
また、rbenvでrubyをインストールしたり、gemでパッケージをインストールした後は、
rbenv rehashを実行しなければならないとか
~(チルダ)が、自分のホームディレクトリに解決できないとか?
.rbenv って、探索パスの順序を入れ替える、仮想化技術だろ。
環境変数PATH の一番前に、追加しているから、危険で影響が大きそう。
.rbenv について、よく調べた方が良いかも
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
また、rbenvでrubyをインストールしたり、gemでパッケージをインストールした後は、
rbenv rehashを実行しなければならないとか
727デフォルトの名無しさん
2018/01/27(土) 00:21:43.19ID:PF3DsJ0N > .rbenv って、探索パスの順序を入れ替える、仮想化技術だろ。
なにも仮想化してないので、仮想化技術ではない
なにも仮想化してないので、仮想化技術ではない
728デフォルトの名無しさん
2018/01/27(土) 01:59:43.65ID:lUeqkPr+ pyenv, virtualenv(venv)などのPythonの仮想環境構築も、これと同じ
環境変数PATH の前方に、パスを追加して、実行するコマンドの探索パスを変えることで、
実行されるファイルを変える
環境変数PATH の前方に、パスを追加して、実行するコマンドの探索パスを変えることで、
実行されるファイルを変える
729718
2018/01/27(土) 19:34:18.97ID:sDN5LFGv rsenseがどうにも動かないのでatomでは他の補完パッケージを使うことにしました
730デフォルトの名無しさん
2018/01/27(土) 20:20:50.96ID:lUeqkPr+ bundle exec を付けないと、パスが探せないとか
731718
2018/01/27(土) 20:33:08.71ID:sDN5LFGv >>730
ターミナルではコマンドが実行できるのでパスは通っているはずなんですが
指定されたポートのローカルサーバーにアクセス出来ない。
($ rbenv which rsense で ~/.rbenv/versions/2.4.1/bin/rsense が出ます)
atomではパスを通す前はno such directryのエラーがパスを通すとcommand not foundになるので
パス自体は通っているとは思うのですがコマンドが見つからない理由がわからない。
すみません、いろいろ言ってもらったのですが改善できなそうでした。
ターミナルではコマンドが実行できるのでパスは通っているはずなんですが
指定されたポートのローカルサーバーにアクセス出来ない。
($ rbenv which rsense で ~/.rbenv/versions/2.4.1/bin/rsense が出ます)
atomではパスを通す前はno such directryのエラーがパスを通すとcommand not foundになるので
パス自体は通っているとは思うのですがコマンドが見つからない理由がわからない。
すみません、いろいろ言ってもらったのですが改善できなそうでした。
732デフォルトの名無しさん
2018/01/28(日) 23:07:14.79ID:+HoRx5lM Rubyスクリプト内から別のRubyスクリプトを実行して、エラーが出ても元のRubyスクリプトの処理を止めない方法はありますか?
733デフォルトの名無しさん
2018/01/28(日) 23:22:35.75ID:ALu/+v8Q シェルコマンドでruby実行すればいいだろ
所詮Rubyなんか書捨てスクリプトなんだからスマートさなんか気にしないで手っ取り早い方法を選べばいい
所詮Rubyなんか書捨てスクリプトなんだからスマートさなんか気にしないで手っ取り早い方法を選べばいい
734デフォルトの名無しさん
2018/01/29(月) 00:28:48.72ID:3fqaX6d7 UNIXならProcessクラス使えば
735デフォルトの名無しさん
2018/01/31(水) 00:19:33.04ID:ah9e2u9N >>719
にも書いたけど、
>autocomplete-ruby: exec error: Error: Command failed: ~/.rbenv/versions/2.4.1/bin/rsense
> start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book
これを、1行で打たないといけない!
これを、rsense の後ろで、改行したらダメ!
それか、{ユーザー名} のユーザー名に全角文字を使ったとか、半角空白が入っているとか。
どこかに半角空白が入っていると、そこで区切られるから、引数が多くなるのでエラーになる。
だから、" " で囲う必要がある
--path "/Users/{ユーザー名}/Programming/ruby-book"
これを、" " で、囲ってみ
>>731
エラーメッセージが、no such directry から、command not found に変わったなら、
rsense コマンドは使えるけど、たぶん、そのサブコマンドが間違っている
>Usage: rsense <start|stop|restart>
rsense の後に、これらのサブコマンドを正しく続けなければならない
>>721
にも書いたけど、
~/.rbenv/versions/2.4.1/bin/rsense のように、パスを付けて書かなくても、
単に、rsense と打っても、実行ファイルを探せる
rsense start --port 47367 --path "/Users/{ユーザー名}/Programming/ruby-book"
それと、Linux なら、/var/log の下にあるログファイルを見て、
もっと詳しいエラーメッセージを取得して検索する
にも書いたけど、
>autocomplete-ruby: exec error: Error: Command failed: ~/.rbenv/versions/2.4.1/bin/rsense
> start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book
これを、1行で打たないといけない!
これを、rsense の後ろで、改行したらダメ!
それか、{ユーザー名} のユーザー名に全角文字を使ったとか、半角空白が入っているとか。
どこかに半角空白が入っていると、そこで区切られるから、引数が多くなるのでエラーになる。
だから、" " で囲う必要がある
--path "/Users/{ユーザー名}/Programming/ruby-book"
これを、" " で、囲ってみ
>>731
エラーメッセージが、no such directry から、command not found に変わったなら、
rsense コマンドは使えるけど、たぶん、そのサブコマンドが間違っている
>Usage: rsense <start|stop|restart>
rsense の後に、これらのサブコマンドを正しく続けなければならない
>>721
にも書いたけど、
~/.rbenv/versions/2.4.1/bin/rsense のように、パスを付けて書かなくても、
単に、rsense と打っても、実行ファイルを探せる
rsense start --port 47367 --path "/Users/{ユーザー名}/Programming/ruby-book"
それと、Linux なら、/var/log の下にあるログファイルを見て、
もっと詳しいエラーメッセージを取得して検索する
736デフォルトの名無しさん
2018/01/31(水) 01:31:31.84ID:ah9e2u9N >>732-734
外部コマンドをバッククォートで囲むとか、IO.popen を使って、
終了ステータス「$?」で分岐する
Rubyで外部コマンドを実行して結果を受け取る方法あれこれ
https://qiita.com/tyabe/items/56c9fa81ca89088c5627
resText = ""
IO.popen("where notepad") { |io| resText = io.read }
puts "終了ステータス : #{$?}"
puts resText
出力結果
終了ステータス : pid 9872 exit 0
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
外部コマンドをバッククォートで囲むとか、IO.popen を使って、
終了ステータス「$?」で分岐する
Rubyで外部コマンドを実行して結果を受け取る方法あれこれ
https://qiita.com/tyabe/items/56c9fa81ca89088c5627
resText = ""
IO.popen("where notepad") { |io| resText = io.read }
puts "終了ステータス : #{$?}"
puts resText
出力結果
終了ステータス : pid 9872 exit 0
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
737デフォルトの名無しさん
2018/02/07(水) 21:03:36.63ID:/4oaORK0 Windows向けのRubyバイナリですが
ASRの2.5はいつ出るんでしょうか?
RubyInstallerはOLEがうまく動かないのでASRを使っています。
ASRの2.5はいつ出るんでしょうか?
RubyInstallerはOLEがうまく動かないのでASRを使っています。
738デフォルトの名無しさん
2018/02/07(水) 21:24:44.94ID:N9vep8wO RubyはWindowsで使うものではない
WinでRubyなんてプロダクションでは全く使われていないので、最新バージョンに追従しなければ何かまずいことになるというプレッシャーは無く、
有志が気が向いたときに遊びでやってるだけだ
そんなものに期待するのがそもそもの間違い
いい加減諦めてWSLかVMかMacに移行しなさい
WinでRubyなんてプロダクションでは全く使われていないので、最新バージョンに追従しなければ何かまずいことになるというプレッシャーは無く、
有志が気が向いたときに遊びでやってるだけだ
そんなものに期待するのがそもそもの間違い
いい加減諦めてWSLかVMかMacに移行しなさい
739デフォルトの名無しさん
2018/02/07(水) 21:42:14.34ID:ZXClH+OJ WindowsでRuby使うとかマゾもいいとこ。
おとなしくPythonにしとけばいいのに。
日本語の情報が豊富!とか言って初心者釣ってたやつらにも責任がある。
コミュニティがシェア9割のWindowsを親の仇のように嫌ってる時点で初心者向けなんか有り得ないというのに。
おとなしくPythonにしとけばいいのに。
日本語の情報が豊富!とか言って初心者釣ってたやつらにも責任がある。
コミュニティがシェア9割のWindowsを親の仇のように嫌ってる時点で初心者向けなんか有り得ないというのに。
740デフォルトの名無しさん
2018/02/08(木) 04:05:47.94ID:31uXy/SD Windows10 Home で、WSL(Windows Subsystem for Linux)正式版を簡単に導入できた
MS Store から簡単に、Ubuntu 16.04 をダウンロードできた。
サイズは、200MB ほど
パッケージマネージャーで、Ruby 2.3 も簡単にインストールできた
MS Store から簡単に、Ubuntu 16.04 をダウンロードできた。
サイズは、200MB ほど
パッケージマネージャーで、Ruby 2.3 も簡単にインストールできた
741デフォルトの名無しさん
2018/02/08(木) 04:50:05.31ID:lklijtOD できたんだ
742デフォルトの名無しさん
2018/02/08(木) 06:54:03.75ID:ZE8Ol0Sg >>737
OLEがうまく動かないってどういうこと?
OLEがうまく動かないってどういうこと?
744デフォルトの名無しさん
2018/02/08(木) 19:31:35.11ID:x393c3Y0 最近のwindowsは32bit版のODBCと64bit版のODBC分かれてるから
データソース作るときにどっちか逆になると繋がらないことがたまによくある
データソース作るときにどっちか逆になると繋がらないことがたまによくある
745737
2018/02/08(木) 20:06:16.19ID:zFeCrx9M 環境はwindows7の32bitだ
そんで同じスクリプトで
ASRなら繋がるけどRubyInstallerだと繋がらないんだ
そんで同じスクリプトで
ASRなら繋がるけどRubyInstallerだと繋がらないんだ
746デフォルトの名無しさん
2018/02/09(金) 01:32:56.68ID:JPCfoDnF まず、エラーメッセージを取得して、それで検索することから始める
747デフォルトの名無しさん
2018/02/09(金) 01:36:30.27ID:ZFL6conz そして5年前の情報とかしかなくて終わる
748デフォルトの名無しさん
2018/02/09(金) 18:48:38.40ID:g1sd4Kag AWSのCloud9のRubyで アラーム代わりにwavやmp3を再生したいんですけど、かんたんにできるでしょうか
749デフォルトの名無しさん
2018/02/09(金) 19:25:09.92ID:FL1yxC1J bokete みたいなwebサイト作りたいんですけど何種類かアイデアあるんすけど
ruby ➡ Ror
php ➡ WordPress
どっちがいいっすか?
ruby ➡ Ror
php ➡ WordPress
どっちがいいっすか?
750デフォルトの名無しさん
2018/02/10(土) 01:08:50.39ID:TNdj3qFT ruby -e "puts 'abc'"
ruby -e 'puts "abc"'
1-liner で、上はWindows、下はLinux でのクォーテーションだけど、
簡単に相互を置換する方法はない?
ruby -e "puts 'abc'"
例えば、これの、" を' に置換すると、
ruby -e 'puts 'abc''
となって、区別できなくなる
>>749
もちろん、Rails
ruby -e 'puts "abc"'
1-liner で、上はWindows、下はLinux でのクォーテーションだけど、
簡単に相互を置換する方法はない?
ruby -e "puts 'abc'"
例えば、これの、" を' に置換すると、
ruby -e 'puts 'abc''
となって、区別できなくなる
>>749
もちろん、Rails
751デフォルトの名無しさん
2018/02/10(土) 01:37:14.21ID:dbzbK1DZ752デフォルトの名無しさん
2018/02/10(土) 08:42:39.65ID:BVqOrgag >>750
WindowsだろうがLinuxだろうがワンライナーならどちらのクォーテーション・マークでも動作するから置換する必要はない
それでも置換するなら、簡単なものなら..tr('"\'','\'"')
真面目にやるなら式中の"を%Qに'を%qにでもすればいいんじゃない
WindowsだろうがLinuxだろうがワンライナーならどちらのクォーテーション・マークでも動作するから置換する必要はない
それでも置換するなら、簡単なものなら..tr('"\'','\'"')
真面目にやるなら式中の"を%Qに'を%qにでもすればいいんじゃない
753デフォルトの名無しさん
2018/02/10(土) 17:44:21.82ID:3K6ZWpKd Array#zipに関する質問です。
aを二次元座標[x, y]の配列として
a[0].zip(*a[1..-1])と同じ動作を効率的にできるだけ短く書くコードを教えてください。
aを二次元座標[x, y]の配列として
a[0].zip(*a[1..-1])と同じ動作を効率的にできるだけ短く書くコードを教えてください。
754デフォルトの名無しさん
2018/02/10(土) 17:55:38.94ID:eFhUfahp755デフォルトの名無しさん
2018/02/10(土) 20:29:37.87ID:Jen4nAbv aの要素数が滅茶苦茶多いと、引数に渡すだけで大変そう
756デフォルトの名無しさん
2018/02/10(土) 21:53:50.96ID:ELWGSSBQ 引数を渡すかわりに引導を渡してみては?
757デフォルトの名無しさん
2018/02/10(土) 22:18:46.37ID:BVqOrgag 速いかは知らないけど
a.transposeでいいんじゃないの
a.transposeでいいんじゃないの
758デフォルトの名無しさん
2018/02/11(日) 18:24:55.59ID:ONLKHfKt759デフォルトの名無しさん
2018/02/11(日) 20:12:19.15ID:aLeqVhz7 残念だが手遅れ
760デフォルトの名無しさん
2018/02/11(日) 20:17:25.63ID:JLQLPcxv よく使うクラスだけでもマニュアル全部読んでおくといいよ大した量じゃないし
761デフォルトの名無しさん
2018/02/12(月) 13:39:48.05ID:S+p/PDus 普通は、transpose ぐらいあるだろ。
R なんて、行列が逆だから、transpose が無かったら、混乱する
module Enumerable だけは、読んでおけ
R なんて、行列が逆だから、transpose が無かったら、混乱する
module Enumerable だけは、読んでおけ
762デフォルトの名無しさん
2018/02/14(水) 16:44:54.84ID:gwupYb1h Windows10 の、Chrome の自動操作で、
SeleniumWebDriver では、Ruby から起動したブラウザが、閉じてしまう。
sleep で、待つ事はできるけど
ブラウザが閉じないように、出来ないの?
それか、iMacros を使うしかないのか?
SeleniumWebDriver では、Ruby から起動したブラウザが、閉じてしまう。
sleep で、待つ事はできるけど
ブラウザが閉じないように、出来ないの?
それか、iMacros を使うしかないのか?
763デフォルトの名無しさん
2018/02/17(土) 22:07:32.61ID:IU1gsQgu ActiveRuby (Beta 版)と言う、Rails など、40 gem、有用なライブラリ一式をまとめた、
Windows 用の、Precompiled Ruby があるね
Ruby 2.3.4 で、容量は、1GB
Windows 用の、Precompiled Ruby があるね
Ruby 2.3.4 で、容量は、1GB
764デフォルトの名無しさん
2018/02/17(土) 22:10:01.26ID:C+rXeEsA 何で句読点そんななの?
765デフォルトの名無しさん
2018/02/19(月) 08:06:13.46ID:FUvFB9Jm766デフォルトの名無しさん
2018/02/19(月) 08:14:01.13ID:NxG0QMWB 戦場カメラマンかよ
767デフォルトの名無しさん
2018/02/21(水) 12:00:51.75ID:YvXKEUAS RubyのClassクラスはObjectクラスのインスタンス。
そんでもって、自作MyClassクラスを作れば、Classクラスのインスタンスとなる。同時に、Objectクラスを継承する。
ってことは、Objectのインスタンスメソッド、ClassのインスタンスメソッドをMyClassのインスタンスは継承している。
そんでもって、自作MyClassクラスを作れば、Classクラスのインスタンスとなる。同時に、Objectクラスを継承する。
ってことは、Objectのインスタンスメソッド、ClassのインスタンスメソッドをMyClassのインスタンスは継承している。
768デフォルトの名無しさん
2018/02/21(水) 20:05:24.59ID:HEIjAjBo Classクラスのクラスメソッドは、
自作MyClassクラスのクラスメソッドとなるか?
自作MyClassクラスのクラスメソッドとなるか?
769デフォルトの名無しさん
2018/02/21(水) 20:07:58.08ID:gGEObxum なるよ
770デフォルトの名無しさん
2018/02/21(水) 21:00:07.80ID:HEIjAjBo Classクラスの特異クラスのインスタンスメソッドは、
自作MyClassクラスのクラスメソッドとなるか?
自作MyClassクラスのクラスメソッドとなるか?
771デフォルトの名無しさん
2018/02/21(水) 21:07:50.97ID:HEIjAjBo オブジェクトの特異クラスのメソッドは、
そのオブジェクトの特異メソッドとなる。
では、オブジェクトの特異クラスのそのまた特異クラスのメソッドは、
そのオブジェクトの特異クラスメソッドとなるか?
そのオブジェクトの特異メソッドとなる。
では、オブジェクトの特異クラスのそのまた特異クラスのメソッドは、
そのオブジェクトの特異クラスメソッドとなるか?
772デフォルトの名無しさん
2018/02/21(水) 21:13:10.82ID:6K5cWIBm ご覧ください。
こういう処理すべき本質と離れた下らないことしか話すことのないクソ言語とハエ信者たちです。
こういう処理すべき本質と離れた下らないことしか話すことのないクソ言語とハエ信者たちです。
773デフォルトの名無しさん
2018/02/21(水) 22:26:16.94ID:No3TMOHA ご覧ください
こういうプログラミングの話題でない煽りしかできない底辺です
こういうプログラミングの話題でない煽りしかできない底辺です
774デフォルトの名無しさん
2018/02/21(水) 22:42:56.90ID:gGEObxum 簡単に実装できるんだから自分で試せばいいのに
775デフォルトの名無しさん
2018/02/22(木) 18:58:12.64ID:mWjDtu6E >>772 に言わせれば:
・以下の記事の内容は「処理すべき本質と離れた下らないこと」であり、
・以下の記事に登場するのは「クソ言語」であり、
・以下の記事の著者は「ハエ信者」なんだろね
Pythonのオブジェクトとクラスのビジュアルガイド – 全てがオブジェクトであるということ
http://postd.cc/pythons-objects-and-classes-a-visual-guide/
・以下の記事の内容は「処理すべき本質と離れた下らないこと」であり、
・以下の記事に登場するのは「クソ言語」であり、
・以下の記事の著者は「ハエ信者」なんだろね
Pythonのオブジェクトとクラスのビジュアルガイド – 全てがオブジェクトであるということ
http://postd.cc/pythons-objects-and-classes-a-visual-guide/
776デフォルトの名無しさん
2018/02/22(木) 19:49:41.37ID:w/32fA/q pythonごときクソ言語に劣等感抱いててワロタwww
追い詰められ過ぎwww消えそうwwwww
追い詰められ過ぎwww消えそうwwwww
777デフォルトの名無しさん
2018/02/22(木) 22:20:20.36ID:3IU5aIfi クソだろうが何だろうが使われたもの勝ち
778デフォルトの名無しさん
2018/02/22(木) 22:26:35.15ID:K6gwUVsb Ruby にも、アルゴリズム・数学系のライブラリが揃っていれば、
蛇には負けぬものを。ぐぬぬぬぬ
実際、プログラミングコンテスト・パズル系は、Rubyで説明することが多いのに
蛇には負けぬものを。ぐぬぬぬぬ
実際、プログラミングコンテスト・パズル系は、Rubyで説明することが多いのに
779デフォルトの名無しさん
2018/02/23(金) 04:41:21.61ID:rDH2T2Uu 今日からRubyの勉強する
楽しみ
楽しみ
780デフォルトの名無しさん
2018/02/24(土) 23:08:36.72ID:ysq1mmzI Ruby 2.6.0-preview1 リリース
https://www.ruby-lang.org/ja/news/2018/02/24/ruby-2-6-0-preview1-released/
https://www.ruby-lang.org/ja/news/2018/02/24/ruby-2-6-0-preview1-released/
781デフォルトの名無しさん
2018/02/25(日) 04:05:29.41ID:pcyqC+jB numbers = (1..7).to_a
この配列を、前から走査して、ある数字が見つかった時、
その数字より前の配列と、その数字を含めて、その数字より後ろの配列に、
1-pass で分ける、簡潔な書き方はありますか?
partition, group_by, each_with_object とか?
例、4 が見つかった場合
[1,2,3]
[4,5,6,7]
この配列を、前から走査して、ある数字が見つかった時、
その数字より前の配列と、その数字を含めて、その数字より後ろの配列に、
1-pass で分ける、簡潔な書き方はありますか?
partition, group_by, each_with_object とか?
例、4 が見つかった場合
[1,2,3]
[4,5,6,7]
782デフォルトの名無しさん
2018/02/25(日) 04:12:39.42ID:OLqFO2yC ありまぁす!
783デフォルトの名無しさん
2018/02/25(日) 08:53:07.29ID:Mg3bT8JO 元の配列に4が1つしかなくてソート済みならpartitionでいいんじゃない
numbers.partition{|e| e < 4}
そうじゃないなら素直にやるしかないかと
i = numbsers.find_index(4)
numbers[0...i]
numbers[i..-1]
もしくは
numbers.take_while{|e|e != 4}
numbers.drop_while{|e|e != 4}
numbers.partition{|e| e < 4}
そうじゃないなら素直にやるしかないかと
i = numbsers.find_index(4)
numbers[0...i]
numbers[i..-1]
もしくは
numbers.take_while{|e|e != 4}
numbers.drop_while{|e|e != 4}
784781
2018/02/25(日) 08:59:55.65ID:pcyqC+jB785デフォルトの名無しさん
2018/02/25(日) 10:55:59.02ID:mAmrOOAm Rails6開発開始
786デフォルトの名無しさん
2018/02/25(日) 11:54:19.33ID:OLqFO2yC >>784
ありまぁす!って言ってんだろうが
ありまぁす!って言ってんだろうが
787デフォルトの名無しさん
2018/02/25(日) 11:58:14.59ID:OLqFO2yC [1, 2, 3, 4, 5, 6, 7].slice_before(4).to_a
=> [[1, 2, 3], [4, 5, 6, 7]]
(to_aはEnumeratorをそのまま使うようにすれば不要)
=> [[1, 2, 3], [4, 5, 6, 7]]
(to_aはEnumeratorをそのまま使うようにすれば不要)
788デフォルトの名無しさん
2018/02/25(日) 12:22:26.69ID:caIICGcE これからRuby on RAILS勉強するんですけど
なんかいい参考書とかHPありますか?
なんかいい参考書とかHPありますか?
789781
2018/02/25(日) 12:57:24.51ID:pcyqC+jB >>787
(1..7).slice_before(4).to_a
=> [[1, 2, 3], [4, 5, 6, 7]]
[1,2,4,5,4,6].slice_before(4).to_a
=> [[1, 2], [4, 5], [4, 6]]
slice_before だと、探している数字が複数回あると、
そこから新たに、グルーピングが始まる
>>788
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング、黒田努、2014
黒田の本は、わかりやすい。
ただし、他の著者で、Rails 5 の本も出ているかも
(1..7).slice_before(4).to_a
=> [[1, 2, 3], [4, 5, 6, 7]]
[1,2,4,5,4,6].slice_before(4).to_a
=> [[1, 2], [4, 5], [4, 6]]
slice_before だと、探している数字が複数回あると、
そこから新たに、グルーピングが始まる
>>788
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング、黒田努、2014
黒田の本は、わかりやすい。
ただし、他の著者で、Rails 5 の本も出ているかも
790デフォルトの名無しさん
2018/02/25(日) 13:36:01.35ID:OLqFO2yC > slice_before だと、探している数字が複数回あると、
> そこから新たに、グルーピングが始まる
仕様どおりだろ
> そこから新たに、グルーピングが始まる
仕様どおりだろ
791デフォルトの名無しさん
2018/02/27(火) 16:15:39.63ID:shVfNcyg erbとかのテンプレートを元に画像を生成するgemってありませんか?
thinreportsでpdfではなくbmp,pngなどの画像を出力する感じです
thinreportsでpdfではなくbmp,pngなどの画像を出力する感じです
792デフォルトの名無しさん
2018/02/27(火) 21:18:11.05ID:PLAOSS1/ 「selenium webdriver screenshot」で検索!
Electron でも出来る
Electron でも出来る
793デフォルトの名無しさん
2018/02/27(火) 21:25:08.90ID:+EUBPr3t inline_svg とか?
794デフォルトの名無しさん
2018/02/28(水) 00:12:23.88ID:mWE0Cmql >>784
AsciiDoc/Asciidoctor
AsciiDoc/Asciidoctor
795デフォルトの名無しさん
2018/02/28(水) 19:08:53.94ID:acVWAXbg シェルコマンドでimagemagick呼べばいいよ
gemすら使わずに一瞬でできる
gemすら使わずに一瞬でできる
796デフォルトの名無しさん
2018/02/28(水) 21:12:02.76ID:mIXPiXOq TSVデータを処理したいんですが
末尾の空白文字(タブ)がいつの間にか消えてしまいます
splitが自動削除するのは分かったけど他でも消えてる様です
この暗黙の空白削除現象を検索しても引っかからないんですがいい検索単語はないですか?
あと勝手に削除する理由はなんなんでしょう
末尾の空白文字(タブ)がいつの間にか消えてしまいます
splitが自動削除するのは分かったけど他でも消えてる様です
この暗黙の空白削除現象を検索しても引っかからないんですがいい検索単語はないですか?
あと勝手に削除する理由はなんなんでしょう
797デフォルトの名無しさん
2018/02/28(水) 21:36:50.04ID:bddDF+sp798796
2018/02/28(水) 22:18:52.36ID:mIXPiXOq 原因分からなかったけど解決しました
ループ内で毎回Hashに加えていくのを一旦stringにまとめてから
ループ後のHashに加えるようにしたら"\txxxxx\t\n"の後ろのタブが消えなくなりました
ループ内で毎回Hashに加えていくのを一旦stringにまとめてから
ループ後のHashに加えるようにしたら"\txxxxx\t\n"の後ろのタブが消えなくなりました
799796
2018/02/28(水) 22:22:19.89ID:mIXPiXOq 前に壊したデータ読み直してました
800デフォルトの名無しさん
2018/03/02(金) 00:03:53.83ID:7c4/pzB6 windows環境でrRubyinstaller2でインストールしてruby.exeのパスに非アスキー文字が含まれていると
requireしたときに$LOAD_PATHの非アスキー部分が文字化けしてload errorが起きるんですけど何か対処法はありませんでしょうか?
その場的に今はUTF-8で書いたコードの中で$LOAD_PATHに対応するパスを挿入して動かしてるんですが。。。
諸事情によりrubyはアスキー文字配下にインストールできないものとします
requireしたときに$LOAD_PATHの非アスキー部分が文字化けしてload errorが起きるんですけど何か対処法はありませんでしょうか?
その場的に今はUTF-8で書いたコードの中で$LOAD_PATHに対応するパスを挿入して動かしてるんですが。。。
諸事情によりrubyはアスキー文字配下にインストールできないものとします
801デフォルトの名無しさん
2018/03/02(金) 03:54:56.19ID:QlU5Q+B8 今すぐアンインストールしてWSLを入れよう
802デフォルトの名無しさん
2018/03/02(金) 05:39:12.36ID:xypD9Mi9 >>800
バグ報告してくるんだ
バグ報告してくるんだ
803デフォルトの名無しさん
2018/03/02(金) 07:54:43.19ID:mIGjbFX+ Windows のirb でも、ascii 以外は正常に動かないから、
irb を使う時だけ、WSL・Ubuntu の方を使っている
UTF-8 では、cp932(shift-jis)が読めないのだろう
起動時オプションで、cp932 を指定すれば、読めるかも知れないけど、
逆にRuby 内部で、cp932 はヤバイのじゃないか?
UTF-8以外を使うと、他のアプリと通信できないとか、バグりそう
とにかく、PC のユーザー名・パス名などに、半角英数字以外を使うと、
多くのアプリでバグる
irb を使う時だけ、WSL・Ubuntu の方を使っている
UTF-8 では、cp932(shift-jis)が読めないのだろう
起動時オプションで、cp932 を指定すれば、読めるかも知れないけど、
逆にRuby 内部で、cp932 はヤバイのじゃないか?
UTF-8以外を使うと、他のアプリと通信できないとか、バグりそう
とにかく、PC のユーザー名・パス名などに、半角英数字以外を使うと、
多くのアプリでバグる
804803
2018/03/02(金) 11:51:22.61ID:mIGjbFX+ Windows のPowerShell から、Ruby の1-liner を実行すると、ファイル名だけが\x 表示された。
PowerShellのデフォルト文字コードが、UTF-8 だから、フォルダ名は正常に表示された
> ruby -rfileutils -e "puts FileUtils.pwd"
C:/Users/Owner/Documents/あいう
> ruby -e "p Dir.glob('*')"
["\x{8345}\x{8343}\x{838B}\x{8358}.txt", "\x{8376}\x{838D}\x{834F}\x{838C}.txt"]
> ruby -E :shift_jis -e "p Dir.glob('*')"
起動オプションに、外部エンコーディングをUTF-8のままで指定せず、
内部エンコーディングだけをshift_jis に指定すると、正常に表示された
["ウイルス.txt", "プログレ.txt"]
漏れは一々、起動時やファイル内に、文字コードを指定するのが面倒なので、
Windowsのユーザー環境変数に、RUBYOPT を追加して、--encoding=UTF-8 を設定している。
ただし、こうすると、irb が動かなくなるので、Windows10 のWSL・Ubuntu のirb を使っている
一方、WSL・Ubuntu・bash から、上記を実行すると、
デフォルトで、どちらも正常に表示された
Windows で実行する場合は、PowerShellはUTF-8、コマンドプロンプトはCP932 がデフォルトだから、
これらのシェルの文字コードか、Ruby側の文字コードを指定する
まあ、shift_jis の処理は、危険だと思う。
@などのWindows独自のCP932文字(環境依存文字)があって、
shift_jis・CP932は微妙に異なるから、どこまで正常に動くか分からない
PowerShellのデフォルト文字コードが、UTF-8 だから、フォルダ名は正常に表示された
> ruby -rfileutils -e "puts FileUtils.pwd"
C:/Users/Owner/Documents/あいう
> ruby -e "p Dir.glob('*')"
["\x{8345}\x{8343}\x{838B}\x{8358}.txt", "\x{8376}\x{838D}\x{834F}\x{838C}.txt"]
> ruby -E :shift_jis -e "p Dir.glob('*')"
起動オプションに、外部エンコーディングをUTF-8のままで指定せず、
内部エンコーディングだけをshift_jis に指定すると、正常に表示された
["ウイルス.txt", "プログレ.txt"]
漏れは一々、起動時やファイル内に、文字コードを指定するのが面倒なので、
Windowsのユーザー環境変数に、RUBYOPT を追加して、--encoding=UTF-8 を設定している。
ただし、こうすると、irb が動かなくなるので、Windows10 のWSL・Ubuntu のirb を使っている
一方、WSL・Ubuntu・bash から、上記を実行すると、
デフォルトで、どちらも正常に表示された
Windows で実行する場合は、PowerShellはUTF-8、コマンドプロンプトはCP932 がデフォルトだから、
これらのシェルの文字コードか、Ruby側の文字コードを指定する
まあ、shift_jis の処理は、危険だと思う。
@などのWindows独自のCP932文字(環境依存文字)があって、
shift_jis・CP932は微妙に異なるから、どこまで正常に動くか分からない
805デフォルトの名無しさん
2018/03/02(金) 12:00:42.65ID:OCKmRFPd なにをごちゃごちゃやってんだ?
こういうのは変換すべきレイヤーで変換するだけの話だろ
Rubyのスクリプト(に限らないが)は
どこでも同じように動かすんだから
ソースコードも内部も UTF-8だ
画面への入出力時に変換させればいいだけ
コマンドプロンプトをUTF-8に変換するって手もある
海外じゃCP932という日本専用の文字コード使ってないことぐらいわかるだろ?
こういうのは変換すべきレイヤーで変換するだけの話だろ
Rubyのスクリプト(に限らないが)は
どこでも同じように動かすんだから
ソースコードも内部も UTF-8だ
画面への入出力時に変換させればいいだけ
コマンドプロンプトをUTF-8に変換するって手もある
海外じゃCP932という日本専用の文字コード使ってないことぐらいわかるだろ?
806デフォルトの名無しさん
2018/03/02(金) 12:39:35.62ID:vnF4MMGw 元々はwindowsのワイド文字をうまくutf8に変換してやってこうという方針だったのに
nobuがロケールに変換させまくって動かないだけ
まあ誰もバグ報告しないのも悪いけど
nobuがロケールに変換させまくって動かないだけ
まあ誰もバグ報告しないのも悪いけど
807803
2018/03/02(金) 13:14:57.35ID:mIGjbFX+ Rubyist は、RubyでGem を作れるけど、C で低レベルなI/O を書けるわけじゃない
また、Linux・Windows の両方に対応させるのは、難しい
また、Linux・Windows の両方に対応させるのは、難しい
808803
2018/03/02(金) 16:17:45.17ID:mIGjbFX+ library irb/input-method
https://docs.ruby-lang.org/ja/latest/library/irb=2finput=2dmethod.html
class IRB::ReadlineInputMethod のソースコードを見れば良いの?
それとも、GNU Readline のソースコードかな?
Windows のirb で、日本語がバグるのは、
根本的に、GNU Readline が、Windowsの日本語を考慮していないからじゃないの?
https://docs.ruby-lang.org/ja/latest/library/irb=2finput=2dmethod.html
class IRB::ReadlineInputMethod のソースコードを見れば良いの?
それとも、GNU Readline のソースコードかな?
Windows のirb で、日本語がバグるのは、
根本的に、GNU Readline が、Windowsの日本語を考慮していないからじゃないの?
809デフォルトの名無しさん
2018/03/02(金) 16:40:11.45ID:ypGJ9h8+ というかrubyコミュニティがwindowsを考慮してない。
むしろ怨み、蔑み、嫌っている。昔から。
むしろ怨み、蔑み、嫌っている。昔から。
810デフォルトの名無しさん
2018/03/02(金) 17:18:20.26ID:0lL3/u0V >>809
そだねー
そだねー
811803
2018/03/02(金) 17:55:40.44ID:mIGjbFX+ console.log("あ");
Windows で、node (REPL)を実行したけど、
日本語を入力しても、PowerShell・コマンドプロンプトの両方で、正常に動く
Windows で、node (REPL)を実行したけど、
日本語を入力しても、PowerShell・コマンドプロンプトの両方で、正常に動く
812デフォルトの名無しさん
2018/03/02(金) 23:07:42.42ID:wSJnGqkk RubyはLinuxで動かすようにすればいいよ
WindowsでちょこっとしたやりたいことがあるならC#使え、と
どうせ仕事でやってるRubyはLinuxで動くんだからさ
Windowsマシンでの開発ならVMかDocker使えばすべて解決
WindowsでちょこっとしたやりたいことがあるならC#使え、と
どうせ仕事でやってるRubyはLinuxで動くんだからさ
Windowsマシンでの開発ならVMかDocker使えばすべて解決
813デフォルトの名無しさん
2018/03/03(土) 01:14:23.68ID:vdurK0jv ありがとうございました
ググってみたら結構前から報告されていたバグみたいなので諦めることにします
ググってみたら結構前から報告されていたバグみたいなので諦めることにします
814デフォルトの名無しさん
2018/03/03(土) 01:19:41.29ID:GGmAMA7z815デフォルトの名無しさん
2018/03/03(土) 01:21:46.51ID:GGmAMA7z >>808
chcp 65001とかしてもダメかね?
chcp 65001とかしてもダメかね?
816デフォルトの名無しさん
2018/03/03(土) 15:41:40.19ID:VQ/a88pK cmd で chcp 65001 するくらいなら
git for windows インスコして git bash (mintty) 使うと幸せになれるぞ
git for windows インスコして git bash (mintty) 使うと幸せになれるぞ
817デフォルトの名無しさん
2018/03/03(土) 15:43:54.56ID:x/6oRrTp 65001 は右端とか折り返し表示がバグるね
818803
2018/03/03(土) 15:49:49.91ID:HcfLoqAp Ruby の起動オプションに、外部・内部エンコーディングか、RUBYOPT で指定できる。
ファイル内でも指定できる
それと、PowerShell・コマンドプロンプト、WSL・Ubuntu・bash で指定できる
これらの組み合わせの中で、文字化けしない組み合わせを探す
または、$LOAD_PATH の辺りで、指定するとか
ファイル内でも指定できる
それと、PowerShell・コマンドプロンプト、WSL・Ubuntu・bash で指定できる
これらの組み合わせの中で、文字化けしない組み合わせを探す
または、$LOAD_PATH の辺りで、指定するとか
819デフォルトの名無しさん
2018/03/03(土) 17:58:14.02ID:URsJSGy/ Rubyの2.5.0p2をRubyインストーラーでインストールしたらRubyの2.5.0p0だった・・・
820デフォルトの名無しさん
2018/03/03(土) 18:17:52.81ID:A+Ivs8ru patchlevelはもう無いよ
821デフォルトの名無しさん
2018/03/03(土) 18:26:46.78ID:VQ/a88pK >>818
そんな試行錯誤は一番あかんやつや
そんな試行錯誤は一番あかんやつや
822デフォルトの名無しさん
2018/03/03(土) 21:39:09.27ID:rw2aiDdk そうそう。結局 Rubyやirb に問題が有るんじゃなくて
単に >>803 が理解してないだけ
単に >>803 が理解してないだけ
823デフォルトの名無しさん
2018/03/03(土) 21:55:10.06ID:GRjh9/QH そういうことだから理解できない初心者は間違ってもrubyなんか使おうと思わないようにね。
初心者や子供にruby勧めてくるのは例外なくマウント取りたいだけのクズだぞ。
初心者や子供にruby勧めてくるのは例外なくマウント取りたいだけのクズだぞ。
824デフォルトの名無しさん
2018/03/03(土) 21:56:04.27ID:ETPjeMg1 書籍のサンプルコードの一部です
この@memoという変数はいわゆる辞書形式のデータ構造で
[remain, pre]は辞書のキー(複合キー?)という理解でいいんでしょうか
ちなみに@を付けないとどうなりますか
変数名に記号が付くのが凄く気になります
@memo = {}
# 計算結果をメモする
@memo[[remain, pre]] = cnt
この@memoという変数はいわゆる辞書形式のデータ構造で
[remain, pre]は辞書のキー(複合キー?)という理解でいいんでしょうか
ちなみに@を付けないとどうなりますか
変数名に記号が付くのが凄く気になります
@memo = {}
# 計算結果をメモする
@memo[[remain, pre]] = cnt
825デフォルトの名無しさん
2018/03/03(土) 22:30:11.11ID:gHPIEkfR826デフォルトの名無しさん
2018/03/04(日) 00:30:02.17ID:99M3BGnn >>825
ありがとうございました
ありがとうございました
827デフォルトの名無しさん
2018/03/04(日) 02:42:13.82ID:Oz1ASWrr キーに配列が使えるのか・・・
828デフォルトの名無しさん
2018/03/04(日) 04:12:18.75ID:aAfADGFK オブジェクトはなんでもイケるんじゃなかったっけ?
ハッシュ値さえちゃんと返せば。
ハッシュ値さえちゃんと返せば。
829デフォルトの名無しさん
2018/03/04(日) 11:33:10.30ID:7gUy2hud キーにした配列を変化させた時はrehashしないとキーが一致しなくなる
文字列のキーは変化させても、キーはセットしたときのまま
文字列のキーは変化させても、キーはセットしたときのまま
830デフォルトの名無しさん
2018/03/04(日) 11:34:10.89ID:Oz1ASWrr なるほどね。先入観として[a,b]ってかいたら毎回newされて、
キーとしては未定義値のnil固定か、別オブジェクト扱いで不定になるか、と思えた
キーとしては未定義値のnil固定か、別オブジェクト扱いで不定になるか、と思えた
831デフォルトの名無しさん
2018/03/05(月) 16:37:38.89ID:62GuhFZ7 str = <<'EOT'
str = << 'EOT'
here doc で、下のように、<< の後ろに半角空白があると、文法エラーになる
それと、WSL のUbuntu 側にインストールしたRuby で、
Windows 側にあるCSV ファイルを処理すると、
改行コードが異なるから、不正な形式のファイルと言われる。
改行コードを、LF だけに変えると、正しく処理できる
str = << 'EOT'
here doc で、下のように、<< の後ろに半角空白があると、文法エラーになる
それと、WSL のUbuntu 側にインストールしたRuby で、
Windows 側にあるCSV ファイルを処理すると、
改行コードが異なるから、不正な形式のファイルと言われる。
改行コードを、LF だけに変えると、正しく処理できる
832デフォルトの名無しさん
2018/03/05(月) 17:53:15.03ID:aK37pZ+C mode: 'rt'
で読み込めばいいじゃん
で読み込めばいいじゃん
833831
2018/03/05(月) 19:10:41.11ID:62GuhFZ7 options に行区切りを指定したら、
WSL のUbuntu 側にインストールしたRuby で、
Windows 側にあるCSV ファイルを処理できた
row_sep: "\r\n" では出来たが、
row_sep: :auto では、エラーになる
WSL のUbuntu 側にインストールしたRuby で、
Windows 側にあるCSV ファイルを処理できた
row_sep: "\r\n" では出来たが、
row_sep: :auto では、エラーになる
834デフォルトの名無しさん
2018/03/05(月) 21:53:10.11ID:K/Y9LwEe require ‘pry’
def foo;@a = 1;end
binding.pry
このコードを実行し、出て来たプロンプトで
> cd Object
> instance_methods(false)
=> [:to_yaml, :to_yaml_properties, :pry, :__binding__, :psych_to_yaml]
と出ました。fooメソッドが見つかりません。
トップレベルで定義したfooメソッドはObjectのメソッドに成るのでは?
ちなみにコマンドラインでpryとタイプして
[1] pry(main)> def foo;@a=0;end
=> :foo
[2] pry(main)> cd Object
[3] pry(Object):1> instance_methods(false)
=> [:to_yaml, :to_yaml_properties, :pry, :__binding__, :psych_to_yaml, :foo]
[4] pry(Object):1>
ちゃんとfooが見えます。
def foo;@a = 1;end
binding.pry
このコードを実行し、出て来たプロンプトで
> cd Object
> instance_methods(false)
=> [:to_yaml, :to_yaml_properties, :pry, :__binding__, :psych_to_yaml]
と出ました。fooメソッドが見つかりません。
トップレベルで定義したfooメソッドはObjectのメソッドに成るのでは?
ちなみにコマンドラインでpryとタイプして
[1] pry(main)> def foo;@a=0;end
=> :foo
[2] pry(main)> cd Object
[3] pry(Object):1> instance_methods(false)
=> [:to_yaml, :to_yaml_properties, :pry, :__binding__, :psych_to_yaml, :foo]
[4] pry(Object):1>
ちゃんとfooが見えます。
835デフォルトの名無しさん
2018/03/05(月) 22:05:54.92ID:K/Y9LwEe 自己解決しました。
[1] pry(main)> self.private_methods(false)
とすれば見えました。
[1] pry(main)> self.private_methods(false)
とすれば見えました。
836デフォルトの名無しさん
2018/03/11(日) 14:39:13.23ID:veKfJdlp 1
837デフォルトの名無しさん
2018/03/15(木) 18:29:02.24ID:5enxwtKu RubyからDB扱うときって皆は何のライブラリ使ってるの?
838デフォルトの名無しさん
2018/03/15(木) 19:28:59.60ID:tIXtXy4E RubyでDBを扱う場合、プロダクションで使われているのは世界で唯一ActiveRecordのみ
839デフォルトの名無しさん
2018/03/15(木) 21:18:59.56ID:OYGfq7D7 インターフェースじゃん。
バックでmysqlとか動いてるぞ。
いいからちゃんと勉強しろよ。
バックでmysqlとか動いてるぞ。
いいからちゃんと勉強しろよ。
840デフォルトの名無しさん
2018/03/15(木) 21:31:02.48ID:rmXeLovx >>839
ライブラリで答えてください
ライブラリで答えてください
841デフォルトの名無しさん
2018/03/15(木) 23:24:57.24ID:xG9lbsTH >>837
ActiveRecordが大半なのは間違いない
ORMを求めてるならsequel、rom、hanami等
素のDBライブラリならmysql2, sqlite3-ruby, ruby-pg
ArelでSQLを構築してDBライブラリ使ってSQL実行してもいい
ActiveRecordが大半なのは間違いない
ORMを求めてるならsequel、rom、hanami等
素のDBライブラリならmysql2, sqlite3-ruby, ruby-pg
ArelでSQLを構築してDBライブラリ使ってSQL実行してもいい
842デフォルトの名無しさん
2018/03/16(金) 15:24:05.43ID:3ma6aQHv sqlite3
843デフォルトの名無しさん
2018/03/16(金) 18:23:28.28ID:2Gd98HT2 >>839
Rails屋がSQLすら書けなさそうに見えて腹立つのは分からんでもないけど、今はDBインターフェースの話しかしてないぞ
Rails屋がSQLすら書けなさそうに見えて腹立つのは分からんでもないけど、今はDBインターフェースの話しかしてないぞ
844デフォルトの名無しさん
2018/03/16(金) 23:22:04.16ID:yiSYhWxU 「Node.js超入門、掌田津耶乃、2017」を読んでいるけど、JavaScript の基本は、Ruby
Ruby のSinatra, JS のNode.js を、full scratch で書くと、ほぼ同じ
Rails, JSのExpress + Bookshelf が、ほぼ同じ
Ruby のSinatra, JS のNode.js を、full scratch で書くと、ほぼ同じ
Rails, JSのExpress + Bookshelf が、ほぼ同じ
845デフォルトの名無しさん
2018/03/16(金) 23:24:51.12ID:3NuYtiCt 掌田津耶乃ってダメな本じゃなかったか?
846844
2018/03/17(土) 00:05:48.37ID:nxO/ldT7 プログラミング本では、掌田が第一人者。
Unity, UE4 などのゲームエンジンから、最近は、Python, Node.js にも進出
売れる・成長する分野には、必ず掌田が参入してくる。
業界の風見鶏
「Node.js超入門、掌田津耶乃、2017」
この本で、Sinatra, Rails を学ぶ方が簡単。
20時間ほどで読める
後は、YouTube の動画で、OK
Unity, UE4 などのゲームエンジンから、最近は、Python, Node.js にも進出
売れる・成長する分野には、必ず掌田が参入してくる。
業界の風見鶏
「Node.js超入門、掌田津耶乃、2017」
この本で、Sinatra, Rails を学ぶ方が簡単。
20時間ほどで読める
後は、YouTube の動画で、OK
847デフォルトの名無しさん
2018/03/17(土) 00:10:02.58ID:6ii9LbbD やっぱ掌田津耶乃ってだめな人だった
調べたらわかったよ
調べたらわかったよ
848デフォルトの名無しさん
2018/03/17(土) 00:34:45.99ID:4Xu/HAYS 今の時代、開発速度が速すぎて誰も良い本なんか書けないよ
それを書き終わる頃には時代遅れになってるんだから
それを書き終わる頃には時代遅れになってるんだから
849デフォルトの名無しさん
2018/03/17(土) 00:38:04.22ID:6ii9LbbD いや掌田がとりわけレベル低いだけ
850デフォルトの名無しさん
2018/03/17(土) 01:55:30.84ID:+wQGtQt+ 掌田津耶乃はだめな本
山田 祥寛は良い本
という評価が一般的
掌田津耶乃は何冊か読んでいるけど、
見比べてみるとたしかにダメダメなんだなぁ。
山田 祥寛は良い本
という評価が一般的
掌田津耶乃は何冊か読んでいるけど、
見比べてみるとたしかにダメダメなんだなぁ。
851デフォルトの名無しさん
2018/03/17(土) 02:08:55.36ID:6ii9LbbD 山田 祥寛もダメだろ
852デフォルトの名無しさん
2018/03/17(土) 05:35:09.75ID:77P/HBnW 掌田津耶乃はHyoerTalkなまりのコード
853デフォルトの名無しさん
2018/03/17(土) 09:18:19.49ID:nxO/ldT7 最近は、Python にも、なでしこの作者・クジラ飛行机、
大津真、掌田も、乗り込んできた
この辺は、売れ筋には参入してくる著者
中でも掌田は、ゲームエンジン・言語・Javaのフレームワーク・Node.js など万能
大津真、掌田も、乗り込んできた
この辺は、売れ筋には参入してくる著者
中でも掌田は、ゲームエンジン・言語・Javaのフレームワーク・Node.js など万能
854デフォルトの名無しさん
2018/03/17(土) 12:59:20.73ID:OC0Ef+g3 またあらぶっとるんか糞荒らし
はやくRubyコミュで発言しろよ屑
はやくRubyコミュで発言しろよ屑
855デフォルトの名無しさん
2018/03/17(土) 14:32:15.41ID:+wQGtQt+ 要はね
掌田の出版本を見てみるとわかるが、
初心者を食い物にしている
初心者専用の作者なわけよ、
だからレビューとかで
表面だけかじって書いたかのような本とか
書かれちゃうわけよ。
深く知りもしないであれだけの数の本を書けるわけないよね。
だから掌田はおすすめできないんだわ。
初心者にはいいかもしれないよ?
初心者向けの本ばかり何冊も何年も書き続けているから。
掌田の出版本を見てみるとわかるが、
初心者を食い物にしている
初心者専用の作者なわけよ、
だからレビューとかで
表面だけかじって書いたかのような本とか
書かれちゃうわけよ。
深く知りもしないであれだけの数の本を書けるわけないよね。
だから掌田はおすすめできないんだわ。
初心者にはいいかもしれないよ?
初心者向けの本ばかり何冊も何年も書き続けているから。
856デフォルトの名無しさん
2018/03/17(土) 15:47:30.97ID:uAf5LbgY 商売としては全然アリだね
とっかかりが欲しい初心者いるだろうし
とっかかりが欲しい初心者いるだろうし
857デフォルトの名無しさん
2018/03/17(土) 16:43:12.02ID:cWw1OMJa >>855
ほんそれ
ほんそれ
858844
2018/03/17(土) 19:43:45.96ID:nxO/ldT7 デザインもカラフルで、図解してあるから、すごくわかりやすい。
売れるから、こういう外注予算が大きい
オライリーでは、図解・デザインは無いから、読むのに時間が掛かる。
図解は視覚だから、瞬時に理解できるけど、
言葉の説明だと、それを図に置き換えて、考えないといけないから大変
掌田の本は、ものすごく短時間で理解できるから、効率的。
すごく消化・吸収に良いし、
時間も節約できるから、時給換算すれば大得
漏れには、時間が掛かる・細かい・理解できない、100の知識はいらない。
短時間で、よくわかる、50の基礎知識がさえ有ればよい。
あとは動画を見て、応用するから
「Node.js超入門、掌田津耶乃、2017」
この本で、Sinatra, Rails が分かる
「10日でおぼえる jQuery 入門教室 第2版、山田祥寛(よしひろ)、2013」
この本で、Nokogiri が分かるのと同じ
本が出ていない場合とか、難しい本しかない場合に、非常に役に立つし、速い
売れるから、こういう外注予算が大きい
オライリーでは、図解・デザインは無いから、読むのに時間が掛かる。
図解は視覚だから、瞬時に理解できるけど、
言葉の説明だと、それを図に置き換えて、考えないといけないから大変
掌田の本は、ものすごく短時間で理解できるから、効率的。
すごく消化・吸収に良いし、
時間も節約できるから、時給換算すれば大得
漏れには、時間が掛かる・細かい・理解できない、100の知識はいらない。
短時間で、よくわかる、50の基礎知識がさえ有ればよい。
あとは動画を見て、応用するから
「Node.js超入門、掌田津耶乃、2017」
この本で、Sinatra, Rails が分かる
「10日でおぼえる jQuery 入門教室 第2版、山田祥寛(よしひろ)、2013」
この本で、Nokogiri が分かるのと同じ
本が出ていない場合とか、難しい本しかない場合に、非常に役に立つし、速い
859デフォルトの名無しさん
2018/03/18(日) 09:45:02.22ID:JzaiKxSG860デフォルトの名無しさん
2018/03/18(日) 12:36:10.41ID:Gg1K6bSi >>859
頭使ってる?
掌田津耶乃が何冊初心者用の本を出しているか知っている?
ちょっと考えれば、
英語、ドイツ語、フランス語の言語学習の本を書いたとしたら
その言語のことをどこまで知っていて本を書いているんだろうとか気にならないの?
もし気にならないんだったら、表面的な知識だけで満足しているお前とは合わないのでバイバイ ノシ
Amazon.co.jp: 掌田 津耶乃:作品一覧、著者略歴
https://www.amazon.co.jp/%E6%8E%8C%E7%94%B0-%E6%B4%A5%E8%80%B6%E4%B9%83/e/B004L5AED8/ref=sr_tc_2_0?qid=1521344021&sr=8-2-ent
掌田津耶乃(しょうだつやの)。ほぼ男性。テクニカルライター兼3流プログラマ。
自分でも3流プログラマと認めているのに、まったく信者って奴は・・・
頭使ってる?
掌田津耶乃が何冊初心者用の本を出しているか知っている?
ちょっと考えれば、
英語、ドイツ語、フランス語の言語学習の本を書いたとしたら
その言語のことをどこまで知っていて本を書いているんだろうとか気にならないの?
もし気にならないんだったら、表面的な知識だけで満足しているお前とは合わないのでバイバイ ノシ
Amazon.co.jp: 掌田 津耶乃:作品一覧、著者略歴
https://www.amazon.co.jp/%E6%8E%8C%E7%94%B0-%E6%B4%A5%E8%80%B6%E4%B9%83/e/B004L5AED8/ref=sr_tc_2_0?qid=1521344021&sr=8-2-ent
掌田津耶乃(しょうだつやの)。ほぼ男性。テクニカルライター兼3流プログラマ。
自分でも3流プログラマと認めているのに、まったく信者って奴は・・・
861デフォルトの名無しさん
2018/03/18(日) 12:52:44.19ID:QAeUSVF3862デフォルトの名無しさん
2018/03/18(日) 12:55:57.40ID:QAeUSVF3 基本的に流行ってるものを、ざっと調べてまとめただけなんだろうな
だから初心者レベルのところまでしか書けない
概要を知るところまでで、あれを参考にしてコードを書いてはいけない
だから初心者レベルのところまでしか書けない
概要を知るところまでで、あれを参考にしてコードを書いてはいけない
863デフォルトの名無しさん
2018/03/18(日) 16:36:38.11ID:Aq9RvNC1 HypaerCardの本も出してたから もう30年以上初心者向けの本出してるベテラン
864デフォルトの名無しさん
2018/03/18(日) 19:04:35.10ID:Pu83I0V3 Amazonのレビューでよく思うけど、海外の人は褒めるのが上手。いい面を見てる
日本人は100点じゃなきゃ糞みたいな心の狭い人が多い
初心者向けの本なんかにケチつけなくてもいいだろうに
今は公式サイトのドキュメントが充実してる時代なんだから、ほぼ公式くらいのことしか書かんだろうよ
日本人は100点じゃなきゃ糞みたいな心の狭い人が多い
初心者向けの本なんかにケチつけなくてもいいだろうに
今は公式サイトのドキュメントが充実してる時代なんだから、ほぼ公式くらいのことしか書かんだろうよ
865デフォルトの名無しさん
2018/03/18(日) 19:43:48.34ID:Gg1K6bSi そうだな、ネイティブと喋れない、英検準2級、TOEIC500点ぐらいの人が教えているって感じ。
そんなイメージが掌田津耶乃さん。
そんなイメージが掌田津耶乃さん。
866デフォルトの名無しさん
2018/03/18(日) 20:16:15.41ID:i3culXas867デフォルトの名無しさん
2018/03/18(日) 21:55:23.04ID:JzaiKxSG >>860
いや長文必死にならなくても、お前さんが自分で解説するだけの知力すら無いってのは分かったから。
いや長文必死にならなくても、お前さんが自分で解説するだけの知力すら無いってのは分かったから。
868デフォルトの名無しさん
2018/03/18(日) 21:59:08.72ID:QAeUSVF3 なんで作者本人が自分で三流ですって言ってるのに、
他人が三流であると解説する必要があるんだ?
他人が三流であると解説する必要があるんだ?
869デフォルトの名無しさん
2018/03/18(日) 23:16:11.58ID:Gg1K6bSi >>867
自己紹介乙
自己紹介乙
870デフォルトの名無しさん
2018/03/18(日) 23:24:43.53ID:JFJ3EKTR Java, Ruby のフレームワークを書ける人は、少ない。
山田祥寛(よしひろ)、掌田津耶乃、宮本信二、黒田努など
山田は会社向けの、1日4万円の講座などを開いている
一方、掌田は初心者向け。
Unity, UE4 などのゲームエンジン、
Python などの売れ筋言語、
Spring などのJavaのフレームワーク、
Node.js + Express などのJavaScript のフレームワークなど、万能
山田は会社員、掌田は初心者と、ターゲットが異なる。
もし、同じターゲットなら、両雄並び立たずで、共倒れするから
山田祥寛(よしひろ)、掌田津耶乃、宮本信二、黒田努など
山田は会社向けの、1日4万円の講座などを開いている
一方、掌田は初心者向け。
Unity, UE4 などのゲームエンジン、
Python などの売れ筋言語、
Spring などのJavaのフレームワーク、
Node.js + Express などのJavaScript のフレームワークなど、万能
山田は会社員、掌田は初心者と、ターゲットが異なる。
もし、同じターゲットなら、両雄並び立たずで、共倒れするから
871デフォルトの名無しさん
2018/03/18(日) 23:54:42.62ID:3ZuC3w8U 自演注意
自演注意
自演注意
自演注意
自演注意
872デフォルトの名無しさん
2018/03/19(月) 04:32:11.24ID:csFbH6Mx File.open('test.txt', 'r+') do |io|
text = io.read
io.rewind
io.write 'あ'
p io.pos #=> 3
io.truncate io.pos
end
読み書き両用ファイルの、ファイルサイズを減らして、上書きできた
io.rewind で、ファイルポインタを先頭に巻き戻す。
io.truncate io.pos で、現在のファイルポインタの位置で、ファイルを切り詰める
text = io.read
io.rewind
io.write 'あ'
p io.pos #=> 3
io.truncate io.pos
end
読み書き両用ファイルの、ファイルサイズを減らして、上書きできた
io.rewind で、ファイルポインタを先頭に巻き戻す。
io.truncate io.pos で、現在のファイルポインタの位置で、ファイルを切り詰める
873デフォルトの名無しさん
2018/03/20(火) 23:14:51.84ID:QfE06Qcj >>869
反論すら出来ない奴は、つまらんね。
反論すら出来ない奴は、つまらんね。
874デフォルトの名無しさん
2018/03/21(水) 00:56:42.17ID:p8DsWgGG 変なこと聞くけどさ、rspecでさ、まあ適当にサンプル書くけど
describe "hoge do
before do
・・・
end
context do
let(:a) { 1 }
・・・
it 'hage' do
expect(a).to be 1
end
end
end
コレに限った話じゃなくて、rspecの使い方で内側のブロック(例えばitの中)から
外側のブロック(例えばcontextの中)の状態(例えば変数)を
書き換えるのを禁止にしても何の問題もないよね?もちろん参照するのはOK。
テストはどう有るべきかを考えたら、むしろそうした方が良いぐらいじゃないかって思うんだけどどうかな?
describe "hoge do
before do
・・・
end
context do
let(:a) { 1 }
・・・
it 'hage' do
expect(a).to be 1
end
end
end
コレに限った話じゃなくて、rspecの使い方で内側のブロック(例えばitの中)から
外側のブロック(例えばcontextの中)の状態(例えば変数)を
書き換えるのを禁止にしても何の問題もないよね?もちろん参照するのはOK。
テストはどう有るべきかを考えたら、むしろそうした方が良いぐらいじゃないかって思うんだけどどうかな?
875デフォルトの名無しさん
2018/03/21(水) 01:22:34.72ID:qUqb4QSc ネストしたcontextで
内側のcontextが外側のcontextで設定した状態を
書き換えるような形でテストを書いても別にいいと思うけどな
内側のcontextが外側のcontextで設定した状態を
書き換えるような形でテストを書いても別にいいと思うけどな
876デフォルトの名無しさん
2018/03/21(水) 01:57:04.18ID:p8DsWgGG >>875
でもそうするとテストケース一つとか実行した時におかしくならない?
でもそうするとテストケース一つとか実行した時におかしくならない?
877デフォルトの名無しさん
2018/03/21(水) 04:11:05.87ID:rJLoGwxo >>873
自己紹介乙
自己紹介乙
878デフォルトの名無しさん
2018/03/21(水) 07:02:14.53ID:wxFTzoek 外部への依存が少なければ、個々のテストの独立性が高いから、
バグが減るし、テストを並行実行できる
それが理想だけど、実現するのは難しそう
バグが減るし、テストを並行実行できる
それが理想だけど、実現するのは難しそう
879デフォルトの名無しさん
2018/03/21(水) 16:09:18.41ID:qUqb4QSc880デフォルトの名無しさん
2018/03/21(水) 16:22:28.39ID:p8DsWgGG881デフォルトの名無しさん
2018/03/21(水) 16:24:44.94ID:qUqb4QSc882デフォルトの名無しさん
2018/03/21(水) 16:47:19.64ID:p8DsWgGG >>881
内側のブロックで外側のブロックの変数に値を入れた場合だよ
内側のブロックで外側のブロックの変数に値を入れた場合だよ
883デフォルトの名無しさん
2018/03/30(金) 15:22:33.47ID:87KFZNYL Chrome 65 になったら、selenium webdriver が動かなくなったので、
chrome driver 2.37 を、ダウンロードしてみた
これで動くかどうかは、まだ試してないけど
chrome driver 2.37 を、ダウンロードしてみた
これで動くかどうかは、まだ試してないけど
884883
2018/03/30(金) 20:31:06.53ID:87KFZNYL 新しいバージョンの、chrome driver にしたら動いた
885デフォルトの名無しさん
2018/04/01(日) 16:44:40.27ID:0KaYXtgi すみません、質問があります。
他人様の書いたコードを読んで写経しながら勉強していた所、
begin
#何らかの処理A(特に例外を出しそうな処理ではない)
end until hoge
という記述があったのですが、この書式の意味というか意図がいまいちつかめなくて困っています。
自分でコードを書いて試してみた所、この記述はhogeがtrueでもfalseでも処理Aを実行しており、
特に「until hoge」の部分で何を制御したいのかがわかりません。
(begin
#処理
end) until hoge
例えば、↑の書き方だと単純なuntil文の後置修飾になるので意味がわかるのですが、
上述のような書式で書く理由や、こう書くとどういうメリットがあるかを教えていただけますと嬉しいです。
よろしくお願いいたします。
他人様の書いたコードを読んで写経しながら勉強していた所、
begin
#何らかの処理A(特に例外を出しそうな処理ではない)
end until hoge
という記述があったのですが、この書式の意味というか意図がいまいちつかめなくて困っています。
自分でコードを書いて試してみた所、この記述はhogeがtrueでもfalseでも処理Aを実行しており、
特に「until hoge」の部分で何を制御したいのかがわかりません。
(begin
#処理
end) until hoge
例えば、↑の書き方だと単純なuntil文の後置修飾になるので意味がわかるのですが、
上述のような書式で書く理由や、こう書くとどういうメリットがあるかを教えていただけますと嬉しいです。
よろしくお願いいたします。
886デフォルトの名無しさん
2018/04/01(日) 16:51:30.58ID:1KgD14Zs (と)の二文字省略できる
887デフォルトの名無しさん
2018/04/01(日) 17:15:27.40ID:9myXjpPz >>885
下のAとBは同じことをするんだけど、Aだと1行目と4行目が同じでもやっとするのでBのように書いているのでは
個人的にはbegin〜endをメソッドにしてこうは書かないけど
begin〜end untilのほかにもbegin〜end whileも同様
# A
i = Time.now.sec
until i % 3 == 0
p i
i = Time.now.sec
end
# B
begin
i = Time.now.sec
p i
end until i % 3 == 0
下のAとBは同じことをするんだけど、Aだと1行目と4行目が同じでもやっとするのでBのように書いているのでは
個人的にはbegin〜endをメソッドにしてこうは書かないけど
begin〜end untilのほかにもbegin〜end whileも同様
# A
i = Time.now.sec
until i % 3 == 0
p i
i = Time.now.sec
end
# B
begin
i = Time.now.sec
p i
end until i % 3 == 0
888デフォルトの名無しさん
2018/04/01(日) 17:18:46.83ID:9myXjpPz 訂正
# A
i = Time.now.sec
p i
until i % 3 == 0
i = Time.now.sec
p i
end
# B
begin
i = Time.now.sec
p i
end until i % 3 == 0
# A
i = Time.now.sec
p i
until i % 3 == 0
i = Time.now.sec
p i
end
# B
begin
i = Time.now.sec
p i
end until i % 3 == 0
889デフォルトの名無しさん
2018/04/01(日) 17:32:20.95ID:0KaYXtgi >>887-888
ご回答頂きどうもありがとうございます。
なるほど、この書式だとbegin~end内の処理が1回は必ず実行されて、
その後に条件文で判定されるようになるので、同じ処理(例だと代入処理)を2度書かなくて済むようになるんですね。
とても勉強になりました。
個人的にはコード行数が増えたり同じ処理が連続するよりも、
ひと目で意図する処理が他人に伝わらないのはちょっと嫌なのでこの書き方は真似しないようにします……。
ご回答頂きどうもありがとうございます。
なるほど、この書式だとbegin~end内の処理が1回は必ず実行されて、
その後に条件文で判定されるようになるので、同じ処理(例だと代入処理)を2度書かなくて済むようになるんですね。
とても勉強になりました。
個人的にはコード行数が増えたり同じ処理が連続するよりも、
ひと目で意図する処理が他人に伝わらないのはちょっと嫌なのでこの書き方は真似しないようにします……。
890デフォルトの名無しさん
2018/04/01(日) 17:40:44.12ID:KXX7rc47 いや、それはおかしい。
リトライやリドゥーみたいな処理で、必要であれば、ためらわずそう書くべき。多少わかりにくくても。
いずれ慣れるから。
なんなら、先頭にコメントをつけとけば。
リトライやリドゥーみたいな処理で、必要であれば、ためらわずそう書くべき。多少わかりにくくても。
いずれ慣れるから。
なんなら、先頭にコメントをつけとけば。
891デフォルトの名無しさん
2018/04/01(日) 17:57:12.31ID://EuH1G7 絶対的なルールではないけどこんなものもあるんで参考までに
ruby-style-guide
>後判定ループの場合、begin/end/untilやbegin/end/whileより、
>break付きのKernel#loopを使いましょう。
https://github.com/fortissimo1997/ruby-style-guide/blob/japanese/README.ja.md#user-content-loop-with-break
ruby-style-guide
>後判定ループの場合、begin/end/untilやbegin/end/whileより、
>break付きのKernel#loopを使いましょう。
https://github.com/fortissimo1997/ruby-style-guide/blob/japanese/README.ja.md#user-content-loop-with-break
892デフォルトの名無しさん
2018/04/01(日) 18:00:28.18ID:ZcGM330i (なにかしら).method
do
なにかしら
end メソッド
みたいなもんだからRuby規則に沿っているだろ
do
なにかしら
end メソッド
みたいなもんだからRuby規則に沿っているだろ
893デフォルトの名無しさん
2018/04/01(日) 18:17:17.82ID:A31P7FUz >>891
後判定ループを行うのにbegin-end-while/untilが好ましくない理由を俺に教えて欲しい
後判定ループを行うのにbegin-end-while/untilが好ましくない理由を俺に教えて欲しい
894デフォルトの名無しさん
2018/04/01(日) 18:21:45.55ID:hwmab9Mq895デフォルトの名無しさん
2018/04/01(日) 18:27:29.70ID:Aa3HndXz 英語的な自然さを求めるなら、loopをendのエイリアスということにして loop while/until かな
VBがそんな感じだったはず
まあジャップ製言語だから仕方ないね
VBがそんな感じだったはず
まあジャップ製言語だから仕方ないね
896デフォルトの名無しさん
2018/04/01(日) 18:31:46.49ID://EuH1G7 >>893
beginの中が長いと上から読んでてループするんだかrescueするんだかわかりにくいからじゃない?
ruby-style-guideはコメントを極力書かないで済むようにするのが目的の一つだから
まあ個人的には首肯しかねるルールもいくつかあるけどね
beginの中が長いと上から読んでてループするんだかrescueするんだかわかりにくいからじゃない?
ruby-style-guideはコメントを極力書かないで済むようにするのが目的の一つだから
まあ個人的には首肯しかねるルールもいくつかあるけどね
897デフォルトの名無しさん
2018/04/01(日) 18:43:23.68ID:hwmab9Mq898デフォルトの名無しさん
2018/04/01(日) 21:03:13.03ID:A31P7FUz899デフォルトの名無しさん
2018/04/02(月) 12:57:38.84ID:g/2XFKpH ブロッキング条件なら後に来るの自然に感じる
長過ぎるとってのはどんなブロックでも同じ
長過ぎるとってのはどんなブロックでも同じ
900デフォルトの名無しさん
2018/04/02(月) 13:03:59.66ID:KugB3K+A SV
これは第一文型なんだから
文章.method
SをVするで普通の英語じゃん?
これは第一文型なんだから
文章.method
SをVするで普通の英語じゃん?
901デフォルトの名無しさん
2018/04/02(月) 13:11:22.76ID:6hj+x7xd おいおい…
「を」は対格を作る格助詞だぞ。
記号で書くとV(=verb=動詞)O(=object=目的語)だ。
SVは
S(=subject=主語)V(=verb=動詞)で、
S「が」Vする、だ。
「を」は対格を作る格助詞だぞ。
記号で書くとV(=verb=動詞)O(=object=目的語)だ。
SVは
S(=subject=主語)V(=verb=動詞)で、
S「が」Vする、だ。
902デフォルトの名無しさん
2018/04/02(月) 13:22:58.60ID:g/2XFKpH 自然言語なんて例外だらけなんだからどうでもいい
903デフォルトの名無しさん
2018/04/02(月) 13:41:31.43ID:eDlvSPE1 sendを使う度にモヤモヤした気持ちになる
904デフォルトの名無しさん
2018/04/02(月) 14:10:59.70ID:HZoT/r0A905デフォルトの名無しさん
2018/04/02(月) 18:13:06.38ID:TBzY9DYT そりゃそもそもend書かせる主流言語が少ないし
906デフォルトの名無しさん
2018/04/03(火) 03:47:06.97ID:hZewAlsv907デフォルトの名無しさん
2018/04/03(火) 04:10:23.05ID:8HWTUUN8 Donot
Repeat
Yourself
Repeat
Yourself
908デフォルトの名無しさん
2018/04/03(火) 23:32:43.51ID:q2DveEBR Do
Repaet
Yourself
Repaet
Yourself
909デフォルトの名無しさん
2018/04/04(水) 02:02:25.22ID:h2UR4/YM Reuse
Reduce
Recycle
Ruby
Reduce
Recycle
Ruby
910デフォルトの名無しさん
2018/04/05(木) 14:25:03.13ID:eFdDptlj selenium-webdriver で、Chrome のHeadless mode で、
5ch の投稿者名・書き込み内容を、抜き出してみた
driver.navigate.to "https://mao.5ch.net/test/read.cgi/linux/1479499953/8-9"
elements = driver.find_elements(:css, 'div[data-id]')
elements.each do |elem|
str = elem.attribute('data-id') + ' 投稿者 :'
# CSS では、コンテキストの直下を表現できないので、xpath を使う
# str += elem.find_element(:css, '> div.meta > span.name').text
str += elem.find_element(:xpath => "div[@class='meta']/span[@class='name']").text
puts str
str = '内容 :'
str += elem.find_element(:xpath => "div[@class='message']/span").text
puts str
end
5ch の投稿者名・書き込み内容を、抜き出してみた
driver.navigate.to "https://mao.5ch.net/test/read.cgi/linux/1479499953/8-9"
elements = driver.find_elements(:css, 'div[data-id]')
elements.each do |elem|
str = elem.attribute('data-id') + ' 投稿者 :'
# CSS では、コンテキストの直下を表現できないので、xpath を使う
# str += elem.find_element(:css, '> div.meta > span.name').text
str += elem.find_element(:xpath => "div[@class='meta']/span[@class='name']").text
puts str
str = '内容 :'
str += elem.find_element(:xpath => "div[@class='message']/span").text
puts str
end
911デフォルトの名無しさん
2018/04/07(土) 05:31:34.17ID:Cc4pa2fK 三ヶ月在れば一つのプログラム言語を習得しアプリケーションを作ることが出来るw
https://mevius.5ch.net/test/read.cgi/win/1504394535/9
おいらは習作はしない、他愛ないことはやらないのだ
https://mevius.5ch.net/test/read.cgi/win/1503735829/881-883
C#なんてのはVZの開発環境にないwww
https://mevius.5ch.net/test/read.cgi/win/1520923324/913
ワロタ、ワロタ
https://echo.5ch.net/test/read.cgi/win/1467974448/129-132
https://mevius.5ch.net/test/read.cgi/win/1504394535/9
おいらは習作はしない、他愛ないことはやらないのだ
https://mevius.5ch.net/test/read.cgi/win/1503735829/881-883
C#なんてのはVZの開発環境にないwww
https://mevius.5ch.net/test/read.cgi/win/1520923324/913
ワロタ、ワロタ
https://echo.5ch.net/test/read.cgi/win/1467974448/129-132
912デフォルトの名無しさん
2018/04/08(日) 14:20:42.12ID:JYaIVkeP 10年以上前に学校でスクリプト言語を勉強してたときはPHPが流行ってて
Perlもあったけど少し古いかなって感じ。ただとにかくJAVAが騒がれててJSP+tomcatなんかもやったな。
Rubyはあったけどそんなに話題にならず。
で最近、またスクライピングがやりたくて色々調べたら
もうPHPも下火?でRubyとpythonとかいう言語が主流みたいですね。
Perlもあったけど少し古いかなって感じ。ただとにかくJAVAが騒がれててJSP+tomcatなんかもやったな。
Rubyはあったけどそんなに話題にならず。
で最近、またスクライピングがやりたくて色々調べたら
もうPHPも下火?でRubyとpythonとかいう言語が主流みたいですね。
913デフォルトの名無しさん
2018/04/08(日) 15:16:13.15ID:nkM5b3tX Rubyは主流じゃない
914デフォルトの名無しさん
2018/04/08(日) 16:26:08.93ID:ikNNlzZg PHPが下火でRubyが主流がねーわ。
人気を捏造しないと好きな言語も恥ずかしくて使えないのか軟弱者め。
たとえ世界の全てが使わなくても自分だけはRubyを使い続けるという気概を持てよ情けない奴
人気を捏造しないと好きな言語も恥ずかしくて使えないのか軟弱者め。
たとえ世界の全てが使わなくても自分だけはRubyを使い続けるという気概を持てよ情けない奴
915デフォルトの名無しさん
2018/04/08(日) 17:41:41.41ID:mE+8rAwy 2ch/5chでは、日本人が作ったというだけで、だめ扱いする書き込みがあるから
注意すべし。どこかぞの国から書き込まれている事がある。
注意すべし。どこかぞの国から書き込まれている事がある。
916デフォルトの名無しさん
2018/04/09(月) 11:49:58.15ID:M/BmQ9Z1 以下の半角空白区切りの行から、稼働時間を求めるには、どうやるの?
夜、24:00 以上の数字もあります
2018/09/09 09:45-24:00
2018/10/10 23:00-27:15
夜、24:00 以上の数字もあります
2018/09/09 09:45-24:00
2018/10/10 23:00-27:15
917デフォルトの名無しさん
2018/04/09(月) 12:21:03.03ID:2h6IFanV >>916
date = "2018/09/09 09:45-24:00"
m = date.match(/(\d\d):(\d\d)-(\d\d):(\d\d)/)[1, 4].map(&:to_i)
min = (m[2] - m[0])*60 + m[3] - m[1]
p "%d:%d" % min.divmod(60) # => "14:15"
date = "2018/09/09 09:45-24:00"
m = date.match(/(\d\d):(\d\d)-(\d\d):(\d\d)/)[1, 4].map(&:to_i)
min = (m[2] - m[0])*60 + m[3] - m[1]
p "%d:%d" % min.divmod(60) # => "14:15"
918916
2018/04/09(月) 13:15:44.73ID:M/BmQ9Z1 ありがとう
Date, DateTime, Time などの形で、引算で求められませんか?
Date, DateTime, Time などの形で、引算で求められませんか?
919デフォルトの名無しさん
2018/04/09(月) 13:42:09.51ID:2h6IFanV date = "2018/09/09 09:45-24:00"
m = date.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg = Time.new(m[:year], m[:month], m[:day], m[:begh], m[:begm])
fin = Time.new(m[:year], m[:month], m[:day], m[:finh], m[:finm])
min = (fin - beg)/60
p "%d:%d" % min.divmod(60) # => "14:15"
m = date.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg = Time.new(m[:year], m[:month], m[:day], m[:begh], m[:begm])
fin = Time.new(m[:year], m[:month], m[:day], m[:finh], m[:finm])
min = (fin - beg)/60
p "%d:%d" % min.divmod(60) # => "14:15"
920916
2018/04/09(月) 14:17:26.06ID:M/BmQ9Z1 ありがとう
24:00 では、Time インスタンスを作れるけど、
27:15 では、エラーで作れなかった
回避策を考えてみます
24:00 では、Time インスタンスを作れるけど、
27:15 では、エラーで作れなかった
回避策を考えてみます
921デフォルトの名無しさん
2018/04/09(月) 14:23:48.18ID:GdkyYm9A pythonスレにマルチするのやめれ
922デフォルトの名無しさん
2018/04/09(月) 14:39:12.15ID:2h6IFanV >>920
date = [
"2018/09/09 09:45-24:00",
"2018/10/10 23:00-27:15"
]
begfin = lambda do |m|
d = Time.new(m[:year], m[:month], m[:day])
[[m[:begh], m[:begm]], [m[:finh], m[:finm]]].map { |hour, min|
3600 * hour.to_i + 60 * min.to_i
}
end
date.each do |d|
m = d.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg, fin = begfin[m]
min = (fin - beg)/60
puts "%d:%d" % min.divmod(60) # => "14:15"
end
# =>
14:15
4:15
ってマルチかい
date = [
"2018/09/09 09:45-24:00",
"2018/10/10 23:00-27:15"
]
begfin = lambda do |m|
d = Time.new(m[:year], m[:month], m[:day])
[[m[:begh], m[:begm]], [m[:finh], m[:finm]]].map { |hour, min|
3600 * hour.to_i + 60 * min.to_i
}
end
date.each do |d|
m = d.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg, fin = begfin[m]
min = (fin - beg)/60
puts "%d:%d" % min.divmod(60) # => "14:15"
end
# =>
14:15
4:15
ってマルチかい
923916
2018/04/09(月) 15:24:13.18ID:M/BmQ9Z1 python スレの書き込みとは別人。
ID も異なるはず
その書き込みを見て、Ruby ではどうプログラミングするべきか、考えてみたが難しかった
ID も異なるはず
その書き込みを見て、Ruby ではどうプログラミングするべきか、考えてみたが難しかった
924デフォルトの名無しさん
2018/04/09(月) 15:46:38.36ID:aj6Oy7j8925916
2018/04/09(月) 16:17:52.99ID:M/BmQ9Z1 d = Time.new(m[:year], m[:month], m[:day])
d_next = d + 60 * 60 * 24
24時以上の場合は、hour から24を引いて、1日足すけど、これはややこしい
d_next = d + 60 * 60 * 24
24時以上の場合は、hour から24を引いて、1日足すけど、これはややこしい
926デフォルトの名無しさん
2018/04/09(月) 21:36:13.46ID:0VIzl/J9 クソコードばっかりだなw
927デフォルトの名無しさん
2018/04/09(月) 22:04:45.24ID:cXk52I1j 25以上の数字の入力を許している次点でクソコード。
928916
2018/04/10(火) 00:28:34.01ID:oEQHPFsL 表計算ソフトなどで、時間管理していると、こういう表記もある。
2018/10/10 23:00-27:15
上を一旦、変換して
2018/10/10 23:00-24:00
2018/10/11 00:00-03:15
これも、1日足すのも結構、難しい。
Date, DateTime に変換してから、1日足さないと、月末・うるう年などで、バグる
>>925
>d_next = d + 60 * 60 * 24
これで1日足すのも、うるう秒の時が、どうなるか不安
2018/10/10 23:00-27:15
上を一旦、変換して
2018/10/10 23:00-24:00
2018/10/11 00:00-03:15
これも、1日足すのも結構、難しい。
Date, DateTime に変換してから、1日足さないと、月末・うるう年などで、バグる
>>925
>d_next = d + 60 * 60 * 24
これで1日足すのも、うるう秒の時が、どうなるか不安
929デフォルトの名無しさん
2018/04/10(火) 00:34:12.01ID:PJbB3F/q 時刻じゃなくて時間を表すクラスが欲しくなるな
930デフォルトの名無しさん
2018/04/10(火) 01:03:05.44ID:TtMX4ea2 24,60,60進法による演算ということね
931デフォルトの名無しさん
2018/04/10(火) 03:53:20.97ID:gEpzqPRo 時間は最重要項目なんだから
完璧なライブラリとか無いのかな?
完璧なライブラリとか無いのかな?
932デフォルトの名無しさん
2018/04/10(火) 08:52:25.96ID:OCO/nUgk RubyのDateTimeは充分以上だよ。
日付を増減するときは、それ時分秒の値はさわらずに、めんどくさくても日の値を変更すればいい。
日付を増減するときは、それ時分秒の値はさわらずに、めんどくさくても日の値を変更すればいい。
933デフォルトの名無しさん
2018/04/10(火) 08:58:36.32ID:wPoJQnkn じゃあエポックタイムで十分だな。めんどくさくても計算すればいい。
934デフォルトの名無しさん
2018/04/10(火) 09:31:38.98ID:Pta2sQP4 DateTimeは完璧なライブラリだから24時以降はRangeErrorになる
完璧な仕様だ
完璧な仕様だ
935デフォルトの名無しさん
2018/04/10(火) 09:55:10.36ID:wPoJQnkn rubyの不便はいい不便
936デフォルトの名無しさん
2018/04/10(火) 17:47:37.08ID:yDOt+2aU rubyに不便なんてないぞ
何を言ってんだ
何を言ってんだ
937デフォルトの名無しさん
2018/04/10(火) 18:25:57.56ID:6CkCb20Q えーっ、そんなこといちいち書かなきゃいけないのw?rubyなら組込メソッドで一発だよwww
「時間は?」
____
/ \
/ ─ ─\
/ (●) (●) \ 必要ない。計算すればいい
| (__人__) |
\ ` ⌒´ /
,,.....イ.ヽヽ、___ ーーノ゙-、.
: | '; \_____ ノ.| ヽ i
| \/゙(__)\,| i |
> ヽ. ハ | ||
「時間は?」
____
/ \
/ ─ ─\
/ (●) (●) \ 必要ない。計算すればいい
| (__人__) |
\ ` ⌒´ /
,,.....イ.ヽヽ、___ ーーノ゙-、.
: | '; \_____ ノ.| ヽ i
| \/゙(__)\,| i |
> ヽ. ハ | ||
938デフォルトの名無しさん
2018/04/10(火) 18:40:12.63ID:+90qRIYS RubyはUNIX文化だから、時刻はUNIXタイムスタンプを生で扱うのが基本
MRIのコアの連中自身が使ってないから改善されないんだろう
MRIのコアの連中自身が使ってないから改善されないんだろう
939デフォルトの名無しさん
2018/04/11(水) 00:12:29.76ID:5V3NvSPI rubyなら日本の休日祝日にも対応してるはず
940デフォルトの名無しさん
2018/04/11(水) 07:23:56.00ID:jfPKheqL941デフォルトの名無しさん
2018/04/13(金) 22:47:53.01ID:Hxh7hpmx Windowsの文字エンコードはどうなってんだよ呪われてるな。
942デフォルトの名無しさん
2018/04/13(金) 22:56:58.03ID:AzlDcdDn Windowsの文字エンコードはLinux/Unixよりも対応の幅が広い。
まずNT系は古くからUnicode(UTF-16)に対応
Unicode対応アプリであれば全世界で共通に使える
それでいて9x系との互換性のために、Unicodeに対応してないアプリは
それぞれの国のエンコード設定が使用される
その設定はコントロールパネルから変更できるのだが
その変更できる文字コードがLinux/Unixよりも遥かに多い
しかもANSIと互換性がない文字コードでも使用可能
まずNT系は古くからUnicode(UTF-16)に対応
Unicode対応アプリであれば全世界で共通に使える
それでいて9x系との互換性のために、Unicodeに対応してないアプリは
それぞれの国のエンコード設定が使用される
その設定はコントロールパネルから変更できるのだが
その変更できる文字コードがLinux/Unixよりも遥かに多い
しかもANSIと互換性がない文字コードでも使用可能
943デフォルトの名無しさん
2018/04/14(土) 03:27:42.04ID:lnTeyTPJ chcp 65001 バグ治してから言え
944デフォルトの名無しさん
2018/04/14(土) 03:48:53.88ID:6pCy057f945デフォルトの名無しさん
2018/04/15(日) 21:31:41.02ID:r1bqrkta OneDriveでコード管理していたのだけど、
久しぶりにコーディング(エディタはVSCode)してOneDrive上のRubyファイルを実行しようとしたら
[BUG] Segmentation fault
というエラーがでて、
puts 'A'
というコードさえ実行出来なくなっていた。
ローカルハードディスクに落としたら実行出来たんだけどどうしたものだろう。
久しぶりにコーディング(エディタはVSCode)してOneDrive上のRubyファイルを実行しようとしたら
[BUG] Segmentation fault
というエラーがでて、
puts 'A'
というコードさえ実行出来なくなっていた。
ローカルハードディスクに落としたら実行出来たんだけどどうしたものだろう。
946デフォルトの名無しさん
2018/04/15(日) 21:49:45.43ID:0NMpmKAm UTF-16とかじゃねーの?
947デフォルトの名無しさん
2018/04/15(日) 22:51:17.13ID:MhEmdnyU そっか。
ありがとうございます。
別にOneDriveをストレージにしても問題ないということだね。
試行錯誤してみます。
ありがとうございます。
別にOneDriveをストレージにしても問題ないということだね。
試行錯誤してみます。
948デフォルトの名無しさん
2018/04/15(日) 23:30:04.01ID:xpwShDOv WebDAVか
949945
2018/04/16(月) 07:27:54.33ID:1U+gAd+J GoogleDrive上のRubyファイルは動いた。
何か仕様変更があったのかしら。
ともかく、現状、GoogleDriveでコード管理することにします。
何か仕様変更があったのかしら。
ともかく、現状、GoogleDriveでコード管理することにします。
950デフォルトの名無しさん
2018/04/16(月) 08:55:29.96ID:PnJWHI/9 なぜGitを使わないのか
BitBucketなら無料でプライベートリポジトリ持てるぞ
BitBucketなら無料でプライベートリポジトリ持てるぞ
951デフォルトの名無しさん
2018/04/16(月) 09:47:03.26ID:75OnkAat Azureで自前のgitとSSH鯖で桶
952デフォルトの名無しさん
2018/04/16(月) 09:53:08.11ID:PnJWHI/9 AzureならGitはVSTS使うのが普通だろ
AWSならCodeCommit使えば完全無料だ
今時たかがGitのホスティングごときにサーバー運用の手間かけるとか頭悪すぎ
AWSならCodeCommit使えば完全無料だ
今時たかがGitのホスティングごときにサーバー運用の手間かけるとか頭悪すぎ
953デフォルトの名無しさん
2018/04/16(月) 10:08:13.69ID:pZQ1SPWZ じゃあ、これも
Google Cloud Platform でホストされている複数のプライベート Git レポジトリ
https://cloud.google.com/source-repositories/?hl=ja
5ユーザー、50GBストレージ、50GB通信量(下り)まで無料だから
個人用途なら無料で使えそうだね
Google Cloud Platform でホストされている複数のプライベート Git レポジトリ
https://cloud.google.com/source-repositories/?hl=ja
5ユーザー、50GBストレージ、50GB通信量(下り)まで無料だから
個人用途なら無料で使えそうだね
954デフォルトの名無しさん
2018/04/16(月) 10:10:23.68ID:pZQ1SPWZ > AWSならCodeCommit使えば完全無料だ
AWSの方は完全無料なのか?って思ったら
やっぱり無料制限あるじゃんw
だいたい一緒みたいね
https://aws.amazon.com/jp/codecommit/pricing/
最初の 5 人のアクティブユーザー
50 GB のストレージ/月
10,000 回の Git リクエスト/月
AWSの方は完全無料なのか?って思ったら
やっぱり無料制限あるじゃんw
だいたい一緒みたいね
https://aws.amazon.com/jp/codecommit/pricing/
最初の 5 人のアクティブユーザー
50 GB のストレージ/月
10,000 回の Git リクエスト/月
955デフォルトの名無しさん
2018/04/16(月) 10:31:35.04ID:X9HGFo0K956デフォルトの名無しさん
2018/04/16(月) 10:33:36.56ID:X9HGFo0K いやコミットじゃなくてプッシュやフェッチか
人間の手動操作なら事実上無制限だな
人間の手動操作なら事実上無制限だな
957デフォルトの名無しさん
2018/04/16(月) 10:40:27.16ID:pZQ1SPWZ >>956
1 push 1リクエストとは限らんぞ、どういう計算しているか知らんけど、
例えば1 pushに含まれる1ファイルが1リクエストになってるかもしれない
そう考えるとGoogleの方がわかりやすいかもね。
1 push 1リクエストとは限らんぞ、どういう計算しているか知らんけど、
例えば1 pushに含まれる1ファイルが1リクエストになってるかもしれない
そう考えるとGoogleの方がわかりやすいかもね。
958デフォルトの名無しさん
2018/04/16(月) 10:45:48.83ID:pVewTO76959デフォルトの名無しさん
2018/04/16(月) 15:08:56.12ID:lu0LQeBN >>960
踏んだらすれたてよろしく
踏んだらすれたてよろしく
960デフォルトの名無しさん
2018/04/16(月) 15:17:41.22ID:r1/f7Sud うんこ
961デフォルトの名無しさん
2018/04/16(月) 15:20:39.48ID:pZQ1SPWZ ↑うんこ踏んだ奴
962デフォルトの名無しさん
2018/04/16(月) 16:18:05.44ID:ZFIHRn8x うんこってrubyのこと?
963デフォルトの名無しさん
2018/04/16(月) 17:10:36.81ID:tsXOlUfW >>952
gitだけしか使わないわけないだろ
gitだけしか使わないわけないだろ
964デフォルトの名無しさん
2018/04/16(月) 17:25:19.50ID:pZQ1SPWZ965デフォルトの名無しさん
2018/04/16(月) 18:47:04.65ID:PnJWHI/9966デフォルトの名無しさん
2018/04/17(火) 03:27:09.27ID:QMWYQNUe スジはなめるためにある
967デフォルトの名無しさん
2018/04/17(火) 17:49:09.11ID:GYuBFjQi968デフォルトの名無しさん
2018/04/17(火) 23:55:53.10ID:AHLVIZ+p >>965
なんで筋が悪いと思うんだ?
なんで筋が悪いと思うんだ?
969デフォルトの名無しさん
2018/04/18(水) 00:43:52.27ID:lRwbg5zI >>967
おつ
おつ
970デフォルトの名無しさん
2018/04/18(水) 01:12:53.91ID:6DBcsPYG >>968
逆に聞くが、あえてGit自前運用かつサーバー相乗りという選択肢を選ぶ積極的な理由が何か一つでもあるの?
コストが高い、信頼性が低い、運用が面倒臭い、便利なWebインターフェイスもない、CIなど外部との連携もしづらい
また、サーバーに複数のサービスを同居させるのは、運用が面倒になるので一般的には避ける方向で検討するのが基本だ
オンプレならハードのコストやハード運用も勘定に入れた結果そうせざるを得ない場合も多いが、
クラウドなら安く小さいサーバーを沢山持ててハード運用の手間もないから問題にならない
逆に聞くが、あえてGit自前運用かつサーバー相乗りという選択肢を選ぶ積極的な理由が何か一つでもあるの?
コストが高い、信頼性が低い、運用が面倒臭い、便利なWebインターフェイスもない、CIなど外部との連携もしづらい
また、サーバーに複数のサービスを同居させるのは、運用が面倒になるので一般的には避ける方向で検討するのが基本だ
オンプレならハードのコストやハード運用も勘定に入れた結果そうせざるを得ない場合も多いが、
クラウドなら安く小さいサーバーを沢山持ててハード運用の手間もないから問題にならない
971デフォルトの名無しさん
2018/04/18(水) 01:21:24.00ID:UfQjex1N 関数の取扱いが非常に筋の悪い言語があるらしい。
何かしらのメソッドとして表したいという、初期設計時のオナニーがこの事態を招いた。
block、proc、lambdaと笑っちゃうくらいぐっちゃぐちゃ。
どういうときにどの形式使えばいいのか、変換するルールは…
はい、お約束。全部覚えましょうw
一事が万事この調子だよなw
そのうち「3+5を計算する機能」レベルで組み込まれてしかも数通りバリエーションが仕込まれそうw
宣伝文句は「えーっ、3+5計算するのにそんなこと書かなきゃいけないの?wそれrubyなら組み込みの呼び出すだけで一発だよ?ww」
何かしらのメソッドとして表したいという、初期設計時のオナニーがこの事態を招いた。
block、proc、lambdaと笑っちゃうくらいぐっちゃぐちゃ。
どういうときにどの形式使えばいいのか、変換するルールは…
はい、お約束。全部覚えましょうw
一事が万事この調子だよなw
そのうち「3+5を計算する機能」レベルで組み込まれてしかも数通りバリエーションが仕込まれそうw
宣伝文句は「えーっ、3+5計算するのにそんなこと書かなきゃいけないの?wそれrubyなら組み込みの呼び出すだけで一発だよ?ww」
972デフォルトの名無しさん
2018/04/18(水) 02:03:46.12ID:1MQV5vND >>970
git使うだけで面倒とかどれだけ初心者想定してんだよ
うちはredmineと連携させてるからwebからも見れるよ
バックアップも他と一緒にとってるから楽よ
別にホストがクラウドでないなんて言ってないし
git使うだけで面倒とかどれだけ初心者想定してんだよ
うちはredmineと連携させてるからwebからも見れるよ
バックアップも他と一緒にとってるから楽よ
別にホストがクラウドでないなんて言ってないし
973デフォルトの名無しさん
2018/04/18(水) 02:08:25.73ID:1MQV5vND サーバーが、か
974デフォルトの名無しさん
2018/04/27(金) 16:47:32.90ID:vghG7n/V ぼくがRubyを使う理由
http://www.eimei4coding.blog/entry/2017/07/17/164923
http://www.eimei4coding.blog/entry/2017/07/17/164923
975デフォルトの名無しさん
2018/05/03(木) 09:37:28.31ID:vrPjbtA8 なんかbundlerがエラー吐くようになってしまって困っています。
対応策は知りませんか?
Traceback (most recent call last):
2: from /usr/local/bin/bundler:23:in `<main>'
1: from /usr/local/lib/site_ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/usr/local/lib/site_ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundler (Gem::GemNotFoundException)
対応策は知りませんか?
Traceback (most recent call last):
2: from /usr/local/bin/bundler:23:in `<main>'
1: from /usr/local/lib/site_ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/usr/local/lib/site_ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundler (Gem::GemNotFoundException)
976デフォルトの名無しさん
2018/05/03(木) 12:26:03.69ID:vrPjbtA8 bundler -v
も動かないです。
も動かないです。
977デフォルトの名無しさん
2018/05/03(木) 14:39:04.35ID:M52LYEAa コンバトラーV
978デフォルトの名無しさん
2018/05/03(木) 15:03:53.22ID:bkPu29QU super electromagnetic yoyo
979デフォルトの名無しさん
2018/05/03(木) 19:04:14.74ID:9RHeN1ko sudo gem install bundler
980デフォルトの名無しさん
2018/05/04(金) 16:02:47.13ID:FNtgJ1dj981デフォルトの名無しさん
2018/05/04(金) 16:16:59.88ID:YzOLlJfQ 今主流言語と言えるのはJavaScriptのみだからね
982デフォルトの名無しさん
2018/05/04(金) 16:24:40.64ID:plo/RuVs google、ms・・・流れ込んでる資金量・人員数が違う
あれだけ人・金かけられたらどんなクソ言語でも主流になる
そうさせたのはブラウザで唯一実行可能というアドバンテージだったがそういう意味では今後はrustやgoにも可能性はある
rubyはそれもない
あれだけ人・金かけられたらどんなクソ言語でも主流になる
そうさせたのはブラウザで唯一実行可能というアドバンテージだったがそういう意味では今後はrustやgoにも可能性はある
rubyはそれもない
983デフォルトの名無しさん
2018/05/04(金) 17:01:30.15ID:HDydWALv >>982
Dartの悪口はそこまでだ
Dartの悪口はそこまでだ
984デフォルトの名無しさん
2018/05/08(火) 04:34:33.88ID:ws+EcsEk @lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
>>> [fib(n) for n in range(16)]
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
Ruby には、上のPython のような、デコレーターは無いの?
上はフィボナッチだが、引数・答えを、メモ化するような関数はある?
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
>>> [fib(n) for n in range(16)]
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
Ruby には、上のPython のような、デコレーターは無いの?
上はフィボナッチだが、引数・答えを、メモ化するような関数はある?
985デフォルトの名無しさん
2018/05/08(火) 07:23:01.16ID:6Z/Mi3tg986デフォルトの名無しさん
2018/05/08(火) 07:44:23.18ID:6Z/Mi3tg987デフォルトの名無しさん
2018/05/08(火) 09:01:44.06ID:ws+EcsEk class A
def initialize (a = 5)
@a = a
end
p (0..@a)
end
p a = A.new
>p (0..@a)
@a が初期化されていないのか、エラーになる
クラス内の地の文は、A.new・initializeよりも、先に実行されてしまうのか?
>>985-986
ありがとう
def initialize (a = 5)
@a = a
end
p (0..@a)
end
p a = A.new
>p (0..@a)
@a が初期化されていないのか、エラーになる
クラス内の地の文は、A.new・initializeよりも、先に実行されてしまうのか?
>>985-986
ありがとう
988デフォルトの名無しさん
2018/05/08(火) 09:09:56.84ID:XzXTdruW >>987
その通り。具体的にはファイルを読み込んだ時に実行されるよ
その通り。具体的にはファイルを読み込んだ時に実行されるよ
989デフォルトの名無しさん
2018/05/08(火) 12:18:20.40ID:XzXTdruW スレたてられなかったから誰か代わりに建ててくれないか
>>987
ついでだけどその書き方だと p (0..@a) の @a は A のインスタンスのインスタンス変数じゃなくて、 A という『Class クラスのインスタンス』のインスタンス変数だから注意ね
>>987
ついでだけどその書き方だと p (0..@a) の @a は A のインスタンスのインスタンス変数じゃなくて、 A という『Class クラスのインスタンス』のインスタンス変数だから注意ね
990デフォルトの名無しさん
2018/05/08(火) 14:05:39.62ID:XzXTdruW と思ったら結構前に次スレ立ってたんだね……重複しなくてよかった
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
991デフォルトの名無しさん
2018/05/08(火) 22:51:57.39ID:FvmTtIIh992987
2018/05/08(火) 23:24:38.69ID:ws+EcsEk class A
def initialize (a = 5)
@a = a
puts "init : #{@a.class}" # 1
end
puts @a.class # 2
end
p a = A.new
p b = A.new(2)
出力結果
NilClass
init : Integer
#<A:0x00000000050dc230 @a=5>
init : Integer
#<A:0x00000000050dc078 @a=2>
実行前のファイル読み込み時に、1回だけ、#2 puts が呼ばれて、
initialize内の#1 puts は、new 毎に呼ばれる
def initialize (a = 5)
@a = a
puts "init : #{@a.class}" # 1
end
puts @a.class # 2
end
p a = A.new
p b = A.new(2)
出力結果
NilClass
init : Integer
#<A:0x00000000050dc230 @a=5>
init : Integer
#<A:0x00000000050dc078 @a=2>
実行前のファイル読み込み時に、1回だけ、#2 puts が呼ばれて、
initialize内の#1 puts は、new 毎に呼ばれる
993デフォルトの名無しさん
2018/05/08(火) 23:28:50.06ID:XzXTdruW 当たり前だと思うのだが、何が言いたいのか不明
994デフォルトの名無しさん
2018/05/09(水) 00:19:25.75ID:p+TFQEkm ファイル内の空行数を数える
ruby -e "puts File.read(\'test22_data.txt\').scan(/^$/).length"
ruby -e 'puts File.read(\"test22_data.txt\").scan(/^$/).length'
Windows PowerShell で、1-liner を実行する際、
クォーテーション内に、クォーテーションがある時に、\ でエスケープしないと、
PowerShell が、内側のクォーテーションを除去してしまって、エラーになるけど、
皆こういう場合、どうしてる?
ruby -e "puts File.read(\'test22_data.txt\').scan(/^$/).length"
ruby -e 'puts File.read(\"test22_data.txt\").scan(/^$/).length'
Windows PowerShell で、1-liner を実行する際、
クォーテーション内に、クォーテーションがある時に、\ でエスケープしないと、
PowerShell が、内側のクォーテーションを除去してしまって、エラーになるけど、
皆こういう場合、どうしてる?
995デフォルトの名無しさん
2018/05/09(水) 00:37:53.06ID:aySw10Ot WindowsでRubyは苦行
996デフォルトの名無しさん
2018/05/09(水) 02:06:31.30ID:VltSHCvQ >>994
%qクォートを使う。
%qクォートを使う。
997デフォルトの名無しさん
2018/05/09(水) 08:36:03.80ID:DadRmw9B >>995
+1
+1
998デフォルトの名無しさん
2018/05/09(水) 08:36:55.27ID:DadRmw9B >>996
ほんそれ
ほんそれ
999デフォルトの名無しさん
2018/05/09(水) 08:37:56.36ID:DadRmw9B >>994
1-liner にこだわるのはなぜ
1-liner にこだわるのはなぜ
1000デフォルトの名無しさん
2018/05/09(水) 08:38:27.55ID:DadRmw9B Ruby 初心者スレッド Part 63
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 166日 8時間 2分 58秒
新しいスレッドを立ててください。
life time: 166日 8時間 2分 58秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 「アベノミクス」で投資対象と化したマンション ローンの低金利続き「年収の12倍」借りる20代出現 [蚤の市★]
- 決め手は地名「西彼杵」を読めず…とっさの判断でニセ電話詐欺だと見抜いた女性に感謝状 [蚤の市★]
- 高市「台湾総統がバチーンと中国に言ってくれるでぇ!」台湾総統「中国は大国にふさわしい行動を…」 高市「えっ!?それだけ?」 [271912485]
- 【実況】博衣こよりのえちえち朝こよ🧪 ★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- お前らってよく仮想の敵作って叩いてるけどこれって実は素晴らしいことだよな
