プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 59
http://echo.2ch.net/test/read.cgi/tech/1475394638/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
探検
Ruby 初心者スレッド Part 60 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
2017/04/29(土) 02:01:58.34ID:urVXnFrH
2017/04/29(土) 02:04:15.15ID:urVXnFrH
埋めちゃったんで立てた
2017/04/29(土) 02:11:02.44ID:BB1qYBqv
>>1乙
Rubyもっと流行って欲しいよー
Rubyもっと流行って欲しいよー
2017/04/29(土) 09:19:50.66ID:+NUMWd7U
>>1乙
2017/04/29(土) 09:29:52.67ID:/b3MraXM
>>前1000
どうしてもインデックスの計算やメンバ検索などで
間にRubyのコードが入ってしまうので結局遅くなるよ
どうしてもインデックスの計算やメンバ検索などで
間にRubyのコードが入ってしまうので結局遅くなるよ
2017/04/29(土) 10:05:49.82ID:LxFH88XB
まつもとがmrubyに力いててるからなぁ
Ruby3頑張ってほしいわ
Ruby3頑張ってほしいわ
2017/04/29(土) 10:08:09.41ID:gzSp69Zc
Matzは最適化には興味ないでしょ
大半のRubyプログラマも然り
大半のRubyプログラマも然り
2017/04/29(土) 11:21:01.87ID:AcfKxaUU
コンパイラはできんのか
2017/04/29(土) 12:46:44.81ID:eMb5q7il
10レスくらいあれば落ちない?
2017/04/29(土) 13:09:14.76ID:AqsgnRmH
Mastodonの急な流行によりRubyに脚光が!
浴びてないな
浴びてないね
Railsも微妙
浴びてないな
浴びてないね
Railsも微妙
2017/04/29(土) 16:27:48.07ID:cjUk9ycm
>>8
mruby-cli?
mrubyからDLLを叩けるようになればWin32ネイティブで動くアプリを作れそうとは妄想している
mrubyは2.x.xと比べてもかなり遅いのが悩みどころ。2.x.xのつもりで書いていると速度が悲しいことになる
mruby-cli?
mrubyからDLLを叩けるようになればWin32ネイティブで動くアプリを作れそうとは妄想している
mrubyは2.x.xと比べてもかなり遅いのが悩みどころ。2.x.xのつもりで書いていると速度が悲しいことになる
2017/04/30(日) 04:15:05.53ID:C4fcJeOa
JRubyのドキュメント少ないなあ
JRuby+JavaFXでGUIアプリ作ってみたい
JRuby+JavaFXでGUIアプリ作ってみたい
2017/04/30(日) 07:04:15.22ID:HZc5pT/v
JavaFXの方もほとんど誰も使ってないぞ
パイオニアといえば聞こえはいいが後を追う人も誰もいなさそう
パイオニアといえば聞こえはいいが後を追う人も誰もいなさそう
2017/04/30(日) 10:18:17.54ID:V7fCcZ2D
JRubyFX便利
2017/04/30(日) 10:59:05.21ID:HKpgHA6l
JRubyってCRubyより実行が速いって言われるけど自分が使う範囲だと遅いんだよなぁ
起動とかCRubyだと10msもかからないプログラムの終了に数秒かかるしあほらしくなるくらい遅いし
肝心の実行速度自体も速くない。1.8.x比ならともかく2.x.x比だと優位性は感じられなかった
起動とかCRubyだと10msもかからないプログラムの終了に数秒かかるしあほらしくなるくらい遅いし
肝心の実行速度自体も速くない。1.8.x比ならともかく2.x.x比だと優位性は感じられなかった
2017/04/30(日) 11:54:58.94ID:ZnazSADk
rubyで書かれたデスクトップアプリは何があるんだろう
個人的に知らないので、有名所があれば教えて欲しい
個人的に知らないので、有名所があれば教えて欲しい
2017/04/30(日) 12:16:26.06ID:VPr4LyhY
有名なものはない
2017/04/30(日) 12:19:05.53ID:raNlWE+W
遅すぎてCに戻る。
2017/04/30(日) 12:23:47.65ID:HKpgHA6l
昔プライベートなGUIツールをwxRuby+exerbで作ったことがあるけど大分苦労させられた
2017/04/30(日) 12:53:10.79ID:eW5YwfF4
RubyでGUIは遅すぎて話にならなかった記憶しかない。
2017/04/30(日) 12:56:04.44ID:VPr4LyhY
wxはPythonの方が造りやすい
2017/04/30(日) 12:56:45.45ID:Yjf3oY9z
ほとんどc/c++だから遅くはならんでしょ
2017/04/30(日) 13:05:44.18ID:eW5YwfF4
いんや。
起動がdll読みまくりだからC#の起動時よりさらに遅いのよ。
起動が終わればまあ、気にするほどじゃ無いんだが。。。
C#の起動でさえ焦れったいから、我慢の限界超える遅さ。
起動がdll読みまくりだからC#の起動時よりさらに遅いのよ。
起動が終わればまあ、気にするほどじゃ無いんだが。。。
C#の起動でさえ焦れったいから、我慢の限界超える遅さ。
2017/04/30(日) 13:27:18.11ID:HKpgHA6l
wxRuby+exerbで作った奴は一瞬で起動するよ
Javaや.NETの方が遙かに待たされる
Ruby2.x.xでwxが使えればなぁ・・・
Javaや.NETの方が遙かに待たされる
Ruby2.x.xでwxが使えればなぁ・・・
2017/04/30(日) 13:56:27.67ID:GKlomiNq
で、結局今はGUIは何で作るの?
2017/04/30(日) 14:02:35.33ID:HKpgHA6l
HTMLですむ&RScriptをインストール出来るならActiveScriptRubyを使ってHTAと言う手もあるな
GUIを英語とにらめっこせずに標準的に書けるから結構楽
GUIを英語とにらめっこせずに標準的に書けるから結構楽
2017/04/30(日) 14:58:18.35ID:VPr4LyhY
>>25
少なくともRubyは使わない
少なくともRubyは使わない
2017/04/30(日) 15:29:46.79ID:HKpgHA6l
Rubyは遅いと言われるけど実際の処理だとそうでもないんだよなぁ
大容量のバイナリデータを読み込んでゴリゴリ演算するような用途だと
PythonやLuaにしたところでインタプリタ稼働率の上昇やI/O性能で
コーディング量が増える割に速くならない
Rubyでも標準のCライブラリを積極的に使うような書き方をすると以外と
大差ない速度が出ちゃったりするし
大容量のバイナリデータを読み込んでゴリゴリ演算するような用途だと
PythonやLuaにしたところでインタプリタ稼働率の上昇やI/O性能で
コーディング量が増える割に速くならない
Rubyでも標準のCライブラリを積極的に使うような書き方をすると以外と
大差ない速度が出ちゃったりするし
2017/04/30(日) 15:47:34.18ID:VPr4LyhY
CPUの進化に助けてもらってる面はある
2017/04/30(日) 16:25:39.24ID:HKpgHA6l
CPUはあまり関係なくね?自分は同じマシンで比べているよ
ベンチマークによってはRubyはPythonやLua(JITな奴)の1/数やそれ以下の速度しか出なかったりするけど
自分が試した限りそんなことはないな。圧倒的な速度で処理できるのかと期待すると肩すかしになる
JRubyやIronRubyも同じで、速くはならないどころか自分が試した限りでは遅くなったw
起動が遅くて実行も遅いのでは出番なし
ベンチマークによってはRubyはPythonやLua(JITな奴)の1/数やそれ以下の速度しか出なかったりするけど
自分が試した限りそんなことはないな。圧倒的な速度で処理できるのかと期待すると肩すかしになる
JRubyやIronRubyも同じで、速くはならないどころか自分が試した限りでは遅くなったw
起動が遅くて実行も遅いのでは出番なし
2017/04/30(日) 17:19:13.39ID:Yjf3oY9z
今のJRubyって滅茶苦茶速いはず
2017/04/30(日) 18:11:13.89ID:GKlomiNq
エレクトロンの本ポチってみた
これでGUI作ってみるわ・・・
これでGUI作ってみるわ・・・
2017/04/30(日) 19:03:42.97ID:HKpgHA6l
>>31
ホントに?自分が試したのは1年ちょっと前くらいだからそんなに大昔じゃないぞ
当時すでにJRubyの速度はCRubyに対して明確に速いのが常識的な風潮だったんで
試してみたら全然そんなことなかった
今作っているのがCRuby 2.1.xで数十秒から数分かかる代物なんでこれが1/数で終わると嬉しいなぁ
ホントに?自分が試したのは1年ちょっと前くらいだからそんなに大昔じゃないぞ
当時すでにJRubyの速度はCRubyに対して明確に速いのが常識的な風潮だったんで
試してみたら全然そんなことなかった
今作っているのがCRuby 2.1.xで数十秒から数分かかる代物なんでこれが1/数で終わると嬉しいなぁ
2017/04/30(日) 21:18:20.36ID:V7fCcZ2D
当たり前のことだけど何をやらせるかにも依るでしょ
2017/04/30(日) 23:56:49.84ID:HZc5pT/v
>>33はきっとライブラリの実装がボトルネックになってるんだろうな
2017/05/01(月) 00:37:35.10ID:U8II69aQ
簡易的な計測なので参考程度だけど計ってみた
処理内容
25MB程度のWaveファイル読みながらフィードバックタイプのエフェクトを掛けてWaveファイルに吐き出す
読み出しはダブルバッファリング。書き出しは直書き
計測方法
数回計ってそれっぽい時数を採用
jruby 9.1.8.0 (2.3.1) 2017-03-06 90fc7ab Java HotSpot(TM) Client VM 25.25-b02 on 1.8.0_25-b18 +jit [mswin32-x86]
65sec程度 メモリの使用は440MB程度
ruby 2.1.2p95 (2014-05-08 revision 45877) [i386-mswin32_100]
75sec程度 メモリの使用は200MB程度
ruby 2.4.0p0 (2016-12-24 revision 57164) [i386-mswin32_100]
90sec程度 メモリの使用は130MB程度
インタプリタの起動時間は含まないからJRubyはこれに2〜3秒加算される
jruby 1.7.12だと100秒以上かかっていたからかなり速くなっているけど、CRubyと
比べて劇的に速いってほどじゃないな。速度差はGCのさじ加減のような気も・・・
あと2.4を使ったら速くなるかと思ったら遅くなったw
処理内容
25MB程度のWaveファイル読みながらフィードバックタイプのエフェクトを掛けてWaveファイルに吐き出す
読み出しはダブルバッファリング。書き出しは直書き
計測方法
数回計ってそれっぽい時数を採用
jruby 9.1.8.0 (2.3.1) 2017-03-06 90fc7ab Java HotSpot(TM) Client VM 25.25-b02 on 1.8.0_25-b18 +jit [mswin32-x86]
65sec程度 メモリの使用は440MB程度
ruby 2.1.2p95 (2014-05-08 revision 45877) [i386-mswin32_100]
75sec程度 メモリの使用は200MB程度
ruby 2.4.0p0 (2016-12-24 revision 57164) [i386-mswin32_100]
90sec程度 メモリの使用は130MB程度
インタプリタの起動時間は含まないからJRubyはこれに2〜3秒加算される
jruby 1.7.12だと100秒以上かかっていたからかなり速くなっているけど、CRubyと
比べて劇的に速いってほどじゃないな。速度差はGCのさじ加減のような気も・・・
あと2.4を使ったら速くなるかと思ったら遅くなったw
2017/05/01(月) 01:09:37.50ID:U8II69aQ
ruby 2.4.0p0 (2016-12-24 revision 57164) [x64-mswin64_100]
70sec程度 メモリの使用は230MB程度
やっぱりCGのさじ加減?
70sec程度 メモリの使用は230MB程度
やっぱりCGのさじ加減?
2017/05/01(月) 01:13:18.27ID:P+4F2YiV
3938
2017/05/01(月) 01:16:50.69ID:P+4F2YiV すまん、正確には「IOのためのAPI呼び出しのコスト」だな
CPU使用率が仮に100%でもRubyコードそのものの実行時間を測ってるのかどうかは疑わしいよ
CPU使用率が仮に100%でもRubyコードそのものの実行時間を測ってるのかどうかは疑わしいよ
2017/05/01(月) 02:30:50.38ID:fBLf4yNS
メモリ節約と速度は反比例するのは常識だが。。。
2017/05/01(月) 03:01:26.20ID:U8II69aQ
>>38
IOは足を引っ張っている。最初は処理単位(2Byteや4Byte)で呼んでいて洒落にならないほど遅かった
今は512KB単位で読み込んでいる。25MB程度の場合はreadの呼び出し回数が50回程度の
はずでかなり抑えられているはず
ただしバックグラウンドで読んでいるためにオーバーヘッドは増えている
オンメモリで処理すれば多少速くなるのは確かだろうけど扱うデータ量が多いと数百MBに達する
可能性があることを考えるとあまり現実的はないか
dl経由でCreateFileを叩いてFILE_FLAG_SEQUENTIAL_SCANを付けて開いてWinAPI経由で読み込むとか
などまだ改善しそうな策はあるけどどこまで速くなるかは何とも・・・
IOは足を引っ張っている。最初は処理単位(2Byteや4Byte)で呼んでいて洒落にならないほど遅かった
今は512KB単位で読み込んでいる。25MB程度の場合はreadの呼び出し回数が50回程度の
はずでかなり抑えられているはず
ただしバックグラウンドで読んでいるためにオーバーヘッドは増えている
オンメモリで処理すれば多少速くなるのは確かだろうけど扱うデータ量が多いと数百MBに達する
可能性があることを考えるとあまり現実的はないか
dl経由でCreateFileを叩いてFILE_FLAG_SEQUENTIAL_SCANを付けて開いてWinAPI経由で読み込むとか
などまだ改善しそうな策はあるけどどこまで速くなるかは何とも・・・
2017/05/01(月) 07:02:53.40ID:lT1GiCV3
2017/05/01(月) 07:18:13.85ID:fBLf4yNS
画像処理みたいに同じデータにアクセスするコードが少ないか、Rubyインタプリタみたいにループで同じデータ(この場合Rubyコード)にアクセスするコードが多いかの違いだろ。
メモリ確保した割に速くなかったからバランス取ったんじゃねーの?
メモリ確保した割に速くなかったからバランス取ったんじゃねーの?
2017/05/01(月) 08:19:56.73ID:3OyRI7P6
caseでラベルがラベルではなくラベルの文字列としかマッチしないって酷い仕様だな
アリエンティーすぎる
アリエンティーすぎる
45デフォルトの名無しさん
2017/05/01(月) 08:40:59.02ID:3OyRI7P6 そんなことはなかった
木の生だった
木の生だった
2017/05/01(月) 09:42:14.76ID:B7FMiEuI
Ruby初心者スレ的には使用メモリを気にするのは初心者の証
こういうスクリプト言語なんて自分のぶんの処理が速ければそれでいいのだ
ただし脱中級者認定要件に「Cレベルでのメモリ動作を理解し適宜気にする」という項目があるにはあるがw
こういうスクリプト言語なんて自分のぶんの処理が速ければそれでいいのだ
ただし脱中級者認定要件に「Cレベルでのメモリ動作を理解し適宜気にする」という項目があるにはあるがw
47デフォルトの名無しさん
2017/05/01(月) 10:18:46.45ID:lXMk8r4o def f1(n,r)
n
end
def f3(n,r)
(n+1)%2
end
def f4(n,r)
n%2
end
def f5(n,r)
(n%r)==0?1:0
end
fs=[f1,f1,f3,f4,f5]
fs[3](21,7)
みたいに関数を配列に入れて使いたいんだが触って5時間の初心者なんでわからん。
具体的なコード教えてくれめんす。
n
end
def f3(n,r)
(n+1)%2
end
def f4(n,r)
n%2
end
def f5(n,r)
(n%r)==0?1:0
end
fs=[f1,f1,f3,f4,f5]
fs[3](21,7)
みたいに関数を配列に入れて使いたいんだが触って5時間の初心者なんでわからん。
具体的なコード教えてくれめんす。
2017/05/01(月) 10:34:15.38ID:B7FMiEuI
49デフォルトの名無しさん
2017/05/01(月) 10:47:11.79ID:lXMk8r4o ありがとうございます。
詳細は明かせないです(説明すると人として恥ずかしいレベルのあれやこれやの理由で)。
関数の集合と適用順番を求める処理が上位にあって。
そこから降ってきたものを具体的に計算したりするときに使いたいのです。
引数の値に対応する関数リストがあるときに関数の適用順序をif文で分岐するとコードが偉いことになるので。
引数に1が来たら関数2,3,5
引数に2が来たら関数3,7,8,12,23
、、、
引数にnが来たら関数1,13を適用
みたいな対応表で、if文で適用関数を区別せず、リストとかで処理を記述したいわけです。
詳細は明かせないです(説明すると人として恥ずかしいレベルのあれやこれやの理由で)。
関数の集合と適用順番を求める処理が上位にあって。
そこから降ってきたものを具体的に計算したりするときに使いたいのです。
引数の値に対応する関数リストがあるときに関数の適用順序をif文で分岐するとコードが偉いことになるので。
引数に1が来たら関数2,3,5
引数に2が来たら関数3,7,8,12,23
、、、
引数にnが来たら関数1,13を適用
みたいな対応表で、if文で適用関数を区別せず、リストとかで処理を記述したいわけです。
2017/05/01(月) 11:04:38.77ID:F35eYYLf
>>49
単純に引数で処理変えたいなら、case文で場合分けすればええんで?
def fn(a,b,c)
case a
when a = 1
puts sum = b + c
puts sum = 2*b
when a = 2
puts sum = b - c
when a = 3
puts sum = b * c
when a = "div"
puts sum = b / c
end
end
fn(1,10,5)
#=>15
#=>20
fn(2,10,5)
#=>5
fn(3,10,5)
#=>50
fn("div",10,5)
#=>2
単純に引数で処理変えたいなら、case文で場合分けすればええんで?
def fn(a,b,c)
case a
when a = 1
puts sum = b + c
puts sum = 2*b
when a = 2
puts sum = b - c
when a = 3
puts sum = b * c
when a = "div"
puts sum = b / c
end
end
fn(1,10,5)
#=>15
#=>20
fn(2,10,5)
#=>5
fn(3,10,5)
#=>50
fn("div",10,5)
#=>2
2017/05/01(月) 11:18:46.93ID:ZySc29+x
Ruby始めてすぐなのならどっかででっかい条件分岐させて「実行したいメソッドとその処理順方法」を記した何かを紐づける記述が絶対に必要
それをたとえばデータ配列なんかに持つことは愚行であって(だいいちそのデータだけ見てもなにしてるか読めないし改変追加しんどいだろ)
素直に地の文で論理を記述するべきだろうね
てなわけで被らない分岐をすべて>>50のcaseで分岐させ、メソッドを実行する順番を書いただけの分岐後専用メソッドにぶん投げるのが妥当では
分岐が数十個超あるならクラス作ってファクトリーメソッドとかあのへんに行くんだろうけど1か月くらい早いと思う
それをたとえばデータ配列なんかに持つことは愚行であって(だいいちそのデータだけ見てもなにしてるか読めないし改変追加しんどいだろ)
素直に地の文で論理を記述するべきだろうね
てなわけで被らない分岐をすべて>>50のcaseで分岐させ、メソッドを実行する順番を書いただけの分岐後専用メソッドにぶん投げるのが妥当では
分岐が数十個超あるならクラス作ってファクトリーメソッドとかあのへんに行くんだろうけど1か月くらい早いと思う
2017/05/01(月) 11:23:20.88ID:F35eYYLf
話脱線するけど、上のメソッドにp使うと
p fn(2,10,5)
#=>5
#=>nil
って表示されるけど、何に対してnilを出してるのかが分からん
p fn(2,10,5)
#=>5
#=>nil
って表示されるけど、何に対してnilを出してるのかが分からん
2017/05/01(月) 11:44:56.25ID:hzoMRY/L
>>42
firefox/realplayerの悪口はもっと言え
firefox/realplayerの悪口はもっと言え
2017/05/01(月) 11:53:49.39ID:ZySc29+x
>>52
Rubyのメソッドはすべて戻り値を返す
返すべき適当な値がない場合はnilを返す
んでirbとかはメソッド戻り値も律儀に表示する
irb> def m1; end
irb> m1
=> nil
そいで画面表示するメソッドを使うと標準出力内容とメソッド戻り値が2段表示になる
Rubyのメソッドはすべて戻り値を返す
返すべき適当な値がない場合はnilを返す
んでirbとかはメソッド戻り値も律儀に表示する
irb> def m1; end
irb> m1
=> nil
そいで画面表示するメソッドを使うと標準出力内容とメソッド戻り値が2段表示になる
2017/05/01(月) 11:54:30.99ID:L3YRsyvl
putsの返り値がnilだからでしょ
56デフォルトの名無しさん
2017/05/01(月) 11:54:54.16ID:lXMk8r4o 親切な返答ありがとうございます。
なるほど全然ダメな発想だったのですね私。
将来的な話なのですが、ゲームの雑魚敵を配列に入れた複数の関数で動きや思考や攻撃防御を制御して、
雑魚敵の部位ダメージ量や探索モードや怒りモードなどへの条件を満たすと、配列内の関数を入れ替えることで雑魚敵の挙動を制御したい。
という現時点での目標があります。
とりあえず教えてもらったコードを理解できるか今から頑張ってみます。
なるほど全然ダメな発想だったのですね私。
将来的な話なのですが、ゲームの雑魚敵を配列に入れた複数の関数で動きや思考や攻撃防御を制御して、
雑魚敵の部位ダメージ量や探索モードや怒りモードなどへの条件を満たすと、配列内の関数を入れ替えることで雑魚敵の挙動を制御したい。
という現時点での目標があります。
とりあえず教えてもらったコードを理解できるか今から頑張ってみます。
2017/05/01(月) 11:56:43.97ID:F35eYYLf
>>54
メソッドの戻り値だったのか、ありがとん
メソッドの戻り値だったのか、ありがとん
2017/05/01(月) 21:44:37.52ID:+TVy5Krd
ロボットの動きなどは、case文で書く方がまれ。
右に動く関数とか、上に動く関数とかを、Hash か配列に入れておく
キーマップなどもそう。
キー A〜Z に該当する動きを、case文で書くのは大変
呼び出される処理を、ブロックで書く。
ブロックを呼び出すのは、yield
yield(引数)とすると、その引数は、ブロック引数として渡ってくる。
{ |引数| 処理 }
処理が2行以上あるなら、do 〜 end を使えばよい
-> (引数){ 処理 }
lambda{ |引数| 処理 }
Proc.new{ |引数| 処理 }
proc{ |引数| 処理 }
Proc.new, proc では、return が使えないから、->, lambda を使えばよい
右に動く関数とか、上に動く関数とかを、Hash か配列に入れておく
キーマップなどもそう。
キー A〜Z に該当する動きを、case文で書くのは大変
呼び出される処理を、ブロックで書く。
ブロックを呼び出すのは、yield
yield(引数)とすると、その引数は、ブロック引数として渡ってくる。
{ |引数| 処理 }
処理が2行以上あるなら、do 〜 end を使えばよい
-> (引数){ 処理 }
lambda{ |引数| 処理 }
Proc.new{ |引数| 処理 }
proc{ |引数| 処理 }
Proc.new, proc では、return が使えないから、->, lambda を使えばよい
2017/05/03(水) 02:23:03.67ID:wSFjLMka
>>56
enemy[0]=Slime.new
enemy[1]=Goblin.new
enemy[1].state=Angry.new
enemy[0].action #普通に弱い
enemy[1].action #Angryのメソッドにより強い
こういうことならオブジェクト指向について学ぶといい
ただ敵の数が多いとハードコーディングしないでメタプログラミングのがいいかもな
基礎を覚えたら
enemy[0]=Slime.new
enemy[1]=Goblin.new
enemy[1].state=Angry.new
enemy[0].action #普通に弱い
enemy[1].action #Angryのメソッドにより強い
こういうことならオブジェクト指向について学ぶといい
ただ敵の数が多いとハードコーディングしないでメタプログラミングのがいいかもな
基礎を覚えたら
2017/05/03(水) 23:40:20.15ID:zkWNfzXl
スライムとゴブリンを別のクラスにする意味はないだろ
そんなもんデータが違うだけ
そんなもんデータが違うだけ
2017/05/04(木) 00:17:43.27ID:PMOSX9lZ
普通、スライムとゴブリンは、振る舞い・攻撃パターンが異なるから、
別の基本クラスを継承する
スライムは、無形モンスター。
ゴブリンは、小鬼か妖精族?
別の基本クラスを継承する
スライムは、無形モンスター。
ゴブリンは、小鬼か妖精族?
62デフォルトの名無しさん
2017/05/04(木) 01:07:10.81ID:kDn7ReiV ちょっと古い DXRubyの話かと思った
63デフォルトの名無しさん
2017/05/04(木) 01:10:22.16ID:kDn7ReiV 2dのRPGやシューティングは作りやすかったけど
3dは他の使った方が良い
興味ないか……
3dは他の使った方が良い
興味ないか……
2017/05/04(木) 03:22:55.23ID:ufmsKYbO
>>60
基礎を覚えたらと書いてあるだろ
基礎を覚えたらと書いてあるだろ
65デフォルトの名無しさん
2017/05/04(木) 10:08:11.63ID:4jJ2tlWM いま流行りのますとどん
Rubyを学ぼうというインスタンスはないものか
Rubyを学ぼうというインスタンスはないものか
2017/05/04(木) 23:01:56.14ID:TB6ujr0/
rubyの求人が無くて泣く
プログラマになりたいと思って勉強したのに・・・…
これからrubyとrailsの需要が爆発的に伸びるとかってありえますか?
プログラマになりたいと思って勉強したのに・・・…
これからrubyとrailsの需要が爆発的に伸びるとかってありえますか?
2017/05/04(木) 23:38:24.44ID:ufmsKYbO
>>65
立てていいぞ
立てていいぞ
2017/05/04(木) 23:41:48.41ID:ufmsKYbO
2017/05/04(木) 23:44:35.87ID:lRx89izX
RubyもRailsも落ち目で衰退する一方だよ
でも所詮それらは道具であり大して重要なことではない
AWSとかのインフラ方面の知識を身につけて一通り自分で作れるようになるとか、
実際にサービス作って運用してみるとか
とにかくモノ作れる奴にはいくらでも働き口はある
でも所詮それらは道具であり大して重要なことではない
AWSとかのインフラ方面の知識を身につけて一通り自分で作れるようになるとか、
実際にサービス作って運用してみるとか
とにかくモノ作れる奴にはいくらでも働き口はある
2017/05/04(木) 23:50:13.53ID:rtRP+bqL
趣味または職業プログラマーとして「生きていく」のにRubyは強力に役立つ
ただし職業プログラマーとして「働く」のにはあまり役に立たない
これはそういうものだ
食べていくのならRubyだけじゃなくRuby「とそれ以外」を身に着けろ
ただし職業プログラマーとして「働く」のにはあまり役に立たない
これはそういうものだ
食べていくのならRubyだけじゃなくRuby「とそれ以外」を身に着けろ
2017/05/05(金) 00:40:00.34ID:ayKeenIH
それってRuby以外の言語でも言える事じゃね?
というか国はプログラマーの育成に力を入れているようだけどその実態はコーダーの育成
世界で戦っていく上で必要なのは英語の意味でのシステムエンジニア(≠ソフトウェアエンジニア)だろ・・・
というか国はプログラマーの育成に力を入れているようだけどその実態はコーダーの育成
世界で戦っていく上で必要なのは英語の意味でのシステムエンジニア(≠ソフトウェアエンジニア)だろ・・・
2017/05/05(金) 00:42:47.93ID:YKLEnk0e
ハローワークでも、Pythonの求人は、ほとんどないけど、
Rubyの求人は、たまに見る
Rubyの求人は、たまに見る
2017/05/05(金) 01:01:51.97ID:78DJCXmh
Ruby覚えたら次はJavaでもC#でも飯の種になりそうな言語覚えれば良いじゃん
他の言語について知ると元の言語の理解も深まるから
それこそプログラマとして働くなら特定の言語だけしか使えないなんてありえないよ
他の言語について知ると元の言語の理解も深まるから
それこそプログラマとして働くなら特定の言語だけしか使えないなんてありえないよ
2017/05/05(金) 01:05:47.85ID:TDjvniVu
日本に必要なのは質の高いプログラマーだと思うぞ
世界で戦えるサービスやアプリが少ないのはプログラマーの質の問題が大きい
教育面で言えばごくごく一部の大学と大学院を除くと
日本の大学よりCourseraで受けられる講義のほうがレベル高いからな
小学生にプログラミング教育するより高等教育に力入れないと話にならん
あとハローワークは知らんがRubyの求人は普通にあるよ
Rubyで人とるようなところはハロワに出さないだけじゃないの
リクナビとか一般的なサイトで調べてみたら?
世界で戦えるサービスやアプリが少ないのはプログラマーの質の問題が大きい
教育面で言えばごくごく一部の大学と大学院を除くと
日本の大学よりCourseraで受けられる講義のほうがレベル高いからな
小学生にプログラミング教育するより高等教育に力入れないと話にならん
あとハローワークは知らんがRubyの求人は普通にあるよ
Rubyで人とるようなところはハロワに出さないだけじゃないの
リクナビとか一般的なサイトで調べてみたら?
2017/05/05(金) 01:44:48.67ID:mu06C9qQ
文法覚えて食えるんだったらせわないわ。
2017/05/05(金) 02:14:13.82ID:iQB12R96
とりあえずRubyで色々作れるなら、他の言語でも文法とライブラリ覚えりゃ作れるでしょ。
ある日Javaでこれ作って。って言われたらJava入門書とWebのドキュメントで翌日には学びながら作り始めるのが当たり前の世界よ?
ソースはおいら。
ある日Javaでこれ作って。って言われたらJava入門書とWebのドキュメントで翌日には学びながら作り始めるのが当たり前の世界よ?
ソースはおいら。
2017/05/05(金) 15:07:31.63ID:K1twnG6D
ねえねえ、Rubyバイナリのバージョン管理って今でもrbenvでいいの?
2017/05/05(金) 19:19:15.08ID:u3v3zIiy
2017/05/05(金) 19:33:23.14ID:78DJCXmh
2017/05/05(金) 19:55:45.07ID:yiYPdEw2
これはdo...endと{}の結合の強さの違いによる問題だね
ここ参照して
http://rurema.clear-code.com/2.4.0/doc/spec=2fcall.html#block
上でも言われてるけどブロック付きメソッドの戻り値をpしたいときは{}使わないと思ったように動かないよ
ここ参照して
http://rurema.clear-code.com/2.4.0/doc/spec=2fcall.html#block
上でも言われてるけどブロック付きメソッドの戻り値をpしたいときは{}使わないと思ったように動かないよ
2017/05/05(金) 20:02:27.64ID:yiYPdEw2
例えば
p (1..10).map{|i| i**2}
は(1..10).map{|i| i**2}の戻り値をpするけど
p (1..10).map do |i| i**2 end
は
p((1..10).map) do |i| i**2 end
と同じ動きをする。
互換というのは明らかな誤謬。
p (1..10).map{|i| i**2}
は(1..10).map{|i| i**2}の戻り値をpするけど
p (1..10).map do |i| i**2 end
は
p((1..10).map) do |i| i**2 end
と同じ動きをする。
互換というのは明らかな誤謬。
2017/05/05(金) 20:10:13.54ID:yiYPdEw2
ついでに、いちいち書き換えるのが面倒なら
(1..10).map do |i| i**2 end.display
(1..10).map do |i| i**2 end.tap{|e| p e}
とかって書くのもありだね
(1..10).map do |i| i**2 end.display
(1..10).map do |i| i**2 end.tap{|e| p e}
とかって書くのもありだね
2017/05/05(金) 20:20:15.00ID:sevG6PSJ
mapをdo end で書くのキモい
2017/05/05(金) 23:25:26.52ID:G0OfeBgr
結合の強さって初めて知ったわ
こんな仕様あったのか
こんな仕様あったのか
87デフォルトの名無しさん
2017/05/06(土) 14:02:42.85ID:2cSynca3 教えてください。(当方Rubyまったく無知です。)
下記のスクリプトを走らせるとSSLエラーが出るので、
拾ってきた証明書を読ませて何とかしたのですが、
open-uri.rb:359:in `open_http': 403 Forbidden (OpenURI::HTTPError)
と、エラーが出ます。UserAgentや認証やら何かでけられてると思うんですが。
403.1とかのサブエラー返してくれればまだしも原因わからず。
※Yahooボックスから一括DL
ttp://lp6m.hatenablog.com/entry/2016/08/12/184232
下記のスクリプトを走らせるとSSLエラーが出るので、
拾ってきた証明書を読ませて何とかしたのですが、
open-uri.rb:359:in `open_http': 403 Forbidden (OpenURI::HTTPError)
と、エラーが出ます。UserAgentや認証やら何かでけられてると思うんですが。
403.1とかのサブエラー返してくれればまだしも原因わからず。
※Yahooボックスから一括DL
ttp://lp6m.hatenablog.com/entry/2016/08/12/184232
2017/05/06(土) 14:25:24.99ID:5w6KEOXn
つまりそのためにYahooのアカウント取ってBOXに何か入れて検証しろと
2017/05/06(土) 18:26:04.98ID:l3lhsLeM
普通に認証失敗してんだろ
認証に成功してるかどうかもわからないコード使って
Ruby無知です、わかりません、教えてくださいって酷いゆとりだね
認証に成功してるかどうかもわからないコード使って
Ruby無知です、わかりません、教えてくださいって酷いゆとりだね
2017/05/06(土) 18:31:44.81ID:5w6KEOXn
Rubyを学んでいないのならこんな古臭いスクリプトをわざわざRuby入れて使う必要はない
2017/05/06(土) 19:32:19.76ID:s8HixK2i
yahoo box さらうプログラムなら他にもあるよな
92デフォルトの名無しさん
2017/05/06(土) 20:03:38.15ID:2cSynca3 自覚も無い人間の屑共が消えろゴミカス
2017/05/06(土) 20:23:44.39ID:s8HixK2i
私たちはあなたのような人を売るほど見てきてるのですよルンルン
2017/05/07(日) 03:19:50.14ID:edBtKeoY
>>80-84
{ }, do〜end は互換じゃなかったのか!
しかし、ブロックの外側に、p を付ける方が、おかしい!
ブロックの外側に、p を付けるって事は、ブロック全体の戻り値を表示する事になる。
ブロック内の各処理の結果じゃない
{ }, do〜end は互換じゃなかったのか!
しかし、ブロックの外側に、p を付ける方が、おかしい!
ブロックの外側に、p を付けるって事は、ブロック全体の戻り値を表示する事になる。
ブロック内の各処理の結果じゃない
2017/05/07(日) 03:25:08.49ID:edBtKeoY
2017/05/07(日) 04:53:57.72ID:cg7edk1d
case文書く時に
case 比較したいオブジェクト名
when 値1 then
文1
って書いてあるけど
別に比較したいオブジェクト名を省略しても動くよね
ただリファレンス見てもその辺の注釈が無いけど、どういう理屈で動いてるんだろう
case 比較したいオブジェクト名
when 値1 then
文1
って書いてあるけど
別に比較したいオブジェクト名を省略しても動くよね
ただリファレンス見てもその辺の注釈が無いけど、どういう理屈で動いてるんだろう
2017/05/07(日) 08:48:03.37ID:xlJMQ4jE
>>94
>しかし、ブロックの外側に、p を付ける方が、おかしい!
なるほど、何もしらない初学者だから、こういったこともよくわかっていなかったのです
今後ともよろしくお願いいたします。
今演習をしていますが、
s = "Ruby is an object oriented programming language"
に含まれるアルファベットの頻度をカウントしようとして
s.each_char do |c| で、手がとまっています
>しかし、ブロックの外側に、p を付ける方が、おかしい!
なるほど、何もしらない初学者だから、こういったこともよくわかっていなかったのです
今後ともよろしくお願いいたします。
今演習をしていますが、
s = "Ruby is an object oriented programming language"
に含まれるアルファベットの頻度をカウントしようとして
s.each_char do |c| で、手がとまっています
2017/05/07(日) 10:32:21.91ID:ZvN12MF9
そうですか頑張ってください
100デフォルトの名無しさん
2017/05/07(日) 10:49:01.57ID:yCqO92dr s.chars.uniq.each_with_object({}){|c,h|h[c]=s.count(c)}
101デフォルトの名無しさん
2017/05/07(日) 10:50:54.94ID:yCqO92dr あと別にブロックの外側に、p を付ける事はおかしくない
ブロック全体の戻り値が知りたいときだってあるでしょう
ブロック全体の戻り値が知りたいときだってあるでしょう
102デフォルトの名無しさん
2017/05/07(日) 11:42:11.78ID:cg7edk1d103デフォルトの名無しさん
2017/05/07(日) 14:43:52.81ID:bug3EadL >>98
Rubyに限った話じゃないけどある処理を実装しようとする時は
その処理の入力と出力の型を最初に考えるといいと思うよ
(厳密に定義されてる型じゃなくても別によくて入出力の形式くらいの意味)
例えば
文字列の文字出現頻度をカウントするメソッドの入出力は
string -> hash {“a” => 3, “b” => 5, …}
でeach_charに渡すブロックの入出力は
char -> hash
でcharを1つずつ受け取って意図したhashを返すにはどうするのかを考える
Rubyに限った話じゃないけどある処理を実装しようとする時は
その処理の入力と出力の型を最初に考えるといいと思うよ
(厳密に定義されてる型じゃなくても別によくて入出力の形式くらいの意味)
例えば
文字列の文字出現頻度をカウントするメソッドの入出力は
string -> hash {“a” => 3, “b” => 5, …}
でeach_charに渡すブロックの入出力は
char -> hash
でcharを1つずつ受け取って意図したhashを返すにはどうするのかを考える
104デフォルトの名無しさん
2017/05/07(日) 15:02:27.91ID:bug3EadL (続き)
例えば特定の文字が出てくるたびにインクリメントすればいいと考えれば
最初は↓こういう実装でもいい
s = "Ruby is an object oriented programming language"
result = Hash.new(0)
s.each_char do |char|
result[char.downcase] += 1
end
上のコードが手続き的で副作用が気持ち悪いと思うようになってくればreduceに変える
s.chars.reduce(Hash.new(0)) {|result, char| result[char.downcase] += 1; result}
reduceだとブロックの最後に明示的にresultを返してやらないといけないのが美しくないと思えばeach_with_objectに変える
s.chars.each_with_object(Hash.new(0)) {|char, result| result[char.downcase] += 1}
文字の集合をgroup byすればいいというふうに考えれば↓こういう感じとか(パフォーマンスは上のほうがよいけど)
s.chars.group_by{|char| char.downcase}
.map{|key, value| [key, value.length]}
.to_h
入出力の型を考えて、ロジックを考えて、ロジックをコードで表現する方法を見つける
例えば特定の文字が出てくるたびにインクリメントすればいいと考えれば
最初は↓こういう実装でもいい
s = "Ruby is an object oriented programming language"
result = Hash.new(0)
s.each_char do |char|
result[char.downcase] += 1
end
上のコードが手続き的で副作用が気持ち悪いと思うようになってくればreduceに変える
s.chars.reduce(Hash.new(0)) {|result, char| result[char.downcase] += 1; result}
reduceだとブロックの最後に明示的にresultを返してやらないといけないのが美しくないと思えばeach_with_objectに変える
s.chars.each_with_object(Hash.new(0)) {|char, result| result[char.downcase] += 1}
文字の集合をgroup byすればいいというふうに考えれば↓こういう感じとか(パフォーマンスは上のほうがよいけど)
s.chars.group_by{|char| char.downcase}
.map{|key, value| [key, value.length]}
.to_h
入出力の型を考えて、ロジックを考えて、ロジックをコードで表現する方法を見つける
105デフォルトの名無しさん
2017/05/07(日) 15:19:04.40ID:2pnfBwSz >>104
副作用の意味分かってる?
副作用の意味分かってる?
106デフォルトの名無しさん
2017/05/07(日) 15:42:28.57ID:3+oylOXC 大学すら行ったことのない人は「演習」の意味も分からず>>103-104みたいなことを書くのだ
気をつけようね
気をつけようね
107デフォルトの名無しさん
2017/05/07(日) 16:16:42.30ID:2pnfBwSz reduceは考え方が手続き型に近いので、関数型特有のトップダウンな思考が身についてない人にも馴染みやすいためか、低スキルな人が好んで使うよね
故に>>104のように無自覚に副作用書いちゃう馬鹿野郎も多い
故に>>104のように無自覚に副作用書いちゃう馬鹿野郎も多い
108デフォルトの名無しさん
2017/05/07(日) 18:08:01.01ID:vOdx9BxG ruby の記述力には感動すら感じさせられますね
今回、必要があって ruby を始めましたが、末永くお付き合いさせていただくことになりそうですね、C/C++ だけに眠っていたのは損失でした…
今回、必要があって ruby を始めましたが、末永くお付き合いさせていただくことになりそうですね、C/C++ だけに眠っていたのは損失でした…
110デフォルトの名無しさん
2017/05/07(日) 20:38:50.83ID:YLCveNdh >>108
自己紹介GJ
自己紹介GJ
111デフォルトの名無しさん
2017/05/07(日) 21:06:49.51ID:edBtKeoY >>98
>s.each_char do |c| で、手がとまっています
手が止まるのは、習っていない事をしようとするから。
そりゃ出来ないはず
先に「たのしいRuby 第5版、2016」を3回読めば、ほとんどの事は書いてある
>s.each_char do |c| で、手がとまっています
手が止まるのは、習っていない事をしようとするから。
そりゃ出来ないはず
先に「たのしいRuby 第5版、2016」を3回読めば、ほとんどの事は書いてある
112デフォルトの名無しさん
2017/05/07(日) 21:36:25.47ID:vOfy+8Oj >>104
すでに>>105が指摘しているけど、破壊的代入は副作用の一つだよ
副作用の無い「関数型プログラミング」と呼ばれる作法に従えば、
以下のコードになる
http://ideone.com/d48CGm
詳しくは以下の文書を参照
・Rubyによる関数型プログラミング
http://www.h6.dion.ne.jp/~machan/misc/FPwithRuby.html
あと蛇足を加えると:
・上記のコードでは、reduce ではなく inject を用いた
・効率という視点では破壊的代入を用いる>>104のコードのほうが優れている
・わざわざメソッド String#chars で文字列を文字の配列に展開するよりも、
ブロックを伴わないメソッド String#each_char は列挙オブジェクト
(enumerator)を返すから、それを直接inject(あるいは reduce)へ
チェーンさせたほうが効率的である
すでに>>105が指摘しているけど、破壊的代入は副作用の一つだよ
副作用の無い「関数型プログラミング」と呼ばれる作法に従えば、
以下のコードになる
http://ideone.com/d48CGm
詳しくは以下の文書を参照
・Rubyによる関数型プログラミング
http://www.h6.dion.ne.jp/~machan/misc/FPwithRuby.html
あと蛇足を加えると:
・上記のコードでは、reduce ではなく inject を用いた
・効率という視点では破壊的代入を用いる>>104のコードのほうが優れている
・わざわざメソッド String#chars で文字列を文字の配列に展開するよりも、
ブロックを伴わないメソッド String#each_char は列挙オブジェクト
(enumerator)を返すから、それを直接inject(あるいは reduce)へ
チェーンさせたほうが効率的である
113デフォルトの名無しさん
2017/05/07(日) 21:47:04.67ID:hR29VPCg >>109
ちゃんと覚えるつもりならRubyの一般的なコーディングルール調べてからのほうがいいよ
自然に do end と {} の使い分けも出来るように考えられてたりとか
無駄な時間を減らせるようになってる
ちゃんと覚えるつもりならRubyの一般的なコーディングルール調べてからのほうがいいよ
自然に do end と {} の使い分けも出来るように考えられてたりとか
無駄な時間を減らせるようになってる
114デフォルトの名無しさん
2017/05/07(日) 22:19:19.16ID:3+oylOXC reduceという別名をつけてくれたのはありがたいことだと思う
厄介な人間の区別がつけやすくなったからな
厄介な人間の区別がつけやすくなったからな
115デフォルトの名無しさん
2017/05/07(日) 22:25:07.52ID:yCqO92dr LISPER大激怒
116デフォルトの名無しさん
2017/05/07(日) 22:28:15.75ID:vQOCcspz enumeratorが効率的なわけがない
117デフォルトの名無しさん
2017/05/07(日) 22:37:40.27ID:3+oylOXC >>115
Rubyのreduceは別にreduceしてるわけではないし
関数型やってるわけでもないのに「わざわざ」reduceと呼ぶのは
・reduceの動作を理解していない
・Rubyと他の関数型言語等との区別をつけられていない
という点で危険人物の可能性が高い
そして実際にそうだったわけであって
Rubyのreduceは別にreduceしてるわけではないし
関数型やってるわけでもないのに「わざわざ」reduceと呼ぶのは
・reduceの動作を理解していない
・Rubyと他の関数型言語等との区別をつけられていない
という点で危険人物の可能性が高い
そして実際にそうだったわけであって
118デフォルトの名無しさん
2017/05/08(月) 00:02:12.04ID:H9Jpde9f >>112
副作用って書いたのはステートメント単位の話ね
each_charとcharsの違いはたかだか知れてるけど
インクリメントのたびに新しいHash作ってたら
100倍・1000倍のオーダーでパフォーマンス変わるよ
副作用って書いたのはステートメント単位の話ね
each_charとcharsの違いはたかだか知れてるけど
インクリメントのたびに新しいHash作ってたら
100倍・1000倍のオーダーでパフォーマンス変わるよ
119デフォルトの名無しさん
2017/05/08(月) 00:17:01.28ID:cPdEWfXE Rubyではほとんどの場合injectだよな
reduceという名前で書きたい処理だと思ったことはRubyではまだないわ
名前重要、は組み込みライブラリにも適用されるのだ
reduceという名前で書きたい処理だと思ったことはRubyではまだないわ
名前重要、は組み込みライブラリにも適用されるのだ
120デフォルトの名無しさん
2017/05/08(月) 01:00:12.59ID:H9Jpde9f パフォーマンス比較
http://ideone.com/coBqfF
http://ideone.com/coBqfF
121デフォルトの名無しさん
2017/05/08(月) 01:16:43.69ID:RkG8OoQA ループはwhile最強のはずと思ったけど、配列や文字列の添字参照は引数のパースにコストがかかるし
何文字目か数えないといけないからeach_charsのほうがマシだな
何文字目か数えないといけないからeach_charsのほうがマシだな
122デフォルトの名無しさん
2017/05/08(月) 05:42:30.32ID:WmCrZwJe effective rubyに倣ってreduceだわ
123デフォルトの名無しさん
2017/05/08(月) 13:18:08.61ID:iGkkPwEU Rubyist Magazine - map と collect、reduce と inject ―― 名前の違いに見る発想の違い
http://magazine.rubyist.net/?0038-MapAndCollect
俺はmap/reduce派
http://magazine.rubyist.net/?0038-MapAndCollect
俺はmap/reduce派
124デフォルトの名無しさん
2017/05/09(火) 00:44:03.70ID:AJpeMRYn >>123
長ったらしいな。
まず、Rubyは他の言語を参考にした。
map と collect、reduce と inject と2つあるのは
Lispを参考にした名前が、mapとrecude、
Smalltaikを参考にした名前が、collectとinjectである。
というだけだろう?
ここまででRubyの話は終わりじゃないか。
長ったらしいな。
まず、Rubyは他の言語を参考にした。
map と collect、reduce と inject と2つあるのは
Lispを参考にした名前が、mapとrecude、
Smalltaikを参考にした名前が、collectとinjectである。
というだけだろう?
ここまででRubyの話は終わりじゃないか。
125デフォルトの名無しさん
2017/05/09(火) 00:44:54.41ID:AJpeMRYn JavaScriptに標準であるのは、mapとrecudeだな。
126デフォルトの名無しさん
2017/05/09(火) 01:55:29.32ID:lu7Bmdm9 配列の関係でお聞きしたいです
http://ideone.com/ntTNm5
こんな感じで任意の文字列を受け取って、それを1文字ずつ分割するっていう動きなのですが
配列を使って繰り返そうとすると上手くいかないです
http://ideone.com/ePxuDp
どうすれば配列に値を返すことが出来るのでしょうか?
http://ideone.com/ntTNm5
こんな感じで任意の文字列を受け取って、それを1文字ずつ分割するっていう動きなのですが
配列を使って繰り返そうとすると上手くいかないです
http://ideone.com/ePxuDp
どうすれば配列に値を返すことが出来るのでしょうか?
127デフォルトの名無しさん
2017/05/09(火) 02:12:04.57ID:7rjXR/HL スクリプトのちぐはぐさから見て、おそらくコピペ継ぎはぎだけで体系的な学習を全くしてないと思われる
書籍のたのしいRubyを買えとまでは言わないので、なんかどっか適当なアフィサイトででも勉強するといいよ
制御構造と変数のスコープについての勉強が足りない
第6章とか第7章とかそのへんまで読破だ
書籍のたのしいRubyを買えとまでは言わないので、なんかどっか適当なアフィサイトででも勉強するといいよ
制御構造と変数のスコープについての勉強が足りない
第6章とか第7章とかそのへんまで読破だ
128デフォルトの名無しさん
2017/05/09(火) 02:21:33.84ID:7rjXR/HL 最初のスクリプト修正
input = gets.chomp
s1,s2,s3 = input.split(" ")
a = s1.split(//)
b = s2.split(//)
c = s3.split(//)
p a,b,c
次のやつの例
input = gets.chomp
arr = input.split(" ")
result = []
arr.each do |s|
result << s.split(//)
end
result.each do |e|
p e
end
うまく処理が行われるように変数名を変えたのがポイントであるが眠いので説明はほかの人に譲る
とにかく基礎知識が足りないので焦らずにまずは変数とかそのへんの解説を読むのだよ
input = gets.chomp
s1,s2,s3 = input.split(" ")
a = s1.split(//)
b = s2.split(//)
c = s3.split(//)
p a,b,c
次のやつの例
input = gets.chomp
arr = input.split(" ")
result = []
arr.each do |s|
result << s.split(//)
end
result.each do |e|
p e
end
うまく処理が行われるように変数名を変えたのがポイントであるが眠いので説明はほかの人に譲る
とにかく基礎知識が足りないので焦らずにまずは変数とかそのへんの解説を読むのだよ
129デフォルトの名無しさん
2017/05/09(火) 02:28:47.25ID:7rjXR/HL 追記、1行で書くアホが湧くかもしれないがその人は自分のことしか考えてないので現時点では無視してよい
あなたに必要なのは基礎なのだから
ではお先におやすみなさい
あなたに必要なのは基礎なのだから
ではお先におやすみなさい
130デフォルトの名無しさん
2017/05/09(火) 02:39:10.44ID:lu7Bmdm9131デフォルトの名無しさん
2017/05/09(火) 07:31:40.84ID:k6HrUJzH 違う
ローカル変数やブロック変数の動作を全く理解してないのだ
だから自己代入してバグっても何も思わない
ローカル変数やブロック変数の動作を全く理解してないのだ
だから自己代入してバグっても何も思わない
132デフォルトの名無しさん
2017/05/09(火) 07:34:19.28ID:WySm2t9713387
2017/05/09(火) 20:42:21.42ID:ptoav/qt 結局、会社出入のSIの担当に個人的にお願いしました。
10分で数行追加して解決してくれました。Win10の問題とファイル100ケ問題2点があったとか。
自分で解決するのは無理でしたね。
解決してくれた方には10万くらい謝礼を考えていたのですが、この方には辞退されてしまいましたので
二人で銀座のクラブで豪遊して、逆に初任給相当くらいぶっとばしてしまった・・・
孫の写真をEOS-1D X で撮影した数千枚をぜんぶYAhooBOXにに保管していて、家内に怒られており
苛立ってしまい、お騒がせして申し訳ございませんでした。
10分で数行追加して解決してくれました。Win10の問題とファイル100ケ問題2点があったとか。
自分で解決するのは無理でしたね。
解決してくれた方には10万くらい謝礼を考えていたのですが、この方には辞退されてしまいましたので
二人で銀座のクラブで豪遊して、逆に初任給相当くらいぶっとばしてしまった・・・
孫の写真をEOS-1D X で撮影した数千枚をぜんぶYAhooBOXにに保管していて、家内に怒られており
苛立ってしまい、お騒がせして申し訳ございませんでした。
134デフォルトの名無しさん
2017/05/09(火) 20:45:26.48ID:SmlWSda1 書き込みから頭の悪さが伝わってくるな
135デフォルトの名無しさん
2017/05/09(火) 21:36:06.57ID:V+0O6ahJ 孫もいるのに>>92みたいなこと言うのか……
136デフォルトの名無しさん
2017/05/09(火) 22:04:56.60ID:AJpeMRYn だって娘ってもうおばさんじゃん
137デフォルトの名無しさん
2017/05/10(水) 21:24:41.33ID:mz/WKowH まともに取り合ってれば俺が10万もらえたんか?
138デフォルトの名無しさん
2017/05/10(水) 21:38:57.44ID:T9zZBiea いや、可哀想だが、鳥取も被害者だろ。
139デフォルトの名無しさん
2017/05/11(木) 12:25:59.80ID:3ycP24fA 一発だけなら誤射かもしれない
140デフォルトの名無しさん
2017/05/11(木) 22:46:17.95ID:SAAdjKtg MonoにあるIronRuby(ir.exe)でRubyスクリプトを走らせようとすると
unknown: no such file to load -- gem_prelude.rb (LoadError)
というエラーが出て終了してしまいます。
どうすれば良いでしょうか?
unknown: no such file to load -- gem_prelude.rb (LoadError)
というエラーが出て終了してしまいます。
どうすれば良いでしょうか?
141デフォルトの名無しさん
2017/05/11(木) 22:59:59.49ID:jM8xSb+p IronRubyは全くメンテされてないゴミ
諦めてC#使おう
諦めてC#使おう
142デフォルトの名無しさん
2017/05/12(金) 00:42:07.19ID:lh1VWFPT 「gem_prelude.rb LoadError」で検索!
初心者は、paiza.IO, codepad などで、ブラウザでプログラミングするのが簡単
初心者は、paiza.IO, codepad などで、ブラウザでプログラミングするのが簡単
143デフォルトの名無しさん
2017/05/12(金) 03:23:42.25ID:KfydbfhB Rubyとは直接関係ないのですが
RubyMineの補完機能で、入力した段階で自動的に一番上が選択されるようにするにはどうすれば良いのでしょうか?
(IntelliJの方では最初から自動的に選択されてました)
RubyMineとIntelliJの比較
http://i.imgur.com/fgCFVJa.png
http://i.imgur.com/yv6XKJk.png
RubyMineを使ってる方で分かる方はいらっしゃらないでしょうか
RubyMineの補完機能で、入力した段階で自動的に一番上が選択されるようにするにはどうすれば良いのでしょうか?
(IntelliJの方では最初から自動的に選択されてました)
RubyMineとIntelliJの比較
http://i.imgur.com/fgCFVJa.png
http://i.imgur.com/yv6XKJk.png
RubyMineを使ってる方で分かる方はいらっしゃらないでしょうか
144デフォルトの名無しさん
2017/05/12(金) 19:32:54.36ID:HOHLzPdy Rubyでスクレイピングしたいんですが、串がうまく動かないです。串はTorを使いたいと思います。
p "Creating tor agent..."
p "My raw ip address is #{Mechanize.new.get('http://ifconfig.me/ip').body}"
tor ||= TorPrivoxy::Agent.new '127.0.0.1', '', {8118 => 9150} do |agent|
begin
sleep 10
p "My ip address is now chenged to #{agent.ip}"
p tor.get("http://ja.wikipedia.org/wiki/Privoxy").encode(Encoding::SJIS)
rescue
p "エラーです".encode(Encoding::SJIS)
end
end
p "Creating tor agent..."
p "My raw ip address is #{Mechanize.new.get('http://ifconfig.me/ip').body}"
tor ||= TorPrivoxy::Agent.new '127.0.0.1', '', {8118 => 9150} do |agent|
begin
sleep 10
p "My ip address is now chenged to #{agent.ip}"
p tor.get("http://ja.wikipedia.org/wiki/Privoxy").encode(Encoding::SJIS)
rescue
p "エラーです".encode(Encoding::SJIS)
end
end
145デフォルトの名無しさん
2017/05/13(土) 06:47:49.32ID:nrviLaTM どの行で、どんなエラーメッセージが出るの?
そのエラーメッセージで検索すれば?
そのエラーメッセージで検索すれば?
146デフォルトの名無しさん
2017/05/14(日) 09:17:54.13ID:c1+aTdNX rubyでは現在の行とファイルをだすような__LINE__とか__FILE__はないんですか?
147デフォルトの名無しさん
2017/05/14(日) 09:32:49.01ID:4OWrar4G 標準的な動作で不足であるという場合
その不足な動作自体を満たすライブラリの有無を質問するのではなく
そもそも何のためにそれが必要だと考えているのかを述べてみなされ
その不足な動作自体を満たすライブラリの有無を質問するのではなく
そもそも何のためにそれが必要だと考えているのかを述べてみなされ
148デフォルトの名無しさん
2017/05/14(日) 09:51:16.72ID:9iFdkmzT >>146
ある
ある
149デフォルトの名無しさん
2017/05/14(日) 10:01:11.30ID:c1+aTdNX 》》148
ありがとうごぞいます
ありがとうごぞいます
150デフォルトの名無しさん
2017/05/14(日) 21:59:53.35ID:YpRHpm2r Rubyの作者の技術力ってどのくらいなの?
低くはないとおもうけど、そんなにたかくもないの?
低くはないとおもうけど、そんなにたかくもないの?
151デフォルトの名無しさん
2017/05/14(日) 22:07:52.12ID:2j/fEy8A マルチスレッドや文字コード系はあんま詳しくないから詳しい人に手伝って貰ってたとか日経ソフトウェアの昔の対談記事で書いてたな。
ギークって程じゃないと言う印象。
ギークって程じゃないと言う印象。
152デフォルトの名無しさん
2017/05/14(日) 22:11:20.20ID:3p+3tmMb 技術力は知らんが心の底からプログラミング好きなんだなぁとは思うな、言語オタクだから言語作ったそうだし
153デフォルトの名無しさん
2017/05/14(日) 22:25:40.71ID:YpRHpm2r >>151
マルチスレッドや文字コードの仕様もぜんぶ知ってないと、技術力は高いといえない?
日本で技術力が高い人ってどのくらいいるんでしょう。
Ruby作った人でも技術力が高くないといわれたら、道が険しすぎる。
マルチスレッドや文字コードの仕様もぜんぶ知ってないと、技術力は高いといえない?
日本で技術力が高い人ってどのくらいいるんでしょう。
Ruby作った人でも技術力が高くないといわれたら、道が険しすぎる。
154デフォルトの名無しさん
2017/05/14(日) 22:32:18.91ID:DiPyQd5B 言語処理系、特にパフォーマンスを度外視したスクリプト言語の実装ってそんなに難しくないよ
Rubyの互換実装って驚くほど短期間で作られたりするし
Rubyの互換実装って驚くほど短期間で作られたりするし
155デフォルトの名無しさん
2017/05/14(日) 22:40:30.08ID:0pt2h6WS 言語処理系の実装って、経験のない人はなぜかそれがすごく高度なことだというイメージを持ってるよな
やってみたらわかるけど、動かすだけなら意外と全然難しくないよ
ゲームとか作る方がずっと難しい
やってみたらわかるけど、動かすだけなら意外と全然難しくないよ
ゲームとか作る方がずっと難しい
156デフォルトの名無しさん
2017/05/14(日) 22:58:19.67ID:zv0DKnzD 思ったほどには「あらゆることを深く知っている」必要はないよね
言語作成センスと時の運とコミュニティへの頭の下げ方だと思うわ
言語作成センスと時の運とコミュニティへの頭の下げ方だと思うわ
157デフォルトの名無しさん
2017/05/14(日) 23:12:20.70ID:3p+3tmMb 「実装」なら俺でもできるが「設計」はなぁ
158デフォルトの名無しさん
2017/05/14(日) 23:24:09.84ID:Xbcx3KQE159デフォルトの名無しさん
2017/05/14(日) 23:29:39.07ID:Xbcx3KQE160デフォルトの名無しさん
2017/05/14(日) 23:44:43.80ID:SkVs727u あらゆる分野においてエキスパートじゃないと技術があるとは言えない、と本気で思い込んでる
人がちらほらいるようで
そんなウルトラスーパーハカーなんて世界に何人いることやら
人がちらほらいるようで
そんなウルトラスーパーハカーなんて世界に何人いることやら
161デフォルトの名無しさん
2017/05/14(日) 23:57:58.99ID:4upkAWVg これでも貼ってみるか
マツドサイエンティスト・研究日誌 保存版 システムエンジニアリング(その4) 超人にならなくていい
ttp://anoda.web.fc2.com/weblog/20050424.html
日本は完璧主義だからか平気で完璧超人を求めるよね
マツドサイエンティスト・研究日誌 保存版 システムエンジニアリング(その4) 超人にならなくていい
ttp://anoda.web.fc2.com/weblog/20050424.html
日本は完璧主義だからか平気で完璧超人を求めるよね
162デフォルトの名無しさん
2017/05/14(日) 23:58:21.34ID:aG/BUJsi 多分「完成度」の基準がみんなバラバラすぎて上手くコミュニケーションが取れてないな
Brainfuck系言語というか、いわゆる難解プログラミング言語みたいなジョークみたいな物だったら
確かに「実装」は簡単
が、Ruby、PHP、Pythoみたいに一つの主要言語にまで昇華させるには
言語設計まで含めてめちゃくちゃ大変な作業が必要になる
なので
Rubyっぽい、プログラム言語っぽく動く何かを作る→頑張れば出来る
RubyやPythonの設計思想を受け継ぎながら、独自の言語設計に基づいて言語を作る→並大抵の人間には出来ない代物
っていう感じかな「
Brainfuck系言語というか、いわゆる難解プログラミング言語みたいなジョークみたいな物だったら
確かに「実装」は簡単
が、Ruby、PHP、Pythoみたいに一つの主要言語にまで昇華させるには
言語設計まで含めてめちゃくちゃ大変な作業が必要になる
なので
Rubyっぽい、プログラム言語っぽく動く何かを作る→頑張れば出来る
RubyやPythonの設計思想を受け継ぎながら、独自の言語設計に基づいて言語を作る→並大抵の人間には出来ない代物
っていう感じかな「
163デフォルトの名無しさん
2017/05/15(月) 00:04:17.64ID:6XCGPePS164デフォルトの名無しさん
2017/05/15(月) 08:25:41.29ID:AFguA/nP だからだれなんだよそんな偉そうなのは
165デフォルトの名無しさん
2017/05/15(月) 09:26:37.14ID:jzzH2kBs RubyはMatzが数学苦手なのが良かった
結果、平均的なPGの頭に合った言語になった
頭の良すぎる人が作った言語は結局一部の人間のオナニーで終わっちゃう
FortranとかCとかJavaとかC#とかは頭の良い人たちが本気でボリューム層向けに作った完璧な「製品」だけど、
そういうのに比べるとRubyはまあ適度な頭の緩さが馴染みやすいよね
結果、平均的なPGの頭に合った言語になった
頭の良すぎる人が作った言語は結局一部の人間のオナニーで終わっちゃう
FortranとかCとかJavaとかC#とかは頭の良い人たちが本気でボリューム層向けに作った完璧な「製品」だけど、
そういうのに比べるとRubyはまあ適度な頭の緩さが馴染みやすいよね
166デフォルトの名無しさん
2017/05/15(月) 21:51:39.50ID:xoO/l6gC167デフォルトの名無しさん
2017/05/17(水) 01:45:08.88ID:y0sg8W2t それいいな。俺も困った時に使ってみよう
たくさんのひとがリツイしてたから、自分で探したら出てくるかもよ。
たくさんのひとがリツイしてたから、自分で探したら出てくるかもよ。
168デフォルトの名無しさん
2017/05/17(水) 04:25:58.23ID:Q6ZDgQU6 うーん、あまりにも初心者過ぎてあれなんだが、プログラミングを学び始めて
まずrubyを真面目にやろうと思ったんだ。他の言語もさわりはしたんだけどね。
でも、実際に環境を構築しようとrubyをインストールして、
環境変数のPathの設定も本の通りに確認したんだけど
実際に打つと#とかで内部コマンド〜ファイルとして認識されていませんって
出るんよ、 Pathって打ってみるときちんとCドライブのRubyのbinを
参照?してるんだけど・・・私はどこを間違えているんだろう。
まずrubyを真面目にやろうと思ったんだ。他の言語もさわりはしたんだけどね。
でも、実際に環境を構築しようとrubyをインストールして、
環境変数のPathの設定も本の通りに確認したんだけど
実際に打つと#とかで内部コマンド〜ファイルとして認識されていませんって
出るんよ、 Pathって打ってみるときちんとCドライブのRubyのbinを
参照?してるんだけど・・・私はどこを間違えているんだろう。
169デフォルトの名無しさん
2017/05/17(水) 05:58:15.48ID:AoGXWMN0170デフォルトの名無しさん
2017/05/17(水) 06:20:15.54ID:Q6ZDgQU6 >>169
そですねー、私もまずコミュニティ的なものを探したんですけど
勉強会みたいなのはあるのに、こういった掲示板的なものは
みつけられないんですよね。初心者はわりかしきついですね。
相変わらず四苦八苦してますw
2chはマイナーなものは、あまり素人は歓迎されない気もしますね。
そですねー、私もまずコミュニティ的なものを探したんですけど
勉強会みたいなのはあるのに、こういった掲示板的なものは
みつけられないんですよね。初心者はわりかしきついですね。
相変わらず四苦八苦してますw
2chはマイナーなものは、あまり素人は歓迎されない気もしますね。
171デフォルトの名無しさん
2017/05/17(水) 06:20:34.43ID:+84GJVyA まさか生のrubyコードをコマンドプロンプトに『打ち込んでるんじゃ
172デフォルトの名無しさん
2017/05/17(水) 06:34:58.31ID:AoGXWMN0173デフォルトの名無しさん
2017/05/17(水) 06:50:32.62ID:AoGXWMN0174デフォルトの名無しさん
2017/05/17(水) 06:53:25.51ID:+84GJVyA きっと「#」で始まる行をコピペしてコマンドプロンプトにそのまま張り付けたんじゃないのかね
binにパス通ってるならirb起動すれば幸せになれるかもね
binにパス通ってるならirb起動すれば幸せになれるかもね
175デフォルトの名無しさん
2017/05/17(水) 07:06:09.77ID:Q6ZDgQU6 >>171
あははw
いろいろあって混乱してたんだw
本にもテキストエディタで書けって書いてあったw
その前にPath関係の確認させられてたから勘違いしてしまった。
すごいあっさり大事なことが色々かいてあるとこ見逃してたw
C言語の勉強をrubyの勉強する前に触っておこうと思って
コンパイラに書いてたような感覚でやってしまったw
rubyのさわりもブラウザ上で書く感じの勉強だったんだ
だ、だから違うんよ?うん、違う違う。知ってた知ってた。
あははw
いろいろあって混乱してたんだw
本にもテキストエディタで書けって書いてあったw
その前にPath関係の確認させられてたから勘違いしてしまった。
すごいあっさり大事なことが色々かいてあるとこ見逃してたw
C言語の勉強をrubyの勉強する前に触っておこうと思って
コンパイラに書いてたような感覚でやってしまったw
rubyのさわりもブラウザ上で書く感じの勉強だったんだ
だ、だから違うんよ?うん、違う違う。知ってた知ってた。
176デフォルトの名無しさん
2017/05/17(水) 07:15:15.40ID:Q6ZDgQU6 まあ、初心者ってこういうくだらない質問するもんだから、許して笑ってくれさい。
そして、そういう初心者用のコミュニティは作れないっていうか、
初心者が作っても人集まらないだろうからここでできれば助けて下さい。
rubyスレ希少なんです・・・という初心者の声なのでした。
そして、そういう初心者用のコミュニティは作れないっていうか、
初心者が作っても人集まらないだろうからここでできれば助けて下さい。
rubyスレ希少なんです・・・という初心者の声なのでした。
177デフォルトの名無しさん
2017/05/17(水) 07:20:26.73ID:AoGXWMN0 >>176
俺はそういうのが作りたいんだー
俺はそういうのが作りたいんだー
178デフォルトの名無しさん
2017/05/17(水) 07:21:52.55ID:AoGXWMN0 2chって「初心者」って言葉に食いつく妖怪もいるからなぁ
179デフォルトの名無しさん
2017/05/17(水) 07:35:16.07ID:zoT6JpA4 OKWAVEとかどう?
180デフォルトの名無しさん
2017/05/17(水) 07:44:52.13ID:AoGXWMN0181デフォルトの名無しさん
2017/05/17(水) 07:53:53.40ID:S++XgTKO >>172
掲示板を立ち上げること自体は難しくないけど、管理維持するには住人やISPなどのバックアップが必要不可欠
個人で運営する場合は、住人による自治が基本になるしそれで対応しきれない案件に関しては管理人やISPによる強権発動で対応
これらの支援を受けられなくなって久しいし、荒らしに対応できなくなるのは目に見えていて長期的維持を望めない
あと技術の初心者は構わないがコミュ力初心者は遠慮願わないと。今や「初心者は免罪符ではない」などと言われることも無くなったしなぁ・・・
掲示板を立ち上げること自体は難しくないけど、管理維持するには住人やISPなどのバックアップが必要不可欠
個人で運営する場合は、住人による自治が基本になるしそれで対応しきれない案件に関しては管理人やISPによる強権発動で対応
これらの支援を受けられなくなって久しいし、荒らしに対応できなくなるのは目に見えていて長期的維持を望めない
あと技術の初心者は構わないがコミュ力初心者は遠慮願わないと。今や「初心者は免罪符ではない」などと言われることも無くなったしなぁ・・・
182デフォルトの名無しさん
2017/05/17(水) 07:55:53.94ID:AoGXWMN0 >>179
そこのRubyカテゴリは1ヶ月眠ってるがな
そこのRubyカテゴリは1ヶ月眠ってるがな
183デフォルトの名無しさん
2017/05/17(水) 08:48:21.65ID:vMnI7rwx 2ch以外で質問できそうな所っていうとこの辺のサイトか
質問できる所
テラテイル
https://teratail.com/
スタック・オーバーフロー
https://ja.stackoverflow.com/
Rubyの記事投稿が多い所
Qiita
http://qiita.com/
質問できる所
テラテイル
https://teratail.com/
スタック・オーバーフロー
https://ja.stackoverflow.com/
Rubyの記事投稿が多い所
Qiita
http://qiita.com/
184デフォルトの名無しさん
2017/05/17(水) 09:02:29.68ID:AoGXWMN0 >>183
teratailもstackoverflowも質問することがはっきりしてる場合なんだよね
ある程度のレベルがいるし。
Qiitaいいたっては聞くというより情報発信サイトかと思われる
でも
今Qiitaに登録したったw
teratailもstackoverflowも質問することがはっきりしてる場合なんだよね
ある程度のレベルがいるし。
Qiitaいいたっては聞くというより情報発信サイトかと思われる
でも
今Qiitaに登録したったw
185デフォルトの名無しさん
2017/05/17(水) 10:02:00.71ID:vwwaD4yq186デフォルトの名無しさん
2017/05/17(水) 15:22:05.45ID:O9qCgXnQ >>183
SOのjpはやめとけ
SOのjpはやめとけ
187デフォルトの名無しさん
2017/05/17(水) 15:34:35.54ID:P4LQUJ7D188デフォルトの名無しさん
2017/05/17(水) 15:58:25.56ID:JDHyCaYk 日本語のスタックオーバーフローって検索の上位に出てこないイメージ
ってことは・・・・・・
ってことは・・・・・・
189デフォルトの名無しさん
2017/05/17(水) 18:45:28.28ID:AoGXWMN0 Ruby2.4のリファレンスマニュアルをダウンロードするにはどうしたらいいのー
190デフォルトの名無しさん
2017/05/17(水) 19:08:51.18ID:+84GJVyA 階層構造を保持したままローカルに保存できるソフトでも使えば
191デフォルトの名無しさん
2017/05/17(水) 19:20:27.17ID:t1VY0/wg 昔はzipとかなかったっけ
192デフォルトの名無しさん
2017/05/17(水) 19:24:12.98ID:AoGXWMN0 古いバージョンのマニュアルと最新のならダウンロードできるようになってるんだけどね
193デフォルトの名無しさん
2017/05/17(水) 22:49:59.99ID:OcBoOJyM >>164,166
どこの誰かは覚えてないといったけど、ふと思って探してみたら、あっさり見つかった。
ttps://mobile.twitter.com/kmizu/status/857032083046256641
> ソフトウェア分野一般に通じる「技術力」というのは実際には
> 存在しないのにあると信じられている幻想だと思う。その幻想が
> 広く信じられている結果として、たとえば著名プログラミング言語の
> 作者はスーパープログラマのように思われがちだとかいう現象が発生する。
たしかこれだった。
どこの誰かは覚えてないといったけど、ふと思って探してみたら、あっさり見つかった。
ttps://mobile.twitter.com/kmizu/status/857032083046256641
> ソフトウェア分野一般に通じる「技術力」というのは実際には
> 存在しないのにあると信じられている幻想だと思う。その幻想が
> 広く信じられている結果として、たとえば著名プログラミング言語の
> 作者はスーパープログラマのように思われがちだとかいう現象が発生する。
たしかこれだった。
194デフォルトの名無しさん
2017/05/17(水) 23:14:17.43ID:Id1y7eqA JavaとかC#の作者は実際凄いらしいね
Matzは祭り上げられてる割にはRuby以外でほとんど実績らしい実績を聞かない
Matzは祭り上げられてる割にはRuby以外でほとんど実績らしい実績を聞かない
195デフォルトの名無しさん
2017/05/17(水) 23:20:38.33ID:y0sg8W2t JavaとかC#の作者の名前は?
Matz個人、人間一人と渡り合えるなんて、すごい人だろうね。
Matz個人、人間一人と渡り合えるなんて、すごい人だろうね。
196デフォルトの名無しさん
2017/05/17(水) 23:23:53.49ID:Id1y7eqA197デフォルトの名無しさん
2017/05/17(水) 23:25:17.03ID:y0sg8W2t 「チーフアーキテクトは」ってことは
それ以外の役職の人がいるってこと?
Matz一人に対して複数の人があつまらないと
対抗できないってのはちょっと恥ずかしくね?
それ以外の役職の人がいるってこと?
Matz一人に対して複数の人があつまらないと
対抗できないってのはちょっと恥ずかしくね?
198デフォルトの名無しさん
2017/05/17(水) 23:27:09.81ID:SKu/yZ4u >>197
それを言うならRubyだってMatzが全部決めてる訳じゃないよ
それを言うならRubyだってMatzが全部決めてる訳じゃないよ
199デフォルトの名無しさん
2017/05/17(水) 23:27:10.61ID:y0sg8W2t200デフォルトの名無しさん
2017/05/17(水) 23:27:20.00ID:Noyf0zx+ コンパイラとインタプリタじゃ難易度全然違うしな。
C#の作者なんかはTurbo Pascal,同C,同C++,Delphi,C++Builder,Visual J++,VC#,TypeScriptと、言語もだけどライブラリも設計してる。
ベテラン中のベテラン。
センスも経験も数段上。
C#の作者なんかはTurbo Pascal,同C,同C++,Delphi,C++Builder,Visual J++,VC#,TypeScriptと、言語もだけどライブラリも設計してる。
ベテラン中のベテラン。
センスも経験も数段上。
201デフォルトの名無しさん
2017/05/17(水) 23:28:28.62ID:Noyf0zx+ あ、言語はオリジナルはC#とTypeScriptだけだから、コンパイラとライブラリの設計がほとんどやね。
202デフォルトの名無しさん
2017/05/17(水) 23:30:32.17ID:zoT6JpA4 JavaとかC#はチームで作ったものだからね
基本的な部分はチーフがやったとしても全体を作り上げたのはチームだから
チーフがすべての部分についてウルトラスーパーハカーである必要はないんだよ
基本的な部分はチーフがやったとしても全体を作り上げたのはチームだから
チーフがすべての部分についてウルトラスーパーハカーである必要はないんだよ
203デフォルトの名無しさん
2017/05/17(水) 23:46:22.36ID:0i9RfNds Javaは忘れたがC#はアンダース・ヘルスバーグって人が作ったもん、余談だがDelphi作った人だからC#はとてもDelphiくさい
204デフォルトの名無しさん
2017/05/17(水) 23:54:49.77ID:q+Jp+PKK 日本人って何かにつけて神とあがめ立てて思考停止する奴が多いよね。なぜそうなのか、どうやったのかとか考えようとしない
205デフォルトの名無しさん
2017/05/18(木) 00:02:07.55ID:d+oDyp66 4月に、Win10の、Windows Subsystem for Linux(WSL)の大きな更新があった。
誰か、WSLから、Rubyを使っている人、いる?
居たら、報告して
日経Linux 6月号に、WSL の特集あり
誰か、WSLから、Rubyを使っている人、いる?
居たら、報告して
日経Linux 6月号に、WSL の特集あり
206デフォルトの名無しさん
2017/05/18(木) 00:36:47.85ID:HnnQPjdl >>193
ツイートが連続してて、そのリンクはろうとしたけどめんどくさいので、かわりにこれで。
ttp://i.imgur.com/uCg2V4P.png
だんだん思い出したけど、スーパーハッカーとかスーパープログラマーで調べてたんだった。
ルビーの作者でもスーパープログラマーじゃないなら、どうしていいのかわかんないな。日本にいなさそう。
ツイートが連続してて、そのリンクはろうとしたけどめんどくさいので、かわりにこれで。
ttp://i.imgur.com/uCg2V4P.png
だんだん思い出したけど、スーパーハッカーとかスーパープログラマーで調べてたんだった。
ルビーの作者でもスーパープログラマーじゃないなら、どうしていいのかわかんないな。日本にいなさそう。
207デフォルトの名無しさん
2017/05/18(木) 00:42:18.01ID:mKKG/7h8 すごいプログラマだけどもスーパープログラマーという方向性の人ではないと思う
なんというか、仮面ライダーとウルトラマンくらい傾向が違う
だいたい正義の味方のだいたい超能力人間なんだけど、まとめると違和感
なんというか、仮面ライダーとウルトラマンくらい傾向が違う
だいたい正義の味方のだいたい超能力人間なんだけど、まとめると違和感
208デフォルトの名無しさん
2017/05/18(木) 01:07:17.85ID:dz2c6KN5209デフォルトの名無しさん
2017/05/18(木) 02:12:28.50ID:k2/bnmai こんなレベルの人の集まりかと思わせる雑談だな
これもパートスレの弊害だろ
これもパートスレの弊害だろ
210デフォルトの名無しさん
2017/05/18(木) 02:28:27.52ID:n0l9x2sF211デフォルトの名無しさん
2017/05/18(木) 07:40:51.40ID:HnnQPjdl212デフォルトの名無しさん
2017/05/18(木) 07:58:52.21ID:jHW9tOS8 設計技術と実装技術って無関係とは言わずとも別物だけど区別出来ていない人は多い
プログラミングは後者である
プログラミングは後者である
213デフォルトの名無しさん
2017/05/18(木) 07:58:54.30ID:uGmNBL+O Matzさんはプログラミング言語の知識は凄いけど最適化周りは今一つってのは共通認識だと思っていたが…昔からずっと「Rubyは遅い」って皆でブーブー言ってたじゃない
でも前者の能力持ってる人は稀有だからやっぱりスーパープログラマーに違いないと思うよ
アニメーターの大塚康生さんが「宮さん(宮崎駿)は描くの早いけど絵は上手くない」って評してるけどMatzはプログラミング言語界の宮崎駿みたいなもんだよ
ある方向は秀でてるけどある方向はそれほどでもない。だけどスーパー○○には違いない
でも前者の能力持ってる人は稀有だからやっぱりスーパープログラマーに違いないと思うよ
アニメーターの大塚康生さんが「宮さん(宮崎駿)は描くの早いけど絵は上手くない」って評してるけどMatzはプログラミング言語界の宮崎駿みたいなもんだよ
ある方向は秀でてるけどある方向はそれほどでもない。だけどスーパー○○には違いない
214デフォルトの名無しさん
2017/05/18(木) 08:10:53.60ID:jHW9tOS8 Rubyが遅いのはコーディング技術の不足よりシステム設計の制約だと思っていたけど違うのか?
あのシステム設計がJIT化の障害にもなっているみたいだし、Intelのプログラマー陣に書かせたら
爆速に!とはいかないと思うんだが
あのシステム設計がJIT化の障害にもなっているみたいだし、Intelのプログラマー陣に書かせたら
爆速に!とはいかないと思うんだが
215デフォルトの名無しさん
2017/05/18(木) 08:52:05.04ID:a7kCQWZC 愚直なプログラミングだからドキュメントなしでやってこられたけど、未だにドキュメントが完成してないのは驚きである
216デフォルトの名無しさん
2017/05/18(木) 09:02:19.96ID:mKKG/7h8 ○○がないなんて非常識で公式やる気なさすぎでウチでは使えないよ、という人たちにスルーされたからこそ今があるのでは
Linuxみたいなもんだw
Linuxみたいなもんだw
217デフォルトの名無しさん
2017/05/18(木) 09:40:39.90ID:W+cXBvNa218デフォルトの名無しさん
2017/05/18(木) 10:21:34.30ID:k2/bnmai いまさらかもしれないがプログラマってすごく偏ってるのかな
存在も考え方も
存在も考え方も
219デフォルトの名無しさん
2017/05/18(木) 12:17:40.22ID:nGaj6J50 C#の作者は普通の企業戦士としてクソ有能らしいね
ハッカーやアーキテクトとしての専門的技能を十二分に備えた上で、
マネージャとしてチームを率いて製品を作り上げられる超人
ハッカーやアーキテクトとしての専門的技能を十二分に備えた上で、
マネージャとしてチームを率いて製品を作り上げられる超人
220デフォルトの名無しさん
2017/05/18(木) 15:06:50.15ID:6nNpr9wz Rubyが普及(ω)したのはドキュメントを書かなかったからだよ
221デフォルトの名無しさん
2017/05/19(金) 00:02:38.38ID:JAygot/q 軽々しく他人のことを神だの超人だの言っちゃう人って実力は大したことないのにプライドだけ高いんだなろうな
しかも多分その自覚が無い。自分の能力が大したことないことを自覚できていればそういう表現の仕方はしないはずだし
神格化するより研究し自分の能力を伸ばすことを考えるはず
しかも多分その自覚が無い。自分の能力が大したことないことを自覚できていればそういう表現の仕方はしないはずだし
神格化するより研究し自分の能力を伸ばすことを考えるはず
222デフォルトの名無しさん
2017/05/19(金) 01:30:43.67ID:4+vIujWP 一流を認められない人に成長はない
223デフォルトの名無しさん
2017/05/19(金) 01:45:17.48ID:ge9DZPXJ よっぽど何かコンプレックスあるんだろうねこの人
ああ、この人ってのはこのスレに何日も同じようなことグチグチグチグチとえんえん書き続けてる人ね
ああ、この人ってのはこのスレに何日も同じようなことグチグチグチグチとえんえん書き続けてる人ね
224デフォルトの名無しさん
2017/05/19(金) 06:30:50.15ID:eboDhNue 矛盾を含んだ文章ってスパゲッティコードみたいだよね
225デフォルトの名無しさん
2017/05/19(金) 06:33:50.64ID:eboDhNue そうだ
Rubyが好きなのは
Pythonみたいにインデント強制されないし
Javaみたいに大文字小文字まで強制されないからなんだ
Rubyが好きなのは
Pythonみたいにインデント強制されないし
Javaみたいに大文字小文字まで強制されないからなんだ
226デフォルトの名無しさん
2017/05/19(金) 08:24:53.47ID:wMmgU2C4227デフォルトの名無しさん
2017/05/19(金) 08:29:07.55ID:ax6ergs3 自分で何もできないから他人に嫉妬する、まあ俺のことなんですけどね
228デフォルトの名無しさん
2017/05/19(金) 15:13:31.24ID:4aXBqFa1 >>225
Javaのは強制でないだろ
Javaのは強制でないだろ
229デフォルトの名無しさん
2017/05/19(金) 23:21:36.00ID:vjfQYplO 実際に結果を出した人は
その結果の現実における実在性から人生に安定感なり心の余裕が出てくるように見えますよね。
その結果の現実における実在性から人生に安定感なり心の余裕が出てくるように見えますよね。
230デフォルトの名無しさん
2017/05/19(金) 23:29:01.51ID:JAygot/q 本当の天才や神もたまにいるけどきわめて稀。ほとんどの場合は普通の能ある人
大抵の場合聞き上手&話し上手でコミュ力が高いのと論理的な思考・判断が出来る
嫉妬している暇があるなら成功している人を分析した方が建設的だし結果を出す近道だろう
大抵の場合聞き上手&話し上手でコミュ力が高いのと論理的な思考・判断が出来る
嫉妬している暇があるなら成功している人を分析した方が建設的だし結果を出す近道だろう
231デフォルトの名無しさん
2017/05/19(金) 23:33:19.60ID:ivu0jzcH >>223
キチガイに絡まれたスレは悲惨だな
キチガイに絡まれたスレは悲惨だな
232デフォルトの名無しさん
2017/05/20(土) 04:52:57.18ID:Gofa0r8M キチガイか・・・
この言葉の取り方も人それぞれだろうけど。
もっと適当な新しい言葉はないものかね
ネットコミュニティで使えるような・・・
粘着、凝り固まった、共鳴しがたい論理、複数人を装うタイプ
ついでに嫉妬、妬みもいれとこか
そんな人をいう言葉
この言葉の取り方も人それぞれだろうけど。
もっと適当な新しい言葉はないものかね
ネットコミュニティで使えるような・・・
粘着、凝り固まった、共鳴しがたい論理、複数人を装うタイプ
ついでに嫉妬、妬みもいれとこか
そんな人をいう言葉
233デフォルトの名無しさん
2017/05/20(土) 05:05:32.15ID:Gofa0r8M そんなことより
誰かマジで教えてくれないか
herokuでRubyを動かしたいんや
RoRじゃなくてただのシンプルなRuby
Ruby環境のあるレンサバだとindex.rbで動くやん
あれと同じようにwebページを表示したい
windows7でやってる
gitでpushまでは出来るのだけど
どうしてもトップページが表示できない
Qiitaとかの情報はぐぐりまくってるいのだけど
ピッタリのものはない
php,node.jsがQiita情報では優勢や
rackというのがキーワードだということまではわかった
Gemfile,Gemfile.lock,Procfile,config.ru
も整えたつもりなのだけど
中身がまずいんやろなぁ
もういちど書くけど
RoRじゃなくて素のRubyで
一番シンプルにsinatraとかフレームワークを使わずに
herokuでindex.rbをトップページに表示したい
誰かマジで教えてくれないか
herokuでRubyを動かしたいんや
RoRじゃなくてただのシンプルなRuby
Ruby環境のあるレンサバだとindex.rbで動くやん
あれと同じようにwebページを表示したい
windows7でやってる
gitでpushまでは出来るのだけど
どうしてもトップページが表示できない
Qiitaとかの情報はぐぐりまくってるいのだけど
ピッタリのものはない
php,node.jsがQiita情報では優勢や
rackというのがキーワードだということまではわかった
Gemfile,Gemfile.lock,Procfile,config.ru
も整えたつもりなのだけど
中身がまずいんやろなぁ
もういちど書くけど
RoRじゃなくて素のRubyで
一番シンプルにsinatraとかフレームワークを使わずに
herokuでindex.rbをトップページに表示したい
234デフォルトの名無しさん
2017/05/20(土) 05:11:20.26ID:Gofa0r8M >>233
これだけじゃ意味が伝わらないかもしれないから
やってることをわかってもらえるようなgithubを
24時間以内に用意するわ
なんせrubyもgithubもherokuもやり始めたばかりの素人なもので
ちょっとしたことでも時間がかかるので24時間以内な
これだけじゃ意味が伝わらないかもしれないから
やってることをわかってもらえるようなgithubを
24時間以内に用意するわ
なんせrubyもgithubもherokuもやり始めたばかりの素人なもので
ちょっとしたことでも時間がかかるので24時間以内な
235デフォルトの名無しさん
2017/05/20(土) 05:17:48.16ID:Q4Q/cnZ9 そして一年が過ぎた・・・
236デフォルトの名無しさん
2017/05/20(土) 05:46:34.75ID:WmFfeyqJ chef, vagrant から、VirtualBox で、Linux
それか、4月に、Win10の、
Windows Subsystem for Linux(WSL)の大きな更新があったから、WSLでするとか?
それか、4月に、Win10の、
Windows Subsystem for Linux(WSL)の大きな更新があったから、WSLでするとか?
237デフォルトの名無しさん
2017/05/20(土) 06:58:20.85ID:S1Z+OH1L IniFile使って初期化ファイルに"a\\b\\c\\r\\z"と書き込んで読み出してみたら
"a\\b\\c\r\\z"になっててハマったという愚痴
"a\\b\\c\r\\z"になっててハマったという愚痴
238デフォルトの名無しさん
2017/05/20(土) 09:13:37.26ID:4bKGcQHk アイデアをかっぱらうと成功者になれる。
239デフォルトの名無しさん
2017/05/20(土) 17:53:17.49ID:5kEYc3L0 >>233
Qiita記事漁ってたらそれっぽいの見つけたけど
やりたい事ってこういう事?
Herokuで単純なrubyスクリプトを定期的に実行する
http://qiita.com/kasei-san/items/909f17c2c42b7e3a8489
Qiita記事漁ってたらそれっぽいの見つけたけど
やりたい事ってこういう事?
Herokuで単純なrubyスクリプトを定期的に実行する
http://qiita.com/kasei-san/items/909f17c2c42b7e3a8489
240デフォルトの名無しさん
2017/05/20(土) 18:12:45.66ID:abd2HxZJ >>233
PythonかNode.jsでAWS Lambdaおすすめ
PythonかNode.jsでAWS Lambdaおすすめ
241デフォルトの名無しさん
2017/05/20(土) 19:00:59.25ID:Gofa0r8M >>239
それは見てなかった
でも最初の設定のgithub元はRailsのようだ
もっと単純にやりたい
どっちかというとこれに近いと思う
http://qiita.com/higuma/items/9baac9e97eeb862ef64e
これどおりにしても動作しなかったけど。
それは見てなかった
でも最初の設定のgithub元はRailsのようだ
もっと単純にやりたい
どっちかというとこれに近いと思う
http://qiita.com/higuma/items/9baac9e97eeb862ef64e
これどおりにしても動作しなかったけど。
242デフォルトの名無しさん
2017/05/20(土) 19:02:15.16ID:Gofa0r8M >>240
先のステップの課題として覚えておくわ
先のステップの課題として覚えておくわ
243デフォルトの名無しさん
2017/05/20(土) 22:54:23.09ID:Gofa0r8M 233の続き
誰かが間違いを指摘してくれることに望みをかけてここに公開する
244のqiitaを参考にしているのだけど
やったこと
githubは
https://github.com/sasisu/aiue01
これからherokuの方へdeploy
そうすると
https://aiue01.herokuapp.com/
このAplication errorのページになる
herokuはheroku/rubyのBuildpacksを適用
何かが足りないか間違えてるか
それとも全く勘違いなことをしているのか
わからない 👀
Rock54: Caution(BBR-MD5:b95868ef2c0ed5e765a4d10ada4cf289)
誰かが間違いを指摘してくれることに望みをかけてここに公開する
244のqiitaを参考にしているのだけど
やったこと
githubは
https://github.com/sasisu/aiue01
これからherokuの方へdeploy
そうすると
https://aiue01.herokuapp.com/
このAplication errorのページになる
herokuはheroku/rubyのBuildpacksを適用
何かが足りないか間違えてるか
それとも全く勘違いなことをしているのか
わからない 👀
Rock54: Caution(BBR-MD5:b95868ef2c0ed5e765a4d10ada4cf289)
244デフォルトの名無しさん
2017/05/21(日) 01:32:34.60ID:Fqssqcja >>240
Pythonスレで言いなよ
Pythonスレで言いなよ
245デフォルトの名無しさん
2017/05/21(日) 02:01:38.54ID:1evlh7eH Herokuの説明書を読んだら?
それか、自分が書いたファイルに、1行ずつ、p を書いて、
変数の内容を表示するとか
まず、どこでエラーが起きたのか、切り分ける。
それがデバッグの基本
それか、自分が書いたファイルに、1行ずつ、p を書いて、
変数の内容を表示するとか
まず、どこでエラーが起きたのか、切り分ける。
それがデバッグの基本
246デフォルトの名無しさん
2017/05/21(日) 07:01:26.49ID:kt8opZkV >>245
まぁな
まぁな
247デフォルトの名無しさん
2017/05/21(日) 21:55:20.21ID:kt8opZkV248デフォルトの名無しさん
2017/05/22(月) 08:26:38.46ID:oFkfOiZj >>206
これはScalaの有名な人だね。調子こいたことを言ってMatzにたしなめられることが複数回あったようだから、逆恨みしてるんだろう。
なお有名な言語の作者たちは互いに尊敬しあってるよ。一流ってそういうもの。
これはScalaの有名な人だね。調子こいたことを言ってMatzにたしなめられることが複数回あったようだから、逆恨みしてるんだろう。
なお有名な言語の作者たちは互いに尊敬しあってるよ。一流ってそういうもの。
249デフォルトの名無しさん
2017/05/22(月) 21:31:51.11ID:fASqKLCq 1.8.xの頃の拡張ライブラリを最近の2.x.xで使えるように改造したいのですが
Rubyの各バージョン間の拡張ライブラリのインターフェイスの差異がまとまっている資料とかないですかね?
Rubyの各バージョン間の拡張ライブラリのインターフェイスの差異がまとまっている資料とかないですかね?
250デフォルトの名無しさん
2017/05/22(月) 23:55:24.58ID:ENAWgACr 『Rubyレシピブック 第3版 303の技』という本を書店に残っているのを偶然見つけたのですが
Ruby1.8〜1.9、JRuby1.5を対象にしているとあり
現行の2.2系、2.3系と互換性があるのかが分からず購入を迷っています
またもしあれば1.8系、1.9系、2.xx系以降の互換性や追加機能をまとめたサイトなどがあれば教えて欲しいです
Ruby1.8〜1.9、JRuby1.5を対象にしているとあり
現行の2.2系、2.3系と互換性があるのかが分からず購入を迷っています
またもしあれば1.8系、1.9系、2.xx系以降の互換性や追加機能をまとめたサイトなどがあれば教えて欲しいです
251デフォルトの名無しさん
2017/05/23(火) 00:15:49.33ID:9lq+WTHz プロジェクトマネージャーとしては絶望的にセンスが無いとは思ったことはある。
252デフォルトの名無しさん
2017/05/23(火) 01:52:19.84ID:OOs1u3xZ Ruby2.0なら使えるんだけどね
それ以前のは「どうして使えないのか」「どこを変えればいいのか」の手間と情報の加減上全く勧めない
問題は2.xの逆引きレシピ本のいいのが現行では無いことだが
それ以前のは「どうして使えないのか」「どこを変えればいいのか」の手間と情報の加減上全く勧めない
問題は2.xの逆引きレシピ本のいいのが現行では無いことだが
253デフォルトの名無しさん
2017/05/23(火) 05:16:29.68ID:ZEoEO5ey レシピ本には、そんな長いコードは載っていないから、
動かなければ、自分ですぐに修正できるのでは?
数値を3桁ずつ、カンマ区切りにする関数は、参考になった
Railsの1日後とか、良いよな。
1.days.from_now
動かなければ、自分ですぐに修正できるのでは?
数値を3桁ずつ、カンマ区切りにする関数は、参考になった
Railsの1日後とか、良いよな。
1.days.from_now
254デフォルトの名無しさん
2017/05/23(火) 06:50:04.85ID:qRgUoCZd >>248
すいませんが若気のいたりということで大目にみてもらえませんか?
日本のScala界では貴重な人材なので。
それよりMatzの講演について話そうぜ!
http://srknr.hatenablog.com/entry/2017/05/20/235839
すいませんが若気のいたりということで大目にみてもらえませんか?
日本のScala界では貴重な人材なので。
それよりMatzの講演について話そうぜ!
http://srknr.hatenablog.com/entry/2017/05/20/235839
255デフォルトの名無しさん
2017/05/23(火) 08:14:22.26ID:Mb7W8Mqo256デフォルトの名無しさん
2017/05/23(火) 16:42:43.02ID:xunAucQT Ruby で文字列が英数字とハイフンのみで構成されていることの確認 (バリデーション) を正規表現を使わずに実現するのに、
string.delete("a-zA-Z0-9-").empty?
っていうやり方でとりあえず間に合わせてるんだけど、他にスマートな書き方ある?
string.delete("a-zA-Z0-9-").empty?
っていうやり方でとりあえず間に合わせてるんだけど、他にスマートな書き方ある?
257デフォルトの名無しさん
2017/05/23(火) 16:55:02.24ID:UVgxThtR 正規表現を使わない理由がわからないと
何言ってもそれはなしでと言われそう
何言ってもそれはなしでと言われそう
258デフォルトの名無しさん
2017/05/23(火) 16:57:40.08ID:nu8Noumz >>256
ぱっとリファレンス見てきたけどcountに条件逆で渡した上で0か調べるってどうかな
ぱっとリファレンス見てきたけどcountに条件逆で渡した上で0か調べるってどうかな
259デフォルトの名無しさん
2017/05/23(火) 16:59:58.40ID:nu8Noumz ascii_only?ってメソッドあるけど完璧な動作ではないよなぁ多分
260デフォルトの名無しさん
2017/05/23(火) 17:12:57.96ID:/kxvtD+k261デフォルトの名無しさん
2017/05/23(火) 17:22:10.11ID:/kxvtD+k >>257
どうしても正規表現を使わないと実現出来ない処理でもないんじゃないかと思ったのと、セキュリティ的にチェック漏れが怖いっていうのが理由かな。
正規表現に詳しくて、間違いない自信があれば正規表現でも良いんだけど、俺にはその自信がない。。
どうしても正規表現を使わないと実現出来ない処理でもないんじゃないかと思ったのと、セキュリティ的にチェック漏れが怖いっていうのが理由かな。
正規表現に詳しくて、間違いない自信があれば正規表現でも良いんだけど、俺にはその自信がない。。
262デフォルトの名無しさん
2017/05/23(火) 17:25:33.79ID:/kxvtD+k >>259
たしかに ascii_only? だとやりたいことに近いけど、アンダーバーとかその他記号も OK になっちゃって、希望する判定基準とは少し違ってきてしまうんだよね。
たしかに ascii_only? だとやりたいことに近いけど、アンダーバーとかその他記号も OK になっちゃって、希望する判定基準とは少し違ってきてしまうんだよね。
263デフォルトの名無しさん
2017/05/23(火) 17:28:08.27ID:UVgxThtR264デフォルトの名無しさん
2017/05/23(火) 17:43:19.80ID:OOs1u3xZ 「ヒットしてほしい正規表現にマッチするかどうか」で書かれてたほうがよっぽど漏れがないし間違いがないしコードとしても明瞭で安心すると思うがね
countの引数の仕様は知ってる? あれってtrというUNIXコマンドと一緒なんだよ
アレに頼って長々書かれるよりは正規表現のほうがいいな俺は
countの引数の仕様は知ってる? あれってtrというUNIXコマンドと一緒なんだよ
アレに頼って長々書かれるよりは正規表現のほうがいいな俺は
265デフォルトの名無しさん
2017/05/23(火) 18:18:44.65ID:/xgNS39l OK な文字列以外はどんな含まれ方をしていようと一概に弾くように、delete とか count で OK な文字列だけを列挙する指定の仕方を考えたんだけど、よく考えるとそれでも抜けがある可能性は依然として否定できないわな…
正規表現を使うか使わないかは宗教的な話になりそうだけど、テストコードを書けっていうのはまさしくその通りだわ。
正規表現を使うか使わないかは宗教的な話になりそうだけど、テストコードを書けっていうのはまさしくその通りだわ。
266デフォルトの名無しさん
2017/05/23(火) 23:55:10.87ID:ZEoEO5ey JavaScript では正規表現だな
2回以上、同じ正規表現を使うなら、
コンパイルを1回だけして、使いまわすことで、やや速くなる
2回以上、同じ正規表現を使うなら、
コンパイルを1回だけして、使いまわすことで、やや速くなる
267デフォルトの名無しさん
2017/05/24(水) 00:37:22.71ID:NrN6swuV evenArry, oddArry = [], []
ARGV.each_with_index{|arg, i|
evenArry.push(arg) if i.even?
oddArry.push(arg) if i.odd?
}
evenArry.zip(oddArry){|x, y| print [x,y] } if evenArry.size < oddArry.size
oddArry.zip(evenArry){|y, x| print [x,y] } if evenArry.size >= oddArry.size
puts
このコード、Pythonのzip関数は短い方に合わせてくれるのに、rubyのzipメソッドが長い方に合わせて、
短い方の不足分に勝手にnil入れるから、長さ比べて短い方でzipメソッド使うようにしてるんだけど、nilを省くメソッドあったら一行浮く。
何か良いメソッド知りませんか?
ARGV.each_with_index{|arg, i|
evenArry.push(arg) if i.even?
oddArry.push(arg) if i.odd?
}
evenArry.zip(oddArry){|x, y| print [x,y] } if evenArry.size < oddArry.size
oddArry.zip(evenArry){|y, x| print [x,y] } if evenArry.size >= oddArry.size
puts
このコード、Pythonのzip関数は短い方に合わせてくれるのに、rubyのzipメソッドが長い方に合わせて、
短い方の不足分に勝手にnil入れるから、長さ比べて短い方でzipメソッド使うようにしてるんだけど、nilを省くメソッドあったら一行浮く。
何か良いメソッド知りませんか?
268デフォルトの名無しさん
2017/05/24(水) 01:20:48.51ID:n3q9H30C >ruby tes.rb 11 22 33 44 55 66 77
["11", "22"]["33", "44"]["55", "66"]
という出力をしてほしいだけなら
ARGV.each_slice(2).take_while{|e| e.size == 2}.each{|a| print a}
["11", "22"]["33", "44"]["55", "66"]
という出力をしてほしいだけなら
ARGV.each_slice(2).take_while{|e| e.size == 2}.each{|a| print a}
269デフォルトの名無しさん
2017/05/24(水) 03:39:14.16ID:oHzoLy1g >>267
compact
compact
270デフォルトの名無しさん
2017/05/24(水) 09:26:39.05ID:Qxrl1z8p271デフォルトの名無しさん
2017/05/25(木) 13:14:51.22ID:LTbJxhuY pg gemをbundle installするとこける
gem install では通るんだけどなんでかな
gem install では通るんだけどなんでかな
272デフォルトの名無しさん
2017/05/27(土) 04:40:36.04ID:SdHoYqqp rubyからWin32APIのGetLastErrorを使用したいんだけどエラーが出てしまう。
どうしたらいいか教えてください。。
module WIN32API
extend Fiddle::Importer
dlload 'C:\\Windows\\System32\\user32.dll'
extern 'short GetKeyState(int)' #こっちはOK
extern 'char* GetLastError()' #こっちはNG
end
--以下エラー
cannot find the function: GetLastError() (Fiddle::DLError)
どうしたらいいか教えてください。。
module WIN32API
extend Fiddle::Importer
dlload 'C:\\Windows\\System32\\user32.dll'
extern 'short GetKeyState(int)' #こっちはOK
extern 'char* GetLastError()' #こっちはNG
end
--以下エラー
cannot find the function: GetLastError() (Fiddle::DLError)
273デフォルトの名無しさん
2017/05/27(土) 05:15:11.73ID:6GQ16ypm 「user32.dll getlasterror Win32API」で検索!
Library - Kernel32.lib
DLL - Kernel32.dll
には、有りそうだけど、user32.dll には、あるかどうか分からない
DllImport("kernel32.dll", SetLastError = true)
Library - Kernel32.lib
DLL - Kernel32.dll
には、有りそうだけど、user32.dll には、あるかどうか分からない
DllImport("kernel32.dll", SetLastError = true)
274デフォルトの名無しさん
2017/05/27(土) 06:45:17.62ID:SdHoYqqp >>273
早速ありがとうございました!
無事読み込めました。。。
参考までに修正版のコードはこちらです。
module WIN32API
extend Fiddle::Importer
dlload 'user32.dll','kernel32.dll'
include Fiddle::Win32Types #DWORDとか使えるようにする
include Fiddle::BasicTypes
extern 'DWORD GetLastError()'
end
WIN32API.GetLastError
早速ありがとうございました!
無事読み込めました。。。
参考までに修正版のコードはこちらです。
module WIN32API
extend Fiddle::Importer
dlload 'user32.dll','kernel32.dll'
include Fiddle::Win32Types #DWORDとか使えるようにする
include Fiddle::BasicTypes
extern 'DWORD GetLastError()'
end
WIN32API.GetLastError
275デフォルトの名無しさん
2017/05/27(土) 10:22:39.80ID:SdHoYqqp すみませんもう一つ教えてください。
SendInputを使って最終的にはマウス入力/キーボード入力を行おうと考えていますが
うまくいきません。何がおかしいのでしょうか。。
---
module WIN32API
extend Fiddle::Importer
dlload 'user32.dll','kernel32.dll'
include Fiddle::Win32Types
extern 'int SendInput(int,void* ,int)'
extern 'DWORD GetLastError()'
MOUSEINPUT=struct(["DWORD type","int dx","int dy","DWORD mouseData","DWORD dwFlags","DWORD time","ulong dwExtraInfo"])
end
module SendKey
INPUT_MOUSE = 0x00000000
MOUSEEVENTF_ABSOLUTE = 0x00008000
MOUSEEVENTF_MOVE = 0x00000001
end
input = WIN32API::MOUSEINPUT.malloc
input.type=SendKey::INPUT_MOUSE
input.dx=500
input.dy=500
input.dwFlags=SendKey::MOUSEEVENTF_ABSOLUTE|SendKey::MOUSEEVENTF_MOVE
p WIN32API.SendInput(1,input,28) #出力:0 備考:sizeof(MOUSEINPUT)=28
p WIN32API.GetLastError #出力:87(パラメータが間違っています。)
-----
SendInputを使って最終的にはマウス入力/キーボード入力を行おうと考えていますが
うまくいきません。何がおかしいのでしょうか。。
---
module WIN32API
extend Fiddle::Importer
dlload 'user32.dll','kernel32.dll'
include Fiddle::Win32Types
extern 'int SendInput(int,void* ,int)'
extern 'DWORD GetLastError()'
MOUSEINPUT=struct(["DWORD type","int dx","int dy","DWORD mouseData","DWORD dwFlags","DWORD time","ulong dwExtraInfo"])
end
module SendKey
INPUT_MOUSE = 0x00000000
MOUSEEVENTF_ABSOLUTE = 0x00008000
MOUSEEVENTF_MOVE = 0x00000001
end
input = WIN32API::MOUSEINPUT.malloc
input.type=SendKey::INPUT_MOUSE
input.dx=500
input.dy=500
input.dwFlags=SendKey::MOUSEEVENTF_ABSOLUTE|SendKey::MOUSEEVENTF_MOVE
p WIN32API.SendInput(1,input,28) #出力:0 備考:sizeof(MOUSEINPUT)=28
p WIN32API.GetLastError #出力:87(パラメータが間違っています。)
-----
276デフォルトの名無しさん
2017/05/27(土) 10:27:11.94ID:67vlwxuq 今回の件と関係あるかはともかくWIN32APIってもう非推奨じゃなかったっけ?
277デフォルトの名無しさん
2017/05/27(土) 12:01:00.86ID:pz2epJPP rubyは32bit版なのかな?
278デフォルトの名無しさん
2017/05/27(土) 12:46:05.61ID:SdHoYqqp Win32API非推奨なんですね。。
ググってみた感じいまはWSHSHELLとかでしょうか?
ちなみにRubyは64bit版を使ってました。。。
ググってみた感じいまはWSHSHELLとかでしょうか?
ちなみにRubyは64bit版を使ってました。。。
279デフォルトの名無しさん
2017/05/27(土) 13:10:51.88ID:reRwAhMh 非推奨とか言い出したらそもそもWinでRuby自体がアウトだから気にしなくてよい
280デフォルトの名無しさん
2017/05/27(土) 13:21:59.20ID:olQh0zw8281デフォルトの名無しさん
2017/05/27(土) 14:00:44.16ID:4VVIqOhp 意図するライブラリがロードされていない or 意図しない関数がコールされているんじゃないか?
C/C++で同じ動作をするコードを書いて何のファイルのどの関数が呼ばれているのか調べた方が良さそうな気も
Rubyから呼ぶ場合に限らずその辺の管理は全てプログラマ任せの上に純正のSDKやIDEの支援も得られないしな
あとWindowsAPIを叩いて作業するならWindowsSDKはほぼ必須
C/C++で同じ動作をするコードを書いて何のファイルのどの関数が呼ばれているのか調べた方が良さそうな気も
Rubyから呼ぶ場合に限らずその辺の管理は全てプログラマ任せの上に純正のSDKやIDEの支援も得られないしな
あとWindowsAPIを叩いて作業するならWindowsSDKはほぼ必須
282デフォルトの名無しさん
2017/05/27(土) 15:09:14.53ID:6GQ16ypm >p WIN32API.GetLastError #出力:87(パラメータが間違っています。)
カッコを付ければ?
p WIN32API.GetLastError()
カッコを付ければ?
p WIN32API.GetLastError()
283デフォルトの名無しさん
2017/05/27(土) 15:15:15.96ID:pz2epJPP >>278
64bitだと構造体のサイズが違うよ
64bitだと構造体のサイズが違うよ
284デフォルトの名無しさん
2017/05/28(日) 10:53:17.15ID:pzrDxs4u case文でgetsを使って入力を受け付けたいとき日本語ってどうするんです?
hand = gets.chomp
case = hand
when "あ"
puts "グー”
.
.
.
else
puts "反則"
end
例えばこんな感じの簡単な文だけど
"あ"の中身の部分を1にしたり
そもそも .to_iにして数値にしたりすると
ちゃんと働いてくれるから
そもそも日本語入力はなにかいるんじゃないか、もしくはできないんじゃないか
と思っていて、検索してもわからんのです
hand = gets.chomp
case = hand
when "あ"
puts "グー”
.
.
.
else
puts "反則"
end
例えばこんな感じの簡単な文だけど
"あ"の中身の部分を1にしたり
そもそも .to_iにして数値にしたりすると
ちゃんと働いてくれるから
そもそも日本語入力はなにかいるんじゃないか、もしくはできないんじゃないか
と思っていて、検索してもわからんのです
285デフォルトの名無しさん
2017/05/28(日) 11:23:43.03ID:eyTJlEl0 case = handってなんだ
286デフォルトの名無しさん
2017/05/28(日) 11:38:33.26ID:nOYRngqN print "input anything and Enter> "
input = gets.chomp
puts "default file encoding:"+ __ENCODING__.to_s
puts "actual external encoding: " + input.encoding.to_s
実行結果 (Windowsコマンドプロンプトで単に ruby test.rb と実行)
input anything and Enter> nya-
default file encoding:UTF-8
actual external encoding: Windows-31J
ということで文字列のエンコーディングが違うので別物だと思われてる
Windows-31Jの「あ」とUTF-8の「あ」は比較上別物になる
irb> str = "にゃー"
=> "にゃー"
irb> str.encode("Windows-31J") == str.encode("UTF-8")
=> false
「Rubyの文字エンコーディング」について調べて自分で理解するんだ
これはここでちらっと「おまじない」を述べても逆に泥沼になるぞw
input = gets.chomp
puts "default file encoding:"+ __ENCODING__.to_s
puts "actual external encoding: " + input.encoding.to_s
実行結果 (Windowsコマンドプロンプトで単に ruby test.rb と実行)
input anything and Enter> nya-
default file encoding:UTF-8
actual external encoding: Windows-31J
ということで文字列のエンコーディングが違うので別物だと思われてる
Windows-31Jの「あ」とUTF-8の「あ」は比較上別物になる
irb> str = "にゃー"
=> "にゃー"
irb> str.encode("Windows-31J") == str.encode("UTF-8")
=> false
「Rubyの文字エンコーディング」について調べて自分で理解するんだ
これはここでちらっと「おまじない」を述べても逆に泥沼になるぞw
287デフォルトの名無しさん
2017/05/28(日) 11:47:56.51ID:pzrDxs4u288デフォルトの名無しさん
2017/05/28(日) 11:52:43.05ID:pzrDxs4u しまった「いづれ」ではなくて「いずれ」だった、なんかこういうミスのほうが
恥ずかしい・・・
しかし文字エンコーディングの件で気になったけど
それは文字コードを指定している場合でも・・・?
なんか最初にそれこそ、そこをおまじないと言っているのかもしれない
けど、# coding: utf-8
みたいなの書いとけって言われるじゃない。
文字化けしないようにとか、そんな感じで。
恥ずかしい・・・
しかし文字エンコーディングの件で気になったけど
それは文字コードを指定している場合でも・・・?
なんか最初にそれこそ、そこをおまじないと言っているのかもしれない
けど、# coding: utf-8
みたいなの書いとけって言われるじゃない。
文字化けしないようにとか、そんな感じで。
289デフォルトの名無しさん
2017/05/28(日) 11:55:12.07ID:rKaPw5GE 狭義的にはスクリプトファイルのエンコーディングと外部入力文字列のエンコーディングを揃えないといかん
STDINのエンコーディングをスクリプトファイルのエンコーディングに合わせるのが楽だと思う
ruby -E UTF-8 hoge.rbでスクリプト起動しろ
getsで入ってくる文字列が全部UTF-8になる
STDINのエンコーディングをスクリプトファイルのエンコーディングに合わせるのが楽だと思う
ruby -E UTF-8 hoge.rbでスクリプト起動しろ
getsで入ってくる文字列が全部UTF-8になる
290デフォルトの名無しさん
2017/05/28(日) 12:39:36.05ID:pzrDxs4u >>289
ちょっとわかんなかった。
色々言っていることの推測はしたんだけど、
そんなファイルねーよ!からはじまり
そんなエンコーディングネーム知らんといわれ、ランタイムエラーといわれ
あ、コマンドプロンプトって文字コードシフトJISとかいうのだから
あかんのかな?って思って
utf-8にしてみたけど、判定がelseに行くのだった。
あははは。
わざわざありがとう。でも、私初心者だからだめみたいだぜ。
おまえなんかwhile文の勉強でもしてなさいってことだと思うわ。
ちょっとわかんなかった。
色々言っていることの推測はしたんだけど、
そんなファイルねーよ!からはじまり
そんなエンコーディングネーム知らんといわれ、ランタイムエラーといわれ
あ、コマンドプロンプトって文字コードシフトJISとかいうのだから
あかんのかな?って思って
utf-8にしてみたけど、判定がelseに行くのだった。
あははは。
わざわざありがとう。でも、私初心者だからだめみたいだぜ。
おまえなんかwhile文の勉強でもしてなさいってことだと思うわ。
291デフォルトの名無しさん
2017/05/28(日) 12:55:41.60ID:cMT8Sa9/ コマンドプロンプトなら"chcp 65001"しないと駄目なんじゃない?
ちょっと手許にwindows機ないからわかんないけど
ちょっと手許にwindows機ないからわかんないけど
292デフォルトの名無しさん
2017/05/28(日) 13:34:17.41ID:mQ0E20+1 cmd exe の chcp65001 はバグがあって使い物にならない
293デフォルトの名無しさん
2017/05/28(日) 15:22:51.06ID:aUadI2mt VSCode使っている人いない?
デバッグモードでのgetsのって値入力処理はどうすればいいのか分からなくて困っている。
デバッグモードでのgetsのって値入力処理はどうすればいいのか分からなくて困っている。
294デフォルトの名無しさん
2017/05/28(日) 16:49:16.07ID:rKaPw5GE STDIN/STDOUTのねじ曲げは現行のIDEでVSCode「でだけ」できない
素のRubyではできるのにね
require 'stringio' if $DEBUG
$stdin = StringIO.open("にゃーん".encode("Windows-31J")) if $DEBUG
puts "You are a cat" if gets.chomp == "にゃーん".encode("Windows-31J")
素のRubyではできるのにね
require 'stringio' if $DEBUG
$stdin = StringIO.open("にゃーん".encode("Windows-31J")) if $DEBUG
puts "You are a cat" if gets.chomp == "にゃーん".encode("Windows-31J")
295デフォルトの名無しさん
2017/05/28(日) 17:18:28.96ID:5PeSitGp pythonのやつをパクるしかない
296デフォルトの名無しさん
2017/05/28(日) 17:40:48.08ID:MqtJ47ff 極薄view用意して、そこだけ手動でテストすればいいよ
297デフォルトの名無しさん
2017/05/28(日) 18:57:58.47ID:QwjzxVOm コマンドプロンプトは、Windows-31J, CP932 か
PowerShell, PowerShell_ise は、UTF-8 じゃないの?
PowerShell, PowerShell_ise は、UTF-8 じゃないの?
298デフォルトの名無しさん
2017/05/28(日) 22:05:31.04ID:OcOYN7N8 windowsで真面目にRuby使うならコマンドプロンプトのままじゃ辛い
コンソールエミュで良さそうなの探して入れると良いよ
コンソールエミュで良さそうなの探して入れると良いよ
299デフォルトの名無しさん
2017/05/29(月) 00:55:58.04ID:+B2zTCTS いやVirtualBoxの上のLinuxにSSHクライアントで接続した方がいいよ
300デフォルトの名無しさん
2017/05/29(月) 01:06:21.43ID:zS+u+zXg 出力はワイド文字に変換してくれるのでpythonみたいにchcp 65001しなくていいから楽ちん。
入力は気を利かせてくれてないから、$stdin.set_encodingで設定したほうがいいかな
あとはARGVとかDirで取得するファイル名とかをデフォルトでUTF-8にしてくれたらうれしいな
全般的にWindowsに気を利かせてくれているけど、そのノウハウをまとめたページがないから
不親切に見えるだろうな
入力は気を利かせてくれてないから、$stdin.set_encodingで設定したほうがいいかな
あとはARGVとかDirで取得するファイル名とかをデフォルトでUTF-8にしてくれたらうれしいな
全般的にWindowsに気を利かせてくれているけど、そのノウハウをまとめたページがないから
不親切に見えるだろうな
301デフォルトの名無しさん
2017/05/29(月) 13:33:58.90ID:SjlSz+oM ネットにはデマ情報がいっぱい残ってるので正しい情報をメモ
cmd で UTF-8 使える方法 (chcp 65001 について) ttp://nazochu.blogspot.jp/2011/08/blog-post_26.html
mintty ttp://dogmap.jp/2011/11/15/mintty/
mintty ttp://tanakh.jp/posts/2011-11-15-windows-terminal.html
↓
色々紆余曲折あったけど Git インスコして GitBash 使うのが一番楽っぽい
https://git-for-windows.github.io/
cmd で UTF-8 使える方法 (chcp 65001 について) ttp://nazochu.blogspot.jp/2011/08/blog-post_26.html
mintty ttp://dogmap.jp/2011/11/15/mintty/
mintty ttp://tanakh.jp/posts/2011-11-15-windows-terminal.html
↓
色々紆余曲折あったけど Git インスコして GitBash 使うのが一番楽っぽい
https://git-for-windows.github.io/
302デフォルトの名無しさん
2017/05/29(月) 13:49:40.20ID:lxl3zEmg >>301
こういうWindows版を使ったこともなさそうな人がおせっかいで書く情報が迷惑でしかない
こういうWindows版を使ったこともなさそうな人がおせっかいで書く情報が迷惑でしかない
303デフォルトの名無しさん
2017/05/29(月) 18:54:37.47ID:8MRHN7xk ルビとRubyの話
なぜWordのデフォルトフォントサイズは「10.5」なのか? - ねとらぼ
http://nlab.itmedia.co.jp/nl/articles/1705/29/news020.html
なぜWordのデフォルトフォントサイズは「10.5」なのか? - ねとらぼ
http://nlab.itmedia.co.jp/nl/articles/1705/29/news020.html
304デフォルトの名無しさん
2017/05/29(月) 19:14:35.71ID:ZV+SCRde 今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
305デフォルトの名無しさん
2017/05/29(月) 19:16:13.40ID:ZV+SCRde ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
306デフォルトの名無しさん
2017/05/29(月) 19:33:27.14ID:00NVazHZ >>305
Ruby終了の教えらせ?
Ruby終了の教えらせ?
307デフォルトの名無しさん
2017/05/29(月) 19:34:02.42ID:00NVazHZ お知らせ
308デフォルトの名無しさん
2017/05/29(月) 21:37:42.32ID:LfszU9UW 契約自由の原則は消えないんだよな
http://www.techvan.co.jp/media/quality/civil-code
rubyとかだと小さいシステムやプロトタイプが多いだろうから
契約に漏らさず明記しておくのが大事か
5年とかもう使えないようなバージョンとか出てきて作り直しになりかねない
http://www.techvan.co.jp/media/quality/civil-code
rubyとかだと小さいシステムやプロトタイプが多いだろうから
契約に漏らさず明記しておくのが大事か
5年とかもう使えないようなバージョンとか出てきて作り直しになりかねない
309デフォルトの名無しさん
2017/05/29(月) 21:50:13.10ID:0c0Yo+hh 個々の契約のほうが優越なのだからふつうはそんなに問題は起きない
最低最悪のラインを決めただけ
いちばん騒いでるのが働いたことのない人といういろいろ縮図なやつだ
最低最悪のラインを決めただけ
いちばん騒いでるのが働いたことのない人といういろいろ縮図なやつだ
310デフォルトの名無しさん
2017/05/29(月) 22:06:06.39ID:LfszU9UW311デフォルトの名無しさん
2017/05/30(火) 09:22:17.83ID:hVv0NVyW 客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
312デフォルトの名無しさん
2017/05/30(火) 10:25:03.46ID:gxWnkgCC 客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
313デフォルトの名無しさん
2017/05/30(火) 13:25:40.32ID:KV35bhXw 保守に強いとか関係ないだろ
結局は技術力が高かろうと
エラーは出るからな
結局は技術力が高かろうと
エラーは出るからな
314デフォルトの名無しさん
2017/05/30(火) 13:27:12.19ID:52EkKXSJ >>313
これコピペ
これコピペ
315デフォルトの名無しさん
2017/05/31(水) 12:38:22.60ID:nyiBm3r5316デフォルトの名無しさん
2017/05/31(水) 23:19:57.63ID:X74K7lOs るびまの ePub 版ってないの?
たまに話題に出てたり個人的にやってる人はいるみたいだけど。
たまに話題に出てたり個人的にやってる人はいるみたいだけど。
317デフォルトの名無しさん
2017/06/01(木) 03:04:21.50ID:TLZ7U8Co318デフォルトの名無しさん
2017/06/01(木) 12:09:40.74ID:o/dQD8LP >グイドは自称するほど互換性を大事にしねぇ
2から3の書き換えの感想でそんなこと言ってるのか
頭沸いてんな
2から3の書き換えの感想でそんなこと言ってるのか
頭沸いてんな
319デフォルトの名無しさん
2017/06/01(木) 17:59:48.16ID:VtNuZqDV320デフォルトの名無しさん
2017/06/01(木) 18:02:47.78ID:VtNuZqDV あっ 勘違いしてた
「るびま」と書いてあったな
オレが関心あるのは「るりま」の方だった
「るびま」と書いてあったな
オレが関心あるのは「るりま」の方だった
321デフォルトの名無しさん
2017/06/01(木) 18:14:59.52ID:n7u6yBLf るりまは元が html5 になってるみたいだし、
メタ情報をちょろっと追加してパッケージングすりゃ ePub になるよ。
そんなに難しいことじゃない。
メタ情報をちょろっと追加してパッケージングすりゃ ePub になるよ。
そんなに難しいことじゃない。
322デフォルトの名無しさん
2017/06/02(金) 09:51:10.10ID:8FvNWFqN >>321
教えて欲しいんだけど
例えば2.0.0のバージョンのドキュメントをまとめてダウンロードするにはどこに行けばいいんだろ?
https://www.ruby-lang.org/ja/documentation/
教えて欲しいんだけど
例えば2.0.0のバージョンのドキュメントをまとめてダウンロードするにはどこに行けばいいんだろ?
https://www.ruby-lang.org/ja/documentation/
323デフォルトの名無しさん
2017/06/04(日) 07:56:22.18ID:4B60732N 書き込みできない?
324デフォルトの名無しさん
2017/06/04(日) 07:57:07.55ID:4B60732N 322はできることなら削除したい
もうレスを確認する為にここに来ることはない
もうレスを確認する為にここに来ることはない
325デフォルトの名無しさん
2017/06/06(火) 19:13:48.69ID:wrPFF999 windowsでirb使うとき何か一文字打たないと
↑キーで履歴が出ないんだけど何とかならない?
ググってreadlineとかbinに入れてみたけどダメだった
↑キーで履歴が出ないんだけど何とかならない?
ググってreadlineとかbinに入れてみたけどダメだった
326デフォルトの名無しさん
2017/06/08(木) 13:19:43.68ID:oPuedIYN うちはでるよ
327325
2017/06/08(木) 21:11:29.66ID:cdZWf+lt マジか。>>325はActiveScriptRubyだがいろいろ試した結果(環境はWin7 32bit)
ActiveScriptRuby 出ない
+ readline.dll 出ない
RubyInstaller 出ない
+ readline.dll 出る
ActiveScriptRuby 出ない
+ readline.dll 出ない
RubyInstaller 出ない
+ readline.dll 出る
328デフォルトの名無しさん
2017/06/16(金) 16:28:56.85ID:qOsPLqtM うちのRubyInstaller2(Win8.1)ではirbやpryは大丈夫
jirb(JRubyのirb)は何か一文字打たないと↑が反応しない
あとruby -pe ""も何か一文字撃たないと駄目な模様
jirb(JRubyのirb)は何か一文字打たないと↑が反応しない
あとruby -pe ""も何か一文字撃たないと駄目な模様
329デフォルトの名無しさん
2017/06/17(土) 13:52:50.98ID:CkD5o1Z0 これからrubyをやる意味ってなにが考えられますか?
330デフォルトの名無しさん
2017/06/17(土) 14:36:25.65ID:qMkdrUOQ 過去に一度だけプチブームになったことがあったんだけど
その原因と、そのあと下火になった理由を探求するとかかな
駄目と分かっている人は初めから駄目だよ、って言ってたんだけど
残念ながら世の中の全員が賢明というわけではなかったから
やはり、一過性のブームとか、時代でとか、そういうのはあるもので
今から追体験したければRubyはよい選択だと思うよ
ただ、さっきも書いたけど、全員が間違ったわけじゃないんだよ
半数以上かそれ以上の人はダメって初めから言ってたんだよ
あとはMarzの勉強かな
あの人、頭の弱い人を騙すことに関してはものすごい技術を持ってるから
そういうのに興味があればって感じ
具体的には「モノ」を中心に考えさせて、大事なものを見えなくさせたり
一見効率的に見えて実は遠回りっていう「局所解」に追い込んだりするその手法
おもしろいのはRuby3.0をどうするのか、なぜか今本人も困ってるところ
人を呪わば穴二つって言うように、他人を追い込むツールを作ってるつもりで
自分自身もまた追い込まれるってのは在るみたいね
その原因と、そのあと下火になった理由を探求するとかかな
駄目と分かっている人は初めから駄目だよ、って言ってたんだけど
残念ながら世の中の全員が賢明というわけではなかったから
やはり、一過性のブームとか、時代でとか、そういうのはあるもので
今から追体験したければRubyはよい選択だと思うよ
ただ、さっきも書いたけど、全員が間違ったわけじゃないんだよ
半数以上かそれ以上の人はダメって初めから言ってたんだよ
あとはMarzの勉強かな
あの人、頭の弱い人を騙すことに関してはものすごい技術を持ってるから
そういうのに興味があればって感じ
具体的には「モノ」を中心に考えさせて、大事なものを見えなくさせたり
一見効率的に見えて実は遠回りっていう「局所解」に追い込んだりするその手法
おもしろいのはRuby3.0をどうするのか、なぜか今本人も困ってるところ
人を呪わば穴二つって言うように、他人を追い込むツールを作ってるつもりで
自分自身もまた追い込まれるってのは在るみたいね
331デフォルトの名無しさん
2017/06/17(土) 15:18:40.82ID:KrWMylVm 具体論がまったくないところがすごいなw
332デフォルトの名無しさん
2017/06/17(土) 16:22:03.43ID:b4+zDofQ333デフォルトの名無しさん
2017/06/17(土) 16:52:41.05ID:CkD5o1Z0 そうですか
GUIはどれを使えばいいですか?
GUIはどれを使えばいいですか?
334デフォルトの名無しさん
2017/06/17(土) 17:23:28.18ID:RyxkXkzJ どうしてもやりたいならjruby+jrubyfx楽よ
335デフォルトの名無しさん
2017/06/17(土) 17:39:53.37ID:ZEU2lDOZ この時点で、rubyだめってヒシヒシ伝わる。
336デフォルトの名無しさん
2017/06/17(土) 18:11:55.35ID:n14YEU6w >>330
初見のコピペ
初見のコピペ
337デフォルトの名無しさん
2017/06/17(土) 18:16:55.55ID:n14YEU6w338デフォルトの名無しさん
2017/06/17(土) 19:44:55.62ID:KrWMylVm339デフォルトの名無しさん
2017/06/17(土) 19:46:39.93ID:KgLuH5ks まつもと氏は合理主義のようだけどGUIにはそういうのは及んでないんですか?
340デフォルトの名無しさん
2017/06/17(土) 20:05:28.72ID:x959dLvJ341デフォルトの名無しさん
2017/06/17(土) 21:40:11.74ID:83r52Wsn342デフォルトの名無しさん
2017/06/17(土) 21:41:18.42ID:83r52Wsn343デフォルトの名無しさん
2017/06/17(土) 21:42:43.07ID:83r52Wsn344デフォルトの名無しさん
2017/06/17(土) 21:44:31.17ID:83r52Wsn345デフォルトの名無しさん
2017/06/17(土) 22:00:59.26ID:qMkdrUOQ あぁごめんな
ただあの人のインタビューとか読めばわかるけど
逆張り逆張り言ってる
あの人自身もRubyの筋が良いとかメインストリーム的な思想であるとは
考えてないんだよ
ただ、自分の人生の中で逆張りした場合にうまくいくことが多かったので
逆張りし続けているんだとか
だからRuby3.0でも逆張りの一種として
静的型の機能は導入しない方向を検討しているんだろうな
ただそう何度も逆張りが上手くいくとは思わないし
逆張りはしょせん逆張りだろ?あだ花というかなんというか
そういうこともあって結局Rubyはプチブームで終わった現状があるわけだし
変なことして注目を集めることはあってもそれは一過性だよ、芸人じゃあるまいし
しかも逆張りしたときに自分にとって都合がよいことが多かったってだけで
使い手のことは別に考慮されてないんだよなー
ただあの人のインタビューとか読めばわかるけど
逆張り逆張り言ってる
あの人自身もRubyの筋が良いとかメインストリーム的な思想であるとは
考えてないんだよ
ただ、自分の人生の中で逆張りした場合にうまくいくことが多かったので
逆張りし続けているんだとか
だからRuby3.0でも逆張りの一種として
静的型の機能は導入しない方向を検討しているんだろうな
ただそう何度も逆張りが上手くいくとは思わないし
逆張りはしょせん逆張りだろ?あだ花というかなんというか
そういうこともあって結局Rubyはプチブームで終わった現状があるわけだし
変なことして注目を集めることはあってもそれは一過性だよ、芸人じゃあるまいし
しかも逆張りしたときに自分にとって都合がよいことが多かったってだけで
使い手のことは別に考慮されてないんだよなー
346デフォルトの名無しさん
2017/06/17(土) 22:03:22.44ID:KrWMylVm >>345
あいかわらす週刊誌レベルの根拠ない批判しかできないんだなー
あいかわらす週刊誌レベルの根拠ない批判しかできないんだなー
347デフォルトの名無しさん
2017/06/17(土) 22:07:45.91ID:qMkdrUOQ 普通に考えたら静的型を導入しない理由は全くないんだよ
ただ、あえて理由を挙げるとしたら、最初Rubyは動的型で出発したから
いまさら静的型の機能を入れ込むのは非常に難しいってことなんだよ
過去との互換性もあるし、そういうコミュニティーになっちゃってるしな
もちろんこれは動的型に「逆張り」した結果なんだろうけど
あとあと苦しいわなー
ただ、あえて理由を挙げるとしたら、最初Rubyは動的型で出発したから
いまさら静的型の機能を入れ込むのは非常に難しいってことなんだよ
過去との互換性もあるし、そういうコミュニティーになっちゃってるしな
もちろんこれは動的型に「逆張り」した結果なんだろうけど
あとあと苦しいわなー
348デフォルトの名無しさん
2017/06/17(土) 22:10:52.30ID:KrWMylVm349デフォルトの名無しさん
2017/06/17(土) 22:22:53.33ID:qMkdrUOQ ただここまで静的型が「ハマる」とは俺も想像してなかったし
Matzも想像できなかったんじゃろな
何だか知らないが、静的型はすべてにおいて丁度よい感じになってるんだよな
神がかった偶然がいくつも重なってるかんじで、最適解になってる
この牙城はなかなか崩せないよ、一つや二つのメリットじゃないからね
なんでこんなに上手くいったんだろうね
Matzも想像できなかったんじゃろな
何だか知らないが、静的型はすべてにおいて丁度よい感じになってるんだよな
神がかった偶然がいくつも重なってるかんじで、最適解になってる
この牙城はなかなか崩せないよ、一つや二つのメリットじゃないからね
なんでこんなに上手くいったんだろうね
350デフォルトの名無しさん
2017/06/17(土) 22:26:25.66ID:83r52Wsn351デフォルトの名無しさん
2017/06/17(土) 22:31:07.35ID:KrWMylVm352デフォルトの名無しさん
2017/06/17(土) 22:59:47.96ID:qMkdrUOQ まず動的型の根本的な慢性的ともいえる文法上の悩みの種は
どうにかして変数宣言をなくしたい欲求にかられるって点にある
動的型であるから変数宣言に型を書く必要がないので
なんとかして変数宣言自体をなくしたいっていう
まぁ分からなくもない
しかしながら変数宣言には変数の型を決める役割があるのとは別に
「変数のスコープを決める」という役割もあったわけで
安易に変数宣言を削除してしまったRubyやPythonのような言語は
大体において変数のスコープが奇妙なことになっているのじゃ
例えばRubyにおいては「@」であったり、ブロックローカル変数であったり
Pythonであればnonlocalであったり、なにか場当たり的だし
実質的な変数宣言の一種のような気もする
あと、if文や繰り返し文の後ろに続くブロックなどでスコープを持てなくなって
しまったりもな、なんせ、文法上、宣言を代入で代用しているから
代入と宣言の区別がつかないような状態で、かゆいところに手が届かない
だから結局、実は変数宣言は有ったほうが良いんじゃね?ってなって
ならついでに型も書けばってなって、今はさらにこれに加えて
型を書きたくなければ型推論使えば?ってことにまでなっちゃってる
型推論使えば変数宣言をする手間はほぼなくなるし
スコープを細かく制御できるようになるんだから
もう変数宣言が無いことはメリットにならなくなってしまった
まぁこんなのは氷山の一角でジャブだ
コンパイラによる型チェック云々言いたくなるところだがそれ以外にも
文法上の問題としてこういうのもあるということ
その他にも実行性能であったり、ドキュメントの自動生成であったり
リファクタリングの容易さであったり
IDEの入力補完etcのサポートのしやすさであったり
人間も型があったほうが読みやすいんじゃないかとか
結局コメントで型を書いてるんじゃね?とか
色々あるわな
なんか複合的なんだよ
動的型がここまでケチョンケチョンになるとは流石に想像できなかったわ
どうにかして変数宣言をなくしたい欲求にかられるって点にある
動的型であるから変数宣言に型を書く必要がないので
なんとかして変数宣言自体をなくしたいっていう
まぁ分からなくもない
しかしながら変数宣言には変数の型を決める役割があるのとは別に
「変数のスコープを決める」という役割もあったわけで
安易に変数宣言を削除してしまったRubyやPythonのような言語は
大体において変数のスコープが奇妙なことになっているのじゃ
例えばRubyにおいては「@」であったり、ブロックローカル変数であったり
Pythonであればnonlocalであったり、なにか場当たり的だし
実質的な変数宣言の一種のような気もする
あと、if文や繰り返し文の後ろに続くブロックなどでスコープを持てなくなって
しまったりもな、なんせ、文法上、宣言を代入で代用しているから
代入と宣言の区別がつかないような状態で、かゆいところに手が届かない
だから結局、実は変数宣言は有ったほうが良いんじゃね?ってなって
ならついでに型も書けばってなって、今はさらにこれに加えて
型を書きたくなければ型推論使えば?ってことにまでなっちゃってる
型推論使えば変数宣言をする手間はほぼなくなるし
スコープを細かく制御できるようになるんだから
もう変数宣言が無いことはメリットにならなくなってしまった
まぁこんなのは氷山の一角でジャブだ
コンパイラによる型チェック云々言いたくなるところだがそれ以外にも
文法上の問題としてこういうのもあるということ
その他にも実行性能であったり、ドキュメントの自動生成であったり
リファクタリングの容易さであったり
IDEの入力補完etcのサポートのしやすさであったり
人間も型があったほうが読みやすいんじゃないかとか
結局コメントで型を書いてるんじゃね?とか
色々あるわな
なんか複合的なんだよ
動的型がここまでケチョンケチョンになるとは流石に想像できなかったわ
353デフォルトの名無しさん
2017/06/17(土) 23:00:37.97ID:KrWMylVm http://hissi.org/read.php/tech/20170617/cU1rZHJVT1E.html
はいはい、もう君の素性はバレてるよ
はいはい、もう君の素性はバレてるよ
354デフォルトの名無しさん
2017/06/17(土) 23:04:50.91ID:qMkdrUOQ ただ動的型にも良い点があって
「処理系の実装が楽」
しかしこれも実用性を考えて突き詰めていけばJSのV8エンジンのように
加速度的にむしろ大変なことになるというね
とにかく旨みが無い
「処理系の実装が楽」
しかしこれも実用性を考えて突き詰めていけばJSのV8エンジンのように
加速度的にむしろ大変なことになるというね
とにかく旨みが無い
355デフォルトの名無しさん
2017/06/17(土) 23:05:43.09ID:KrWMylVm http://hissi.org/read.php/tech/20170617/cU1rZHJVT1E.html
はいはい、もう君の素性はバレてるよ
はいはい、もう君の素性はバレてるよ
356デフォルトの名無しさん
2017/06/18(日) 00:20:30.41ID:lJ0QohrH LISPみたいに動的型でも宣言ある言語の方がスコープが分かりやすい
357デフォルトの名無しさん
2017/06/18(日) 02:54:31.67ID:MwiRGqjx 動的型付けでダックタイピングみたいに
組みやすくなってるメリットがあるから
実際Ruby以外にもPerl、Python、PHPの
P言語はみんな動的型付けになってる
小規模Webサービスのサーバサイド言語
としての用途には動的型が合ってる
組みやすくなってるメリットがあるから
実際Ruby以外にもPerl、Python、PHPの
P言語はみんな動的型付けになってる
小規模Webサービスのサーバサイド言語
としての用途には動的型が合ってる
358デフォルトの名無しさん
2017/06/18(日) 07:50:58.11ID:ppLsekVC >>357
何か勘違いしてるみたいだけど、ダックタイピングっていうのはオブジェクト指向言語の実装手法の一つで、プログラマにメリットなんかないよ
特にRubyだと多態をダックタイピングに任せるのは嫌われる傾向があって
無意味でも空のメソッドを定義しておいて継承したりするし
何か勘違いしてるみたいだけど、ダックタイピングっていうのはオブジェクト指向言語の実装手法の一つで、プログラマにメリットなんかないよ
特にRubyだと多態をダックタイピングに任せるのは嫌われる傾向があって
無意味でも空のメソッドを定義しておいて継承したりするし
359デフォルトの名無しさん
2017/06/18(日) 08:09:30.26ID:ppLsekVC ちなみに、Rubyでダックタイピングが好まれないのはドキュメントよりもコード読めという文化のせいだと思ってる
ダックタイピングだと「このパラメータにはアヒルを渡してくれ」じゃなくて
「このパラメータにはアヒルのように歩きアヒルのように鳴くものを渡してくれ」といちいちドキュメントに書かなきゃいけない
(静的型になる前の)Pythonはドキュメントを重視する文化だから実際そういうドキュメントの書き方をすることもあるんだけどね
Rubyだとそれを避けるために無意味とわかっていても空のスタブとしてアヒルクラスを定義しておいて「アヒルを渡してくれ」と書くわけ
ダックタイピングだと「このパラメータにはアヒルを渡してくれ」じゃなくて
「このパラメータにはアヒルのように歩きアヒルのように鳴くものを渡してくれ」といちいちドキュメントに書かなきゃいけない
(静的型になる前の)Pythonはドキュメントを重視する文化だから実際そういうドキュメントの書き方をすることもあるんだけどね
Rubyだとそれを避けるために無意味とわかっていても空のスタブとしてアヒルクラスを定義しておいて「アヒルを渡してくれ」と書くわけ
360デフォルトの名無しさん
2017/06/18(日) 08:24:04.22ID:mREyO8+w361デフォルトの名無しさん
2017/06/18(日) 08:29:35.01ID:F94toio2 ダックタイピング任せはメンバの追加がしづらいのも問題
静的型ならインターフェースにメンバを足せばコンパイルエラーになるからエラー箇所を直せばいいが
完全なダックタイピングだと手掛かりがなく修正漏れが発生しやすい
とりあえずスタブを継承させるようにしておけばメソッドを足してもメソッド未定義のエラーにはならない
静的型ならインターフェースにメンバを足せばコンパイルエラーになるからエラー箇所を直せばいいが
完全なダックタイピングだと手掛かりがなく修正漏れが発生しやすい
とりあえずスタブを継承させるようにしておけばメソッドを足してもメソッド未定義のエラーにはならない
362デフォルトの名無しさん
2017/06/18(日) 16:45:30.43ID:xPH4G83l いまさら$とか@とかつけたくないな
363デフォルトの名無しさん
2017/06/18(日) 17:45:55.35ID:MwiRGqjx364デフォルトの名無しさん
2017/06/18(日) 17:56:41.46ID:mREyO8+w Rubyのスクリプトをバックグラウンドで動かすにはどうすれば良いでしょう?
>ruby someScript.rb &
と実行してもTerminal.Appを閉じるとrubyも終了してしまいます。
OSはmacOS Sierraです。
以前、HP-UXで作業して居た時には、xtermを閉じても、logoutしてもバックグラウンドで動き続けてくれました。
launchdとかいうdeamonをコントロールするコマンドがある様なんですけど、これを使って動かさないといけないのでしょうか?
>ruby someScript.rb &
と実行してもTerminal.Appを閉じるとrubyも終了してしまいます。
OSはmacOS Sierraです。
以前、HP-UXで作業して居た時には、xtermを閉じても、logoutしてもバックグラウンドで動き続けてくれました。
launchdとかいうdeamonをコントロールするコマンドがある様なんですけど、これを使って動かさないといけないのでしょうか?
365デフォルトの名無しさん
2017/06/18(日) 18:03:58.53ID:kXxrIi51 tmux使え
366デフォルトの名無しさん
2017/06/18(日) 18:13:50.36ID:mREyO8+w >>365
レスTHX
terminal multiplexerを使えば良いのでしょうか?
someScript.rbを動かすには、someScript.plistを書いて
>launchctl load someScript.plist
ってやるらしいのですが、plistファイルなんて書いた事ないぞぉ。
書き方がよく判らん。
なにか、勘違いしてたら、ご指摘を!
レスTHX
terminal multiplexerを使えば良いのでしょうか?
someScript.rbを動かすには、someScript.plistを書いて
>launchctl load someScript.plist
ってやるらしいのですが、plistファイルなんて書いた事ないぞぉ。
書き方がよく判らん。
なにか、勘違いしてたら、ご指摘を!
367デフォルトの名無しさん
2017/06/18(日) 18:27:18.73ID:mREyO8+w >launchctl load a.plist
/work/a.plist: Invalid property list
property listの書き方がよく判らん。
ただのxmlファイルじゃないのか?コメントの放り込み方が悪いのか?
無効なproperty listだとぉー?
/work/a.plist: Invalid property list
property listの書き方がよく判らん。
ただのxmlファイルじゃないのか?コメントの放り込み方が悪いのか?
無効なproperty listだとぉー?
368デフォルトの名無しさん
2017/06/18(日) 18:38:44.94ID:mREyO8+w やったぁー。動き出しタァ。
Terminal.Appを閉じても動いてる。ふぅー。
Terminal.Appを閉じても動いてる。ふぅー。
369デフォルトの名無しさん
2017/06/18(日) 19:28:18.01ID:mREyO8+w 俺的忘備録
必須key、3つ
<key>Label</key>
<key>ProgramArguments</key>
<key>KeepAlive</key>
3つ目のやつを<true/>にしないとbackgroundで動かん!
さらに、最後のはOnDemand=falseと等価なのだが、
OnDemandはshould not use!だって。
man launchd.plistに詳細が記載。
必須key、3つ
<key>Label</key>
<key>ProgramArguments</key>
<key>KeepAlive</key>
3つ目のやつを<true/>にしないとbackgroundで動かん!
さらに、最後のはOnDemand=falseと等価なのだが、
OnDemandはshould not use!だって。
man launchd.plistに詳細が記載。
370デフォルトの名無しさん
2017/06/18(日) 19:51:32.81ID:mREyO8+w Labelが無いとどうなるんでしょう?
371デフォルトの名無しさん
2017/06/18(日) 19:54:50.51ID:mREyO8+w Invalid or missing service identifier
372デフォルトの名無しさん
2017/06/18(日) 20:02:09.12ID:mREyO8+w さて、stdoutはどうやって拾うのだ?
373デフォルトの名無しさん
2017/06/18(日) 20:13:05.46ID:mREyO8+w man lauchd.plist
して/stdout
すれば出て来た。
して/stdout
すれば出て来た。
374デフォルトの名無しさん
2017/06/18(日) 22:47:06.74ID:o43mtcr6 >>364-368
Linux では、プロセス間に親子関係がある。
端末から、Aプロセスを起動すれば、端末が親で、Aが子
「親亀こけたら、子亀もこける」から、端末が終了すると、Aも終了する。
端末から、SSHで、リモートサーバーへアクセスしても、
接続断などで、リモートのシェルが終了すると、
シェルから起動したコマンドも終了してしまう
リモートで、tmux をずっと起動させておけば、コマンドは動き続ける
他には、サービス・デーモンのように、プロセスの親をなくす(デーモン化)
ptree コマンドで、プロセスツリーを見てみ
Linux では、プロセス間に親子関係がある。
端末から、Aプロセスを起動すれば、端末が親で、Aが子
「親亀こけたら、子亀もこける」から、端末が終了すると、Aも終了する。
端末から、SSHで、リモートサーバーへアクセスしても、
接続断などで、リモートのシェルが終了すると、
シェルから起動したコマンドも終了してしまう
リモートで、tmux をずっと起動させておけば、コマンドは動き続ける
他には、サービス・デーモンのように、プロセスの親をなくす(デーモン化)
ptree コマンドで、プロセスツリーを見てみ
375デフォルトの名無しさん
2017/06/19(月) 00:00:57.99ID:7PGcweVa376デフォルトの名無しさん
2017/06/19(月) 09:53:11.25ID:JRZAs/i8377デフォルトの名無しさん
2017/06/19(月) 09:56:20.02ID:rtjcKsU2 >>376
それやっても親子関係が残るからだめだっつってるのに文盲か?
それやっても親子関係が残るからだめだっつってるのに文盲か?
378デフォルトの名無しさん
2017/06/19(月) 10:00:51.58ID:zE2VOzv5379デフォルトの名無しさん
2017/06/20(火) 00:23:19.32ID:8wgIueO/ pstree コマンドで、プロセスの親子関係をツリー表示して、見てみれば?
結局、Ruby を学んでも、OS を学んでいなければ、
システム系のプログラミングは出来ない
だから普通、プログラマーよりも、LPIC資格を持っている、
サーバー構築・運用者の方が、給料が高い
結局、Ruby を学んでも、OS を学んでいなければ、
システム系のプログラミングは出来ない
だから普通、プログラマーよりも、LPIC資格を持っている、
サーバー構築・運用者の方が、給料が高い
380デフォルトの名無しさん
2017/06/20(火) 00:54:05.18ID:uMblZ3Am × システム系のプログラミング
○ 運用系のプログラミング
○ 運用系のプログラミング
381デフォルトの名無しさん
2017/06/20(火) 08:29:32.89ID:rapwcYHc382デフォルトの名無しさん
2017/06/20(火) 10:01:32.57ID:8wgIueO/ まあ、プログラマーで、プロセスに親子関係があるとか、
cron の使い方とか、tmux とか、知っている奴はいない
cron あるあるとか、SSH あるあるとか、Linuxでは定番
cron の使い方とか、tmux とか、知っている奴はいない
cron あるあるとか、SSH あるあるとか、Linuxでは定番
383デフォルトの名無しさん
2017/06/20(火) 10:41:15.76ID:rapwcYHc >>382
プロセスに親子関係がある。コマンド実行時にshellがforkされるのは知ってたんだけど。。。
以前はnohupなんて使わなくても、
>someCommand &
とすれば
>nohup comeCommand &
した事になったのに!
いつから、nohupなんて現れたのだ?
プロセスに親子関係がある。コマンド実行時にshellがforkされるのは知ってたんだけど。。。
以前はnohupなんて使わなくても、
>someCommand &
とすれば
>nohup comeCommand &
した事になったのに!
いつから、nohupなんて現れたのだ?
384デフォルトの名無しさん
2017/06/20(火) 10:45:41.82ID:rapwcYHc どうやらbashは終了時に起動したプロセスにSIGNHUPを送るらしい。
俺が昔使って居た、csh, tcshではそんな事はなかったのに!
時代は変わったんだな。
俺が昔使って居た、csh, tcshではそんな事はなかったのに!
時代は変わったんだな。
385デフォルトの名無しさん
2017/06/20(火) 12:38:36.99ID:5s5M5H6z386デフォルトの名無しさん
2017/06/20(火) 12:39:25.49ID:5s5M5H6z387デフォルトの名無しさん
2017/06/20(火) 12:51:49.38ID:rapwcYHc zshってのが便利だってのを、webの記事でよく見るけど、
どうなん?
bashが糞なら、zshを使って見るかな。
zshもbashの親戚みたいな動きをするなら、zshも糞って事になるけど。
どうなん?
bashが糞なら、zshを使って見るかな。
zshもbashの親戚みたいな動きをするなら、zshも糞って事になるけど。
388デフォルトの名無しさん
2017/06/20(火) 13:51:30.44ID:DOO3yEYl >>387
zsh もデフォの振る舞いは bash とおなじ。
設定で setopt nohup すれば、hup 送らなくなる。
bash でも huponexit オプション外せば送らなくなる。
ソフトウェアのマニュアルも読まずに糞とか言うのは、
自分は所詮そのレベルの人間ですと言ってるようにしか聞こえないよ。
zsh もデフォの振る舞いは bash とおなじ。
設定で setopt nohup すれば、hup 送らなくなる。
bash でも huponexit オプション外せば送らなくなる。
ソフトウェアのマニュアルも読まずに糞とか言うのは、
自分は所詮そのレベルの人間ですと言ってるようにしか聞こえないよ。
389デフォルトの名無しさん
2017/06/20(火) 13:59:24.54ID:rapwcYHc390デフォルトの名無しさん
2017/06/20(火) 14:18:05.45ID:rapwcYHc >>388
うぅーん。
macOS Sierraのbashにもshopt huponexitってのがあるが、
どうも、最初からoffになってるにも関わらず、signhupを送ってる。
ためしにonにしてみたが、bash終了時にbackground実行しているプロセスが死んでしまう事に、変わりなし。
nohupコマンドを付けないと、background実行できないみたいだ。
うぅーん。
macOS Sierraのbashにもshopt huponexitってのがあるが、
どうも、最初からoffになってるにも関わらず、signhupを送ってる。
ためしにonにしてみたが、bash終了時にbackground実行しているプロセスが死んでしまう事に、変わりなし。
nohupコマンドを付けないと、background実行できないみたいだ。
391デフォルトの名無しさん
2017/06/20(火) 15:04:00.33ID:DOO3yEYl >>390
bash の終了を exit じゃなくてウィンドウ閉じるでやってない?
明示してないのにバックグラウンドで動きっぱなしになっていて欲しいユースケースってどんな時なの?
nohup/disown の方が好きな自分からは想像できないわ。
bash の終了を exit じゃなくてウィンドウ閉じるでやってない?
明示してないのにバックグラウンドで動きっぱなしになっていて欲しいユースケースってどんな時なの?
nohup/disown の方が好きな自分からは想像できないわ。
392デフォルトの名無しさん
2017/06/20(火) 15:20:19.60ID:rapwcYHc >>391
Scrapingスクリプトをproxy経由で動かす場合、proxyのレスポンスが悪いので、数時間掛かります。proxyは10箇所を順に変えながらScrapingします。
ruby someScript.rb &で即backgroundで動いて欲しいです。
まあ、慣れればいいだけかもしれんけど、nohupっていうprefixが必要なのは、ちょいとなぁ。
Scrapingスクリプトをproxy経由で動かす場合、proxyのレスポンスが悪いので、数時間掛かります。proxyは10箇所を順に変えながらScrapingします。
ruby someScript.rb &で即backgroundで動いて欲しいです。
まあ、慣れればいいだけかもしれんけど、nohupっていうprefixが必要なのは、ちょいとなぁ。
393デフォルトの名無しさん
2017/06/20(火) 15:22:05.91ID:rapwcYHc >>391
Terminal.appは動かしッパでも構わないのですが、
Vim7.4, Vim8.0が時々落ちます。その際、Terminal.appも巻き添いなんです。
すると、Scrapingも落ちちゃって困ってたのです。
Terminal.appは動かしッパでも構わないのですが、
Vim7.4, Vim8.0が時々落ちます。その際、Terminal.appも巻き添いなんです。
すると、Scrapingも落ちちゃって困ってたのです。
394デフォルトの名無しさん
2017/06/20(火) 15:23:21.50ID:rapwcYHc Vimが落ちるのはterminal typeがxterm-256colorが悪さをしていて、ansiへ変更がwork aroundだと聞いて、今様子を見ているところです。
395デフォルトの名無しさん
2017/06/20(火) 15:29:54.49ID:DOO3yEYl396デフォルトの名無しさん
2017/06/20(火) 15:36:38.36ID:rapwcYHc397デフォルトの名無しさん
2017/06/20(火) 16:02:58.26ID:HkCB1WW9 rubyスレ?
398デフォルトの名無しさん
2017/06/20(火) 16:14:40.13ID:+dHGS6wU tmux使う方が早い
399デフォルトの名無しさん
2017/06/21(水) 00:25:07.92ID:39OgiOwj >>392
> 即backgroundで動いて欲しいです。
冷静になったら、そうでないほうがたしかによい、と思うはず。
誤ってbgにしたり、bgにしたまま忘れたりした状態でログアウトした場合のリスクを考えれば。
> 即backgroundで動いて欲しいです。
冷静になったら、そうでないほうがたしかによい、と思うはず。
誤ってbgにしたり、bgにしたまま忘れたりした状態でログアウトした場合のリスクを考えれば。
400デフォルトの名無しさん
2017/06/21(水) 13:07:38.08ID:L1LFWazB むしろ、WSH で、Excel など外部アプリを起動すると、Excel のプロセスが残り続けるから、
どんどん、Excel のプロセスが増えていき、
これらをどうやって終了するのか、皆苦しんでいるんだが
どんどん、Excel のプロセスが増えていき、
これらをどうやって終了するのか、皆苦しんでいるんだが
401デフォルトの名無しさん
2017/06/21(水) 18:38:55.26ID:xJXAtiMS 残らないが?
402デフォルトの名無しさん
2017/06/23(金) 10:35:54.52ID:0OdP20aK >>399
bgの何が問題?
bgの何が問題?
403デフォルトの名無しさん
2017/06/23(金) 10:36:22.71ID:0OdP20aK >>400
馬鹿だな
馬鹿だな
404デフォルトの名無しさん
2017/06/23(金) 13:24:40.77ID:AzvmtT2M 初心者です、自作の汎用関数を定義したのですが、いちいちスクリプト内にコピペするのが面倒なので
外部ファイルにして冒頭でrequireすることにしました。
ですが、ここに具体的なファイルパスを書くと、ファイルの設置場所を変えたい場合に問題があるのでパスは書きたくないです。
require 'myfunc'
と簡便に書ければいいのですが、どこに置けばいいでしょうか?
外部ファイルにして冒頭でrequireすることにしました。
ですが、ここに具体的なファイルパスを書くと、ファイルの設置場所を変えたい場合に問題があるのでパスは書きたくないです。
require 'myfunc'
と簡便に書ければいいのですが、どこに置けばいいでしょうか?
405デフォルトの名無しさん
2017/06/23(金) 13:37:52.68ID:9PTuVR6v 現実の開発ではきちんとバージョン管理するのでフォルダの構成変更なんかそんなに頻繁にやることではない
だからリポジトリを分けるほどでもないなら気にせずパス決め打ちでいい
独立性と再利用性が高いものであればリポジトリを分けてgemにする
だからリポジトリを分けるほどでもないなら気にせずパス決め打ちでいい
独立性と再利用性が高いものであればリポジトリを分けてgemにする
406デフォルトの名無しさん
2017/06/23(金) 14:21:13.96ID:AzvmtT2M ありがとうございました
407デフォルトの名無しさん
2017/06/23(金) 14:40:20.24ID:tdHTYauf rails で、自作ライブラリの、autoload なら、
lib/モジュール名/クラス名.rb
lib/foo/bar.rb
module Foo
class Bar
ファイル名は小文字で、単語の区切りは'_'に変える
class FooBar
lib/foo_bar.rb
lib/モジュール名/クラス名.rb
lib/foo/bar.rb
module Foo
class Bar
ファイル名は小文字で、単語の区切りは'_'に変える
class FooBar
lib/foo_bar.rb
408デフォルトの名無しさん
2017/06/23(金) 14:43:58.67ID:qsHmY7yg >>404
場合によっては環境変数 RUBYLIBにmyfunc等のパスを淹れるのもあり
https://docs.ruby-lang.org/ja/latest/doc/spec=2fenvvars.html
場合によっては環境変数 RUBYLIBにmyfunc等のパスを淹れるのもあり
https://docs.ruby-lang.org/ja/latest/doc/spec=2fenvvars.html
409デフォルトの名無しさん
2017/06/23(金) 18:29:59.15ID:+um/cK3a >>400
“終了しない excel application”でググったら出てきたけどこの仕様は罠だろ・・・
“終了しない excel application”でググったら出てきたけどこの仕様は罠だろ・・・
410デフォルトの名無しさん
2017/06/23(金) 18:31:41.63ID:PAAniHx4 馬鹿には無理
411デフォルトの名無しさん
2017/06/23(金) 19:09:21.56ID:F2nCEsS4 >>409
COM経由で起動させてるんなら自動で終了する方がきもちわるい
COM経由で起動させてるんなら自動で終了する方がきもちわるい
412デフォルトの名無しさん
2017/06/23(金) 19:49:53.85ID:+um/cK3a >>411
自動化処理に使ったプロセスが不要になっても残りっぱなしの方が気持ち悪い
自動化処理に使ったプロセスが不要になっても残りっぱなしの方が気持ち悪い
413デフォルトの名無しさん
2017/06/24(土) 18:05:14.46ID:M5zFSS9+414デフォルトの名無しさん
2017/06/24(土) 18:06:46.13ID:M5zFSS9+ >>412
プロセス自身にはわからんじゃろ。。。
プロセス自身にはわからんじゃろ。。。
415デフォルトの名無しさん
2017/06/28(水) 09:33:18.25ID:+O8L6XqQ 瑕疵担保責任(かしたんぽせきにん)
瑕疵担保責任のポイント
民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない
http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt
改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている
全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html
ポイント1:修補や損害賠償、契約解除の期限がなくなる
従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。
もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
瑕疵担保責任のポイント
民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない
http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt
改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている
全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html
ポイント1:修補や損害賠償、契約解除の期限がなくなる
従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。
もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
416デフォルトの名無しさん
2017/06/28(水) 10:47:59.83ID:+O8L6XqQ 366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する
↓
Railsはマイナー、メジャーのアップデートが半年以内に必ずある
↓
客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく
↓
気づいてから1年以内に通知すれば、5年間無料保証ゲット
↓
つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する
↓
Railsはマイナー、メジャーのアップデートが半年以内に必ずある
↓
客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく
↓
気づいてから1年以内に通知すれば、5年間無料保証ゲット
↓
つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
417デフォルトの名無しさん
2017/06/28(水) 19:56:54.80ID:ZzpJpley > RubyやPHPなど動的言語は確実に廃れる。
軽々しくこういう断言する人間の言葉は話半分どころか1/4以下にして聞け、ってばっちゃが言ってた
軽々しくこういう断言する人間の言葉は話半分どころか1/4以下にして聞け、ってばっちゃが言ってた
418デフォルトの名無しさん
2017/06/28(水) 20:15:29.47ID:kl/WEkBu Rubyが現在進行形で廃れていってるのは確かな事実だけどね
419デフォルトの名無しさん
2017/06/28(水) 21:48:23.90ID:WbQwz649 ぶっちゃけて言えば、意味論的には普通なのに文法がぐちゃぐちゃすぎて使いづらい。
Perl のあまりの一貫性のなさに Ruby を試したりしたこともあるが、
多少はマシって程度でうんざりするような無茶苦茶さを指向していることにかわりない。
parse.y が黒魔術の塊だというのは聞いていたが、実際に見てみると常軌を逸している。
せっかく yacc を使ってるのに純粋な LALR として解釈できないようなわけわかんないクソが埋め込まれてて、
もはや統制が取れてない。
mruby をベースにして拡充していった方がいい気がする。
Perl のあまりの一貫性のなさに Ruby を試したりしたこともあるが、
多少はマシって程度でうんざりするような無茶苦茶さを指向していることにかわりない。
parse.y が黒魔術の塊だというのは聞いていたが、実際に見てみると常軌を逸している。
せっかく yacc を使ってるのに純粋な LALR として解釈できないようなわけわかんないクソが埋め込まれてて、
もはや統制が取れてない。
mruby をベースにして拡充していった方がいい気がする。
420デフォルトの名無しさん
2017/06/30(金) 00:38:26.19ID:UcGpMueB 使いづらいなら他の言語使えばいいじゃん
わざわざRubyスレ覗いてRubyの悪口書いてる暇があるなら他の言語でコード書こうぜ
わざわざRubyスレ覗いてRubyの悪口書いてる暇があるなら他の言語でコード書こうぜ
421デフォルトの名無しさん
2017/06/30(金) 01:21:01.84ID:svEzz20W >>420
だからもう十年以上使ってない。
事実として文法規則のごちゃごちゃしたところはあるという話だよ。
そして事実として私はそれを気に入らなかったという話だよ。
よくある場面を短く書けるとか人間の一般的な感覚に合わせたりもした結果だというのはわかっているし、
Ruby に向いた用途があるのは知ってるよ。
ただ、それの行く先には実装上の行き詰まりが生じそうだという懸念だ。
だからもう十年以上使ってない。
事実として文法規則のごちゃごちゃしたところはあるという話だよ。
そして事実として私はそれを気に入らなかったという話だよ。
よくある場面を短く書けるとか人間の一般的な感覚に合わせたりもした結果だというのはわかっているし、
Ruby に向いた用途があるのは知ってるよ。
ただ、それの行く先には実装上の行き詰まりが生じそうだという懸念だ。
422デフォルトの名無しさん
2017/06/30(金) 01:37:54.59ID:UcGpMueB423デフォルトの名無しさん
2017/06/30(金) 02:32:52.47ID:7V8Jdo2I Rubyは読み書きしやすいから使ってる
規則が統一された文法が良ければLispを使えよ
規則が統一された文法が良ければLispを使えよ
424デフォルトの名無しさん
2017/06/30(金) 09:41:10.74ID:jqp1y4Nc 何で使ってない言語を見に来ているの?
暇なの?
暇なの?
425デフォルトの名無しさん
2017/06/30(金) 09:50:34.06ID:flSVgAwO rubyは上級者には不満があるのかもしれんが、俺の様な素人が使うには使いやすい。
メソッドチェインも「.」でつなげていくだけだし、
正規表現使うのにimportとかしなくていいし。
でも複数行のコメントアウトは面倒。
メソッドチェインも「.」でつなげていくだけだし、
正規表現使うのにimportとかしなくていいし。
でも複数行のコメントアウトは面倒。
426デフォルトの名無しさん
2017/06/30(金) 09:51:37.98ID:BBkM2EA1 >>422
Rubyスレに来て悪態さらすヤツってのは、喩えて言えばこんな感じだ。
最初は、良い会社だと思って就職した。
けど、外から見るのと、入って見るのとでは大違いで、内部は火の車だった。
(例:最近の東芝、タカタ)
転職活動も、うまくいかず、悪態をつかざるを得なくなる。
Rubyスレに来て悪態さらすヤツってのは、喩えて言えばこんな感じだ。
最初は、良い会社だと思って就職した。
けど、外から見るのと、入って見るのとでは大違いで、内部は火の車だった。
(例:最近の東芝、タカタ)
転職活動も、うまくいかず、悪態をつかざるを得なくなる。
427デフォルトの名無しさん
2017/06/30(金) 10:15:14.59ID:pDIkSJMf 2ちゃんも昔は良かった
428デフォルトの名無しさん
2017/06/30(金) 11:25:06.46ID:BBkM2EA1429デフォルトの名無しさん
2017/06/30(金) 11:30:06.98ID:hBaGJvUf430デフォルトの名無しさん
2017/06/30(金) 11:33:27.81ID:BBkM2EA1431デフォルトの名無しさん
2017/06/30(金) 11:38:01.54ID:625dciv9 >>429
こんな糞みたいなの教えたって誰も使わない
こんな糞みたいなの教えたって誰も使わない
432デフォルトの名無しさん
2017/06/30(金) 11:45:54.89ID:flSVgAwO433デフォルトの名無しさん
2017/06/30(金) 12:42:16.16ID:UcGpMueB >>432
メモ帳使ってるわけじゃないんだろうからそれぐらいショートカット使えば差はない
メモ帳使ってるわけじゃないんだろうからそれぐらいショートカット使えば差はない
434デフォルトの名無しさん
2017/06/30(金) 12:50:26.31ID:hBaGJvUf タイピングの文字数に拘るあたりが初心者だよな
(↑それが悪いことだとは言っていないし、一切の悪意は無い)
プログラミングを指の労働と捕らえてるんだよな
(↑それが悪いことだとは言っていないし、一切の悪意は無い)
プログラミングを指の労働と捕らえてるんだよな
435デフォルトの名無しさん
2017/06/30(金) 13:04:45.36ID:mtvSOUWH436デフォルトの名無しさん
2017/06/30(金) 13:09:33.76ID:UcGpMueB >>435
=begin, =end は一時的なコメントアウトにはよく使うよ
=begin, =end は一時的なコメントアウトにはよく使うよ
437デフォルトの名無しさん
2017/06/30(金) 13:35:43.48ID:2Da2vksV438デフォルトの名無しさん
2017/06/30(金) 13:40:13.66ID:625dciv9 そんなperlのパクリ機能なんかもう使ってる人いないよ
普通は#で複数行コメントアウトするようなエディタ使ってるでしょ
普通は#で複数行コメントアウトするようなエディタ使ってるでしょ
439デフォルトの名無しさん
2017/06/30(金) 14:08:18.32ID:W0OUnv8/ 黙らせるならexit!やな
440デフォルトの名無しさん
2017/06/30(金) 16:49:14.50ID:tesV9X+3 一時的に処理から外したいときは「そういやRubyにも複数行コメントの記述法があったななんだったかな」と思いながら
#と方向キーを交互に連打してるかコメントリージョン機能を使ってるかどっちかだな
#と方向キーを交互に連打してるかコメントリージョン機能を使ってるかどっちかだな
441デフォルトの名無しさん
2017/06/30(金) 18:29:44.40ID:4uO/IbWe atomやvscodeだったら Ctrl + / で行コメントの挿入削除
442デフォルトの名無しさん
2017/07/01(土) 04:05:27.85ID:J52nGMUC 俺は if false 〜〜〜 else 〜〜〜 end を使ってる
あるいは後置 if false
元の処理を走らせる場合は否定演算子を付けて if !false みたいにしてるなあ
あるいは後置 if false
元の処理を走らせる場合は否定演算子を付けて if !false みたいにしてるなあ
443デフォルトの名無しさん
2017/07/01(土) 04:30:56.70ID:yR6MEKU9444デフォルトの名無しさん
2017/07/01(土) 05:26:51.20ID:PPsHHHSM445デフォルトの名無しさん
2017/07/01(土) 11:17:02.68ID:N+ZXroXE >>414
爺なの?
爺なの?
446デフォルトの名無しさん
2017/07/01(土) 14:26:38.71ID:R60vnDrO 同じ処理をさせようとしても
初心者が書くのと慣れてる奴が書くのとですでに差が出てる
a = ['a', 'b', 'c']
b = []
i = 0
a.each {|c| b << (i.to_s + c); i += 1}
p b
↑こーいう書き方する人ほどタイプ数に拘り
↓こーいう人はもはやそこでは騒がない
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
p c
初心者が書くのと慣れてる奴が書くのとですでに差が出てる
a = ['a', 'b', 'c']
b = []
i = 0
a.each {|c| b << (i.to_s + c); i += 1}
p b
↑こーいう書き方する人ほどタイプ数に拘り
↓こーいう人はもはやそこでは騒がない
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
p c
447デフォルトの名無しさん
2017/07/01(土) 14:59:17.39ID:yR6MEKU9 いい加減壁に向かって物言うのやめたら
誰もそれを話題にしてはいないよ
誰もそれを話題にしてはいないよ
448デフォルトの名無しさん
2017/07/01(土) 15:48:19.58ID:qX8eRJNR449デフォルトの名無しさん
2017/07/01(土) 16:44:27.93ID:R60vnDrO450デフォルトの名無しさん
2017/07/01(土) 19:39:10.28ID:QATpSz/4451デフォルトの名無しさん
2017/07/01(土) 20:41:44.60ID:M8KylmXN b = []
b << 要素
1つずつ、配列に追加していく処理だけど、
エラー処理などがいらないなら、簡潔に書くべき
b << 要素
1つずつ、配列に追加していく処理だけど、
エラー処理などがいらないなら、簡潔に書くべき
452デフォルトの名無しさん
2017/07/01(土) 21:37:44.67ID:sOThA7TG >>446
> 初心者が書くのと慣れてる奴が書くのとですでに差が出てる
せやね
お前が書くと
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
俺が書くと
c = %w(a b c).map.with_index {|c, i| i.to_s + c}
これはタイプ数の問題じゃねーよ?
配列から配列に変換して入れる処理で
eachって単語がでてくることキモいって話
> 初心者が書くのと慣れてる奴が書くのとですでに差が出てる
せやね
お前が書くと
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
俺が書くと
c = %w(a b c).map.with_index {|c, i| i.to_s + c}
これはタイプ数の問題じゃねーよ?
配列から配列に変換して入れる処理で
eachって単語がでてくることキモいって話
453デフォルトの名無しさん
2017/07/01(土) 22:38:49.78ID:M8KylmXN 関数厨は、Ruby・JS のスレにやって来て、
何でもかんでも、map を使って、1行で書いてしまうからなw
何でもかんでも、map を使って、1行で書いてしまうからなw
454デフォルトの名無しさん
2017/07/01(土) 22:44:59.49ID:Tp0p2tiJ >>452のようなことに特に興味がなくて
正直どっちでもよくね?
って考える普通の人はRubyを使わなくてもよいってことなんだよ
まさにこれがRuby
「タイプ数にこだわるのは初心者」
「そうそうそうなんだよね〜」
とか言いながら動的型言語を使うのって最高でしょ
正直どっちでもよくね?
って考える普通の人はRubyを使わなくてもよいってことなんだよ
まさにこれがRuby
「タイプ数にこだわるのは初心者」
「そうそうそうなんだよね〜」
とか言いながら動的型言語を使うのって最高でしょ
455デフォルトの名無しさん
2017/07/01(土) 23:45:31.46ID:N+ZXroXE mapperかな
456デフォルトの名無しさん
2017/07/01(土) 23:49:19.16ID:cxvWbv+r いくらRubyのコード効率が良いと言っても可読性を犠牲にするつもりはないな
無用に行数を減らしたりオブジェクト名の長さを減らしたりはしない
そういう書き方をすると後で苦労するのは自分だし
無用に行数を減らしたりオブジェクト名の長さを減らしたりはしない
そういう書き方をすると後で苦労するのは自分だし
457デフォルトの名無しさん
2017/07/01(土) 23:54:52.06ID:sOThA7TG >>456
可読性というのは読むべき「単語」を減らすものであって
行数を減らすことやオブジェクト名を減らすことは
単語を減らすことにはつながらない。
例えば行数を減らしたとしても、それが 空行や { などの
カッコだけの行を減らした所で単語数は変わらない。
むしろ空行がある方が読みやすい文章となることもある
名前も、短い名前にしても単語数は変わらない
単語数を減らすと結果的に行数が減ることはあるが、
行数を減らすことは可読性を上げる行為ではない。
可読性というのは読むべき「単語」を減らすものであって
行数を減らすことやオブジェクト名を減らすことは
単語を減らすことにはつながらない。
例えば行数を減らしたとしても、それが 空行や { などの
カッコだけの行を減らした所で単語数は変わらない。
むしろ空行がある方が読みやすい文章となることもある
名前も、短い名前にしても単語数は変わらない
単語数を減らすと結果的に行数が減ることはあるが、
行数を減らすことは可読性を上げる行為ではない。
458デフォルトの名無しさん
2017/07/01(土) 23:56:03.86ID:5xgWPcGQ459デフォルトの名無しさん
2017/07/01(土) 23:56:04.59ID:sOThA7TG ちなみにさっき書いたこれ。
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
c = %w(a b c).map.with_index {|c, i| i.to_s + c}
下の方が「単語数」が減っている。
each with index map ・・・ 4単語
map with index ・・・ 3単語
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
c = %w(a b c).map.with_index {|c, i| i.to_s + c}
下の方が「単語数」が減っている。
each with index map ・・・ 4単語
map with index ・・・ 3単語
460デフォルトの名無しさん
2017/07/01(土) 23:57:42.07ID:sOThA7TG461デフォルトの名無しさん
2017/07/02(日) 00:03:47.37ID:0SO6fajC あ、間違った。こうなw
c = %w(a b c).map.with_index {|c, i| "#{i}#{c}" }
俺としては、なんでmapがデフォルトでindexを持ってないかのほうが気になるな。
JavaScriptならこれでいいのに
a = ['a', 'b', 'c']
c = a.map((v, i) => i+v)
c = %w(a b c).map.with_index {|c, i| "#{i}#{c}" }
俺としては、なんでmapがデフォルトでindexを持ってないかのほうが気になるな。
JavaScriptならこれでいいのに
a = ['a', 'b', 'c']
c = a.map((v, i) => i+v)
462デフォルトの名無しさん
2017/07/02(日) 00:18:14.45ID:IGa4njyh463デフォルトの名無しさん
2017/07/02(日) 00:19:08.94ID:J2BCSwZK JavaScriptはJavaの名前にあやかっただけで全くJavaじゃないって本当ですか?
464デフォルトの名無しさん
2017/07/02(日) 00:23:24.49ID:0SO6fajC >>462
Rubyでもこの文脈では引数の数のチェックをしてないようですが?
%w(a b c).map.with_index {|c| "#{c}" } # 引数が足りなくてもエラーなし
%w(a b c).map {|c, i, x, y, z| "#{i}#{c}" } # 引数が多くてもエラーなし
Rubyでもこの文脈では引数の数のチェックをしてないようですが?
%w(a b c).map.with_index {|c| "#{c}" } # 引数が足りなくてもエラーなし
%w(a b c).map {|c, i, x, y, z| "#{i}#{c}" } # 引数が多くてもエラーなし
465デフォルトの名無しさん
2017/07/02(日) 00:24:36.29ID:0SO6fajC >>463
Rubyも宝石の名前にあやかってるだけで全くRubyじゃないよw
Rubyも宝石の名前にあやかってるだけで全くRubyじゃないよw
466デフォルトの名無しさん
2017/07/02(日) 00:24:58.24ID:J2BCSwZK >>465
なるほどw
なるほどw
467デフォルトの名無しさん
2017/07/02(日) 00:29:32.61ID:WUsDB0eH JavaScriptはLISPっぽい所ある
468デフォルトの名無しさん
2017/07/02(日) 00:38:11.58ID:yqVk05l0 >これはタイプ数の問題じゃねーよ?
と言いつつも
>可読性というのは読むべき「単語」を減らすものであって
と言うのであった
そして多くの人はこう思うのであった
「単語数と可読性ってそんなに関係あるか?」
「ここで言ってた可読性って、少々冗長であっても
読みやすいほうが良いって話じゃなかったの?」
>下の方が「単語数」が減っている。
>each with index map ・・・ 4単語
>map with index ・・・ 3単語
一単語減らせて本当によかったね
>これはタイプ数の問題じゃねーよ? 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
と言いつつも
>可読性というのは読むべき「単語」を減らすものであって
と言うのであった
そして多くの人はこう思うのであった
「単語数と可読性ってそんなに関係あるか?」
「ここで言ってた可読性って、少々冗長であっても
読みやすいほうが良いって話じゃなかったの?」
>下の方が「単語数」が減っている。
>each with index map ・・・ 4単語
>map with index ・・・ 3単語
一単語減らせて本当によかったね
>これはタイプ数の問題じゃねーよ? 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
469デフォルトの名無しさん
2017/07/02(日) 00:49:17.22ID:0SO6fajC >>468
> >これはタイプ数の問題じゃねーよ?
> と言いつつも
> >可読性というのは読むべき「単語」を減らすものであって
> と言うのであった
矛盾してないよ?
例えばコピペ、コピペを使うとタイプ数は減る。
CTRL+vとたった1文字タイプするだけで、
過去に書いたコードを複製できる。
だけど、読むべき単語は倍増していく
可読性のためにやらなければいけないのは、タイプ数を
減らすことではなくて単語数を減らすこと
> >これはタイプ数の問題じゃねーよ?
> と言いつつも
> >可読性というのは読むべき「単語」を減らすものであって
> と言うのであった
矛盾してないよ?
例えばコピペ、コピペを使うとタイプ数は減る。
CTRL+vとたった1文字タイプするだけで、
過去に書いたコードを複製できる。
だけど、読むべき単語は倍増していく
可読性のためにやらなければいけないのは、タイプ数を
減らすことではなくて単語数を減らすこと
470デフォルトの名無しさん
2017/07/02(日) 00:55:38.04ID:0SO6fajC >>468
> 「単語数と可読性ってそんなに関係あるか?」
> 「ここで言ってた可読性って、少々冗長であっても
> 読みやすいほうが良いって話じゃなかったの?」
日本語に置き換えて考えればわかるだろ?
文章はシンプルな方が読みやすい。
ただそれだけのことなんだが。
まああと付け加えるとするならば「誰にとって」の話だな。
もちろんプログラマにとってだ。
これは数学に例えればわかるか?
数学者同士が会話をする時、数式を使ったほうがより簡単に説明できる。
数学者同士の会話で素人がわかるように数式を使わないで
会話するのは話をわかりにくくするだけ
なぜか? 数式を使えば短い単語数で説明できるから。
ここで素人でもわかるように難しい単語を使わない方がいいという意見は
数学者同士の会話で、素人でもわかりやすく話せといってるようなもん。
素人のために生産性を大きく落とすだけ
> 「単語数と可読性ってそんなに関係あるか?」
> 「ここで言ってた可読性って、少々冗長であっても
> 読みやすいほうが良いって話じゃなかったの?」
日本語に置き換えて考えればわかるだろ?
文章はシンプルな方が読みやすい。
ただそれだけのことなんだが。
まああと付け加えるとするならば「誰にとって」の話だな。
もちろんプログラマにとってだ。
これは数学に例えればわかるか?
数学者同士が会話をする時、数式を使ったほうがより簡単に説明できる。
数学者同士の会話で素人がわかるように数式を使わないで
会話するのは話をわかりにくくするだけ
なぜか? 数式を使えば短い単語数で説明できるから。
ここで素人でもわかるように難しい単語を使わない方がいいという意見は
数学者同士の会話で、素人でもわかりやすく話せといってるようなもん。
素人のために生産性を大きく落とすだけ
471デフォルトの名無しさん
2017/07/02(日) 00:57:54.25ID:NbWg8gon >>470
その冗長なレスをまず自覚しろ
その冗長なレスをまず自覚しろ
472デフォルトの名無しさん
2017/07/02(日) 01:08:47.26ID:yqVk05l0 プログラムを書くのであれば誰しも可読性が良いプログラムを書きたいと考える
部分があるかもしれないが、そんなとき、単語数などというものの脳内に
占めるウエイトは、ほぼ無い
「あのプログラムのソースコードは単語数が少ないから非常に読みやすかったよ〜」
なんて会話は、無い
というと、じゃあ単語数が多いほうが良いのか?と言い出すかもしれないが
そもそも単語数など論点にするのがピンボケ
労力の方向がおかしいし、論点がおかしい
部分があるかもしれないが、そんなとき、単語数などというものの脳内に
占めるウエイトは、ほぼ無い
「あのプログラムのソースコードは単語数が少ないから非常に読みやすかったよ〜」
なんて会話は、無い
というと、じゃあ単語数が多いほうが良いのか?と言い出すかもしれないが
そもそも単語数など論点にするのがピンボケ
労力の方向がおかしいし、論点がおかしい
473デフォルトの名無しさん
2017/07/02(日) 01:14:15.76ID:0SO6fajC >>471
お前が短く書き直せば?w
お前が短く書き直せば?w
474デフォルトの名無しさん
2017/07/02(日) 01:15:48.32ID:0SO6fajC >>472
> 「あのプログラムのソースコードは単語数が少ないから非常に読みやすかったよ〜」
> なんて会話は、無い
無駄がないとかシンプルっていう言い方をしてるはずだよ。
無駄がないとかシンプルとはどういうことか?というと
それは殆どの場合単語数が少ないことを意味してる
単に言い方の違いだねw
> 「あのプログラムのソースコードは単語数が少ないから非常に読みやすかったよ〜」
> なんて会話は、無い
無駄がないとかシンプルっていう言い方をしてるはずだよ。
無駄がないとかシンプルとはどういうことか?というと
それは殆どの場合単語数が少ないことを意味してる
単に言い方の違いだねw
475デフォルトの名無しさん
2017/07/02(日) 01:23:00.07ID:yqVk05l0 ついでに言っておくと、俺は別に冗長に書けばわかりやすくなるとも思ってない
元の人がそのようなことを言っていたから、そういった風なことも書いたが
俺自身はそうとも思っていない
というか、そういったことは、割とどうでもよいというか
多少コードがシンプルになったぐらいで一喜一憂する気分ではない
そりゃ少しはうれしいが、それはまぁなんていうか、青信号だったラッキー、みたいな感覚
どちらかというと、1円見つけた!のほうが嬉しいかなー
元の人がそのようなことを言っていたから、そういった風なことも書いたが
俺自身はそうとも思っていない
というか、そういったことは、割とどうでもよいというか
多少コードがシンプルになったぐらいで一喜一憂する気分ではない
そりゃ少しはうれしいが、それはまぁなんていうか、青信号だったラッキー、みたいな感覚
どちらかというと、1円見つけた!のほうが嬉しいかなー
476デフォルトの名無しさん
2017/07/02(日) 01:28:42.17ID:0SO6fajC > 多少コードがシンプルになったぐらいで一喜一憂する気分ではない
割合で考えようか?
4単語が3単語になったら、25%もシンプルになったとみなすことができる
割合で考えようか?
4単語が3単語になったら、25%もシンプルになったとみなすことができる
477デフォルトの名無しさん
2017/07/02(日) 01:36:42.12ID:yqVk05l0 ほらもう、プログラムの美的センスがまるでないでしょ
>無駄がないとかシンプルとはどういうことか?というと
>それは殆どの場合単語数が少ないことを意味してる
大体において、ソフトウェアの可読性について考えたとき
そのほとんどは設計に依存していると考える人は多いっつーか
まぁ普通の感覚であるところだけど
じゃあなるべく素晴らしい設計をしようって意気込んだ時
「できるだけ単語数を減らせるような設計にしよう」
なんてこと考える奴居るのかね
そんなことがシンプルさの基準になるんかね
これはコードレベルでも同じことだろう
と、俺は思っているわけ
>無駄がないとかシンプルとはどういうことか?というと
>それは殆どの場合単語数が少ないことを意味してる
大体において、ソフトウェアの可読性について考えたとき
そのほとんどは設計に依存していると考える人は多いっつーか
まぁ普通の感覚であるところだけど
じゃあなるべく素晴らしい設計をしようって意気込んだ時
「できるだけ単語数を減らせるような設計にしよう」
なんてこと考える奴居るのかね
そんなことがシンプルさの基準になるんかね
これはコードレベルでも同じことだろう
と、俺は思っているわけ
478デフォルトの名無しさん
2017/07/02(日) 01:39:30.83ID:yqVk05l0 >4単語が3単語になったら、25%もシンプルになったとみなすことができる
なんでシンプルさの基準が単語数なのか本当に不思議な奴だ
プログラム書いたことないんじゃね?説
なんでシンプルさの基準が単語数なのか本当に不思議な奴だ
プログラム書いたことないんじゃね?説
479デフォルトの名無しさん
2017/07/02(日) 03:26:13.52ID:0SO6fajC >>477
> 「できるだけ単語数を減らせるような設計にしよう」
> なんてこと考える奴居るのかね
いるだろうな
言語とかライブラリの比較みてみ?
あの言語・ライブラリではこんなに面倒なコードが
たったこれだけのコード(単語数)で書けるって
話になってるから。
> 「できるだけ単語数を減らせるような設計にしよう」
> なんてこと考える奴居るのかね
いるだろうな
言語とかライブラリの比較みてみ?
あの言語・ライブラリではこんなに面倒なコードが
たったこれだけのコード(単語数)で書けるって
話になってるから。
480デフォルトの名無しさん
2017/07/02(日) 03:29:27.16ID:0SO6fajC >>478
> なんでシンプルさの基準が単語数なのか本当に不思議な奴だ
単語数だけじゃないけど?
それ以外の条件が同じ時。
単語数が少ないほうがシンプルなコード
それ以外の条件っていうのは、単語の長さはどちらも同程度であること
一行の文字数はどちらも同程度であること
関数の行数はどちらも同程度であること
ファイル数やクラス数や関数数はどちらも同程度であること
それ以外の条件を同じか、同程度にした時
単語数が少ないほうがシンプルなコードになる。
> なんでシンプルさの基準が単語数なのか本当に不思議な奴だ
単語数だけじゃないけど?
それ以外の条件が同じ時。
単語数が少ないほうがシンプルなコード
それ以外の条件っていうのは、単語の長さはどちらも同程度であること
一行の文字数はどちらも同程度であること
関数の行数はどちらも同程度であること
ファイル数やクラス数や関数数はどちらも同程度であること
それ以外の条件を同じか、同程度にした時
単語数が少ないほうがシンプルなコードになる。
481デフォルトの名無しさん
2017/07/02(日) 05:05:29.89ID:mUyXxhhW 各「.」で何の型が返ってきているのか、実装を見ずとも自明になっている。
最悪でも、マウス当てただけで自明になる書き方。
これを守ってるほうが遥かに重要だわ。
最悪でも、マウス当てただけで自明になる書き方。
これを守ってるほうが遥かに重要だわ。
482デフォルトの名無しさん
2017/07/02(日) 05:55:04.26ID:X/s5VUlf ああもうあなたが初心者であることはよくわかったので他のスレでやってくれ
https://mevius.2ch.net/test/read.cgi/tech/1475332848/
https://mevius.2ch.net/test/read.cgi/tech/1475332848/
483デフォルトの名無しさん
2017/07/02(日) 06:33:34.29ID:tl1wWlTJ うますぎるプログラムはいけない
484デフォルトの名無しさん
2017/07/02(日) 12:23:01.69ID:Ey9UZy2f >>461
確かにその文法欲しいな。
確かにその文法欲しいな。
485デフォルトの名無しさん
2017/07/02(日) 13:05:35.53ID:NbWg8gon >>477
同意
プログラミングの難しさは設計の難しさ
コードの美しさは設計の美しさ
それが分かっている奴は
初心者が騒ぐ観点で騒がない
真顔で黙ってる
タイプ数が少ない?よかったね
単語数が少ない?よかったねえ
同意
プログラミングの難しさは設計の難しさ
コードの美しさは設計の美しさ
それが分かっている奴は
初心者が騒ぐ観点で騒がない
真顔で黙ってる
タイプ数が少ない?よかったね
単語数が少ない?よかったねえ
486デフォルトの名無しさん
2017/07/02(日) 13:08:21.66ID:0SO6fajC コードが美しい?よかったねえ
487デフォルトの名無しさん
2017/07/02(日) 13:49:07.69ID:27xX9ykc488デフォルトの名無しさん
2017/07/02(日) 17:59:14.19ID:NbWg8gon 既存の言語が気に入らないんなら
自分で作ってみればいいんじゃね?
クソじゃない言語とやらを
自分で作ってみればいいんじゃね?
クソじゃない言語とやらを
489デフォルトの名無しさん
2017/07/02(日) 18:07:42.30ID:IGa4njyh490デフォルトの名無しさん
2017/07/02(日) 21:49:13.80ID:19kDKEGS >>487
Haskell良いぞぉ〜。
Haskell良いぞぉ〜。
491デフォルトの名無しさん
2017/07/02(日) 22:48:36.18ID:ynDhLM7Z Java + Groovy = Kotlin
Groovy == Ruby
つまり、Kotlin は、Ruby, Groovy に静的型チェックを付けたもの。
型チェックがあるから面倒くさいが、型推論もある
または、Java に関数型を付けたものとも言える
Groovy == Ruby
つまり、Kotlin は、Ruby, Groovy に静的型チェックを付けたもの。
型チェックがあるから面倒くさいが、型推論もある
または、Java に関数型を付けたものとも言える
492デフォルトの名無しさん
2017/07/02(日) 22:51:40.39ID:WUsDB0eH >>491
使ったことないでしょ君
使ったことないでしょ君
493デフォルトの名無しさん
2017/07/03(月) 00:51:18.19ID:6nx2OSAK494デフォルトの名無しさん
2017/07/03(月) 01:32:13.92ID:95u0vCaW デフォでindex持ってたらそれこそ冗長じゃないの
495デフォルトの名無しさん
2017/07/03(月) 01:33:52.97ID:NVKo/d7Z >>494
冗長であるとはどういうこと?
冗長であるとはどういうこと?
496デフォルトの名無しさん
2017/07/03(月) 03:30:38.10ID:6nx2OSAK497デフォルトの名無しさん
2017/07/03(月) 03:42:56.46ID:2SpTAV0H 構成が冗長ってどういうことだろう?
普通、冗長ってそういう意味に使わないよね?
普通、冗長ってそういう意味に使わないよね?
498デフォルトの名無しさん
2017/07/03(月) 10:06:01.55ID:looyCaxt >>493
each_with_index は素の each に比べて 3~4 割遅い。
each のデフォルトで index を持つよりは、遅くても index が使いたいときに明示するという使い方の方がリーズナブルだと思うけど。
each_with_index は素の each に比べて 3~4 割遅い。
each のデフォルトで index を持つよりは、遅くても index が使いたいときに明示するという使い方の方がリーズナブルだと思うけど。
499デフォルトの名無しさん
2017/07/03(月) 10:29:47.39ID:edaN+zHQ でもそういう使い分けこそ、まつもとさんに言わせればムダなわけだし
あのひとは機械にできることはすべて機械にやらせるべし、って言ってるからね
コンパイラはインデックスを必要としているかどうか、判断できるわけだから
勝手に使い分けてくれればよいんじゃね?
てことでRubyを静的型にしてオーバーロードで解決すればよいだろう
静的型にするとコンパイル時に型チェックをさせることができるし
最適化もかけやすくなるし、入力補完との相性もよい
機械で出来ることがどんどん増えるから
まつもとさんの機械にできることは〜の考えによく合ってるね
あのひとは機械にできることはすべて機械にやらせるべし、って言ってるからね
コンパイラはインデックスを必要としているかどうか、判断できるわけだから
勝手に使い分けてくれればよいんじゃね?
てことでRubyを静的型にしてオーバーロードで解決すればよいだろう
静的型にするとコンパイル時に型チェックをさせることができるし
最適化もかけやすくなるし、入力補完との相性もよい
機械で出来ることがどんどん増えるから
まつもとさんの機械にできることは〜の考えによく合ってるね
500デフォルトの名無しさん
2017/07/03(月) 11:00:51.38ID:looyCaxt >>499
> あのひとは機械にできることはすべて機械にやらせるべし、って言ってるからね
発言を自分に都合よく拡大解釈してない?
> コンパイラはインデックスを必要としているかどうか、判断できるわけだから
あなたの脳内のコンパイラはそれができるみたいだけど、
現状のMRIにその機能は無いよ。
> てことでRubyを静的型にしてオーバーロードで解決すればよいだろう
> 静的型にするとコンパイル時に型チェックをさせることができるし
> 最適化もかけやすくなるし、入力補完との相性もよい
機械で出来ることがどんどん増えるから
現時点で解決したいならCrystal使ったほうがいいよ。
変数の型を変えると言う言語の根幹に影響する変更が受け入れられるとは思わないけど、あなたがそんなに強く望むのならコミュニティに参加して意見が通るほどの功績を積むのが最短の道。
> あのひとは機械にできることはすべて機械にやらせるべし、って言ってるからね
発言を自分に都合よく拡大解釈してない?
> コンパイラはインデックスを必要としているかどうか、判断できるわけだから
あなたの脳内のコンパイラはそれができるみたいだけど、
現状のMRIにその機能は無いよ。
> てことでRubyを静的型にしてオーバーロードで解決すればよいだろう
> 静的型にするとコンパイル時に型チェックをさせることができるし
> 最適化もかけやすくなるし、入力補完との相性もよい
機械で出来ることがどんどん増えるから
現時点で解決したいならCrystal使ったほうがいいよ。
変数の型を変えると言う言語の根幹に影響する変更が受け入れられるとは思わないけど、あなたがそんなに強く望むのならコミュニティに参加して意見が通るほどの功績を積むのが最短の道。
501デフォルトの名無しさん
2017/07/03(月) 20:57:22.46ID:91Pqu4Id >>500
久々に普通な常識を元にしたレスを見た
久々に普通な常識を元にしたレスを見た
502デフォルトの名無しさん
2017/07/03(月) 23:47:51.07ID:7Hia1uWl まあ別にeachにインデックスを渡してても良かったと思うけどね
(3..9).each_with_index {|e| p e }
(3..9).each_with_index {|e| p e }
503デフォルトの名無しさん
2017/07/04(火) 04:47:02.02ID:nYPV9UDZ つーかeach_with_indexが長いから
each_iとかで良かったんじゃね?
極端な省略だけどto_iとかもあるから
each_iとかで良かったんじゃね?
極端な省略だけどto_iとかもあるから
504デフォルトの名無しさん
2017/07/04(火) 10:42:41.42ID:olJiM2Cb オブジェクト指向なんだからオブジェクトによって振る舞いが変わればよくね?
なんでこっちで使い分けなきゃならんの?
なんでこっちで使い分けなきゃならんの?
505デフォルトの名無しさん
2017/07/04(火) 11:11:52.06ID:XKRg/8mz 最初に each_with_index つくったのがいまとなっては浅はか
もしかしたら当時 Enumerator がなかったんかもしれんけど
もしかしたら当時 Enumerator がなかったんかもしれんけど
506デフォルトの名無しさん
2017/07/04(火) 12:27:20.90ID:FYa81knm それとは別でeach.with_indexもあるって言うね。。。
507デフォルトの名無しさん
2017/07/04(火) 12:29:22.36ID:jC9x4mB4 JavaScriptみたいにcallback関数(ブロック)の引数の数で
挙動を変えられるようにできたら良いんじゃね?
つまり
[1,2,3].map(v => v) だったらインデックスなしのコードが実行されて
[1,2,3].map((v,i) => i + ':' + v) だったらwith_index相当
挙動を変えられるようにできたら良いんじゃね?
つまり
[1,2,3].map(v => v) だったらインデックスなしのコードが実行されて
[1,2,3].map((v,i) => i + ':' + v) だったらwith_index相当
508デフォルトの名無しさん
2017/07/04(火) 12:36:39.44ID:Qa2xT13J 話をぶった切るけど
Rubyで人工知能、それもワトソンのクローンを作りたいんだけど
Ruby界隈ではどうやって人を集めたら良い?
成果としてRubyの人工研究関連の書籍がだせるし、出来上がったソフトかそのサポートでビジネス出来る可能性あるし、何かの縁で研究関連の所と一緒に仕事できるかもしれないし、政経的な所に話を持っていける実績つくしで、
良いことばかりだからやってみたいんだけど
基本、金は出したくないけど、Rubyで大きな事がやりたい
Rubyで人工知能、それもワトソンのクローンを作りたいんだけど
Ruby界隈ではどうやって人を集めたら良い?
成果としてRubyの人工研究関連の書籍がだせるし、出来上がったソフトかそのサポートでビジネス出来る可能性あるし、何かの縁で研究関連の所と一緒に仕事できるかもしれないし、政経的な所に話を持っていける実績つくしで、
良いことばかりだからやってみたいんだけど
基本、金は出したくないけど、Rubyで大きな事がやりたい
509デフォルトの名無しさん
2017/07/04(火) 12:37:00.52ID:XKRg/8mz510507
2017/07/04(火) 12:40:29.48ID:jC9x4mB4 補足しておくとJavaScriptは
function foo() {}
function bar(i) {}
function baz(i,j) {}
foo.length => 0
bar.length => 1
baz.length => 2
のように関数定義の引数の数が取得できる
const hoge = (i) => i+1
hoge.length => 1
アロー関数でも使える
function map(callback) { console.log(callback.length + ' arguments') } みたいにしておくと
map(i => i+1) => 1 arguments
map((i, j) => i+1) => 2 arguments
map((i, j, k) => i+1) => 3 arguments
みたいに関数の中で、コールバック関数の引数の数で処理を変更することができる
function foo() {}
function bar(i) {}
function baz(i,j) {}
foo.length => 0
bar.length => 1
baz.length => 2
のように関数定義の引数の数が取得できる
const hoge = (i) => i+1
hoge.length => 1
アロー関数でも使える
function map(callback) { console.log(callback.length + ' arguments') } みたいにしておくと
map(i => i+1) => 1 arguments
map((i, j) => i+1) => 2 arguments
map((i, j, k) => i+1) => 3 arguments
みたいに関数の中で、コールバック関数の引数の数で処理を変更することができる
511デフォルトの名無しさん
2017/07/04(火) 12:40:38.40ID:Fv1Dj8Gj512デフォルトの名無しさん
2017/07/04(火) 12:42:55.91ID:Qa2xT13J ワトソンの解説みたいなのをRubyでコード実装して試す本、
ってのなら割と興味もたれて売れると思うんだよ
どうかな?
ってのなら割と興味もたれて売れると思うんだよ
どうかな?
513デフォルトの名無しさん
2017/07/04(火) 12:43:23.19ID:Fv1Dj8Gj >>508
ワトソンは厳密にはAIでは無い。
人口無能ってやつだ。基本、失敗した技術。
マーケティング的に成功している。
クイズの回答をさせるのとか、いかにも考えて居る風に装って、
実は探索を行うのだ。
ワトソンは厳密にはAIでは無い。
人口無能ってやつだ。基本、失敗した技術。
マーケティング的に成功している。
クイズの回答をさせるのとか、いかにも考えて居る風に装って、
実は探索を行うのだ。
514デフォルトの名無しさん
2017/07/04(火) 12:44:13.45ID:Fv1Dj8Gj >>512
Rubyで作る人工無脳、って本があったはず。
Rubyで作る人工無脳、って本があったはず。
515デフォルトの名無しさん
2017/07/04(火) 12:45:12.42ID:Fv1Dj8Gj516デフォルトの名無しさん
2017/07/04(火) 12:47:14.56ID:Qa2xT13J しってるしってる
だからワトソンのクローンをRubyでつくるんだよ
で、あの人工無能のどこに深層学習やら何やらの技術が使われてるかRuby使って解説する本を出すんだよ
だからワトソンのクローンをRubyでつくるんだよ
で、あの人工無能のどこに深層学習やら何やらの技術が使われてるかRuby使って解説する本を出すんだよ
517デフォルトの名無しさん
2017/07/04(火) 12:47:34.81ID:jC9x4mB4 >>508
ワトソンよく知らないけど、これが本当なら泥臭いソフトだと思うわ
https://wirelesswire.jp/2016/11/57683/
> しかし、それは失望と呼ぶしかないものでした。
> WatsonのAPIとして提供されているものは、「自然言語分類」
> 「検索およびランク付け」「文書変換」「会話」「音声認識」
> 「音声合成」といったもので、これは基本的にはディープラーニングとは
> 無関係な、既存技術の寄せ集めに過ぎません。もっというと、
> Watsonを有名にしたはずの、クイズに正解する機能すらありません。
> 少なくとも汎用的は皆無です。
人工無能でも膨大なデータを投入して、ちゃんとした
検索エンジンを使えば、それなりに使えるものができる。
みたいな認識。
ワトソンよく知らないけど、これが本当なら泥臭いソフトだと思うわ
https://wirelesswire.jp/2016/11/57683/
> しかし、それは失望と呼ぶしかないものでした。
> WatsonのAPIとして提供されているものは、「自然言語分類」
> 「検索およびランク付け」「文書変換」「会話」「音声認識」
> 「音声合成」といったもので、これは基本的にはディープラーニングとは
> 無関係な、既存技術の寄せ集めに過ぎません。もっというと、
> Watsonを有名にしたはずの、クイズに正解する機能すらありません。
> 少なくとも汎用的は皆無です。
人工無能でも膨大なデータを投入して、ちゃんとした
検索エンジンを使えば、それなりに使えるものができる。
みたいな認識。
518デフォルトの名無しさん
2017/07/04(火) 12:47:46.71ID:Fv1Dj8Gj519デフォルトの名無しさん
2017/07/04(火) 12:51:53.36ID:jC9x4mB4 ワトソンは人工知能ではない
だが商業的には成功している
人工知能ではないが使える技術はある
使える技術=検索エンジン
↓ってことでこれなw
本当に必要ものは人工知能ではなくて検索エンジン [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1498937148/
検索エンジンを求めている客に
人工知能ですよという言葉で近づいて
検索エンジンを売る商売w
だが商業的には成功している
人工知能ではないが使える技術はある
使える技術=検索エンジン
↓ってことでこれなw
本当に必要ものは人工知能ではなくて検索エンジン [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1498937148/
検索エンジンを求めている客に
人工知能ですよという言葉で近づいて
検索エンジンを売る商売w
520デフォルトの名無しさん
2017/07/04(火) 12:54:36.48ID:2/r2iAfu >>510
引数の数は取得できるし、この話はそういうことじゃなくて、引数の渡し方の問題
引数の数は取得できるし、この話はそういうことじゃなくて、引数の渡し方の問題
521デフォルトの名無しさん
2017/07/04(火) 12:55:29.02ID:Qa2xT13J 先ずはワトソンを、組織的かつ学術的に解析するために、
資料集めたり研究者に聞きにいったりする必要があるんだけど、
一人でやるのとは違うから会社みたいに事務というか書類や議事といった形式をまとめないといけない
で、Rubyでやるわけだから誰かruby界隈での人の集め方知っているかな?って思いでレスしたんだ
出版社さんあたりが絡んでくれると、バックボーンができるから(確実に出版にまで漕ぎ着けられるから)うれしいんだけど
資料集めたり研究者に聞きにいったりする必要があるんだけど、
一人でやるのとは違うから会社みたいに事務というか書類や議事といった形式をまとめないといけない
で、Rubyでやるわけだから誰かruby界隈での人の集め方知っているかな?って思いでレスしたんだ
出版社さんあたりが絡んでくれると、バックボーンができるから(確実に出版にまで漕ぎ着けられるから)うれしいんだけど
522デフォルトの名無しさん
2017/07/04(火) 12:57:14.60ID:Fv1Dj8Gj 人工知能とは、Neural Net、しかも学習済みのNeural Net(スペル自信なし)なのだ。
NNの構造に、自己学習、つまり入力から入力を出力するNNを取り入れて居るところに、昨今のNNのbreak throughがある。
この認識でOK?エロい人?
NNの構造に、自己学習、つまり入力から入力を出力するNNを取り入れて居るところに、昨今のNNのbreak throughがある。
この認識でOK?エロい人?
523デフォルトの名無しさん
2017/07/04(火) 12:59:01.56ID:Fv1Dj8Gj524デフォルトの名無しさん
2017/07/04(火) 13:01:25.57ID:jC9x4mB4 >>520
mapはデフォルトでインデックスあり(with_index相当)であればいいのにって話じゃないの?
そしたらwith_indexは遅いって話が出たから、
ブロックの引数を見て、indexを参照しているときだけ
with_index相当にすれば、速度は遅くならないって話をしてるんだけど
mapはデフォルトでインデックスあり(with_index相当)であればいいのにって話じゃないの?
そしたらwith_indexは遅いって話が出たから、
ブロックの引数を見て、indexを参照しているときだけ
with_index相当にすれば、速度は遅くならないって話をしてるんだけど
525デフォルトの名無しさん
2017/07/04(火) 13:02:50.26ID:Fv1Dj8Gj526デフォルトの名無しさん
2017/07/04(火) 13:03:01.58ID:Qa2xT13J そもそも人工知能研究ってその当代の計算機性能で出来る、自動で組み合わせて問題を解く研究なんだよ
でも計算機性能で無限じゃないからできることには制限がある
だから人の手等をつかって計算量を減らしたり人手で統計を用意したりして、計算機性能の低さをカバーしてきた
それが計算機性能があがっていきできる事が増えてきた、というのが現在
ワトソンでクイズに答えられるようにまなった
人工知能研究の成果で出来た物は本来はもう人工知能とは呼ばないんだけど、
マーケティング用語というか通りが良いから人工知能ってつけてるわけなんだ
でも計算機性能で無限じゃないからできることには制限がある
だから人の手等をつかって計算量を減らしたり人手で統計を用意したりして、計算機性能の低さをカバーしてきた
それが計算機性能があがっていきできる事が増えてきた、というのが現在
ワトソンでクイズに答えられるようにまなった
人工知能研究の成果で出来た物は本来はもう人工知能とは呼ばないんだけど、
マーケティング用語というか通りが良いから人工知能ってつけてるわけなんだ
527デフォルトの名無しさん
2017/07/04(火) 13:13:51.50ID:1Tk0DRaF ID変えてネガキャンする流れからは変えられたみたいだけど今度は人工知能に噛み付きだしたか
そんなに噛み付いて荒らすだけならrubyスレにくるな
rubyの興隆が気にくわないとか知ったことではない
そんなに噛み付いて荒らすだけならrubyスレにくるな
rubyの興隆が気にくわないとか知ったことではない
528デフォルトの名無しさん
2017/07/04(火) 13:26:47.51ID:2/r2iAfu >>524
rubyでeachの速度なんて気にする人はwhile使うからそんなこと考えなくていいいよ
rubyでeachの速度なんて気にする人はwhile使うからそんなこと考えなくていいいよ
529デフォルトの名無しさん
2017/07/04(火) 13:29:09.59ID:Qa2xT13J Rubyで人工知能って書籍はすでにいくつかあるけど、
Rubyでワトソンを解説するってのは凄く面白いと思う
いままでワトソンの資料を個人的に集めて見てきたけど、
ワトソンをRubyで誰でも作れるようになれば、これってrailsの次のRubyブームにならない?
Rubyでワトソンを解説するってのは凄く面白いと思う
いままでワトソンの資料を個人的に集めて見てきたけど、
ワトソンをRubyで誰でも作れるようになれば、これってrailsの次のRubyブームにならない?
530デフォルトの名無しさん
2017/07/04(火) 13:39:30.76ID:jC9x4mB4531デフォルトの名無しさん
2017/07/04(火) 13:40:58.31ID:Qa2xT13J 深層学習はPythonが有名だけど、
みんながみんな深層学習じゃなくてワトソンのような、技術そのものじゃなくて実用できるものを作りたいんだと思う
だったらRubyで大元の部分をつくっちゃえば良くない?って考えなんだけど
みんながみんな深層学習じゃなくてワトソンのような、技術そのものじゃなくて実用できるものを作りたいんだと思う
だったらRubyで大元の部分をつくっちゃえば良くない?って考えなんだけど
532デフォルトの名無しさん
2017/07/04(火) 13:54:58.37ID:Fv1Dj8Gj 昨日と同じく、眠くなってきた。
カフェインを摂取した。
カフェインを摂取した。
533デフォルトの名無しさん
2017/07/04(火) 14:07:04.87ID:jC9x4mB4 >>531
そうするとRubyで?ことになるんだけどな。
なんでかっていうと、ワトソンみたい物を作る時、
「自然言語分類」にはどのライブラリを使うか?
「検索及びランク付け」にはどのライブラリを使うか?
「文書検索」には略
「会話」には略
「音声認識」には略
「音声合成」には略
これらのライブラリをRubyで再実装するわけじゃあるまい?
再実装するならRubyで作るって話でいいけど
そうでないなら何を組み合わせるか?って話で
検索エンジンであればSolrやElasticsearchを使いましょう。
とかになるだろうし、
Rubyで作るというよりか、既存のオープンソースの何かを使って
システムを構成しましょうって話になると思うよ。
Rubyで大本の部分を作るんじゃなくて、大本の部分はあるから
Rubyでそれらをつなぎましょう程度じゃね?
そうするとRubyで?ことになるんだけどな。
なんでかっていうと、ワトソンみたい物を作る時、
「自然言語分類」にはどのライブラリを使うか?
「検索及びランク付け」にはどのライブラリを使うか?
「文書検索」には略
「会話」には略
「音声認識」には略
「音声合成」には略
これらのライブラリをRubyで再実装するわけじゃあるまい?
再実装するならRubyで作るって話でいいけど
そうでないなら何を組み合わせるか?って話で
検索エンジンであればSolrやElasticsearchを使いましょう。
とかになるだろうし、
Rubyで作るというよりか、既存のオープンソースの何かを使って
システムを構成しましょうって話になると思うよ。
Rubyで大本の部分を作るんじゃなくて、大本の部分はあるから
Rubyでそれらをつなぎましょう程度じゃね?
534デフォルトの名無しさん
2017/07/04(火) 15:09:51.34ID:Qa2xT13J 深層学習という技術そのものにおいて相も変わらずPythonは有力な一つの候補だし、ネイティブな所は相も変わらずC/C++で書かれたライブラリがあるわけだけど、
(大勢の人がワトソンクローンを理解、組めるように)Rubyなら(コードを)書きやすい、書き換えやすい、(個人的に)図示しやすい
だからRubyで
という話なんだ
ライブラリの選択どうするの?本の構成どうするの?細部をどうするの?ってのは紙面に依るとしか言えない
ページをだいたいこのぐらい見積もるから、こういう構成で行きましょう、ここはこういう形で行きましょう、というのが一般的な普通の流れ
ページが無限ならそれこそRubyの内部の仕組みから全て書けるわけだけど、残念ながらページは有限、でもって何ページになるのかも未定の状態
要はページ数によって内容がダイナミックに変わってしまうという事
それに対して、ページ数やら構成を考えるのに、判断の元となるものが必要となる
個人で書ける本ならその人の持ってるあんちょこでも別段かまわないんだけど、じゃあ複数人でっとなった場合はその個人一人のあんちょこじゃ問題がある(「それって結局、君の場合でしょ?」で終わってしまう)
だからこそ決め打ちでは語れないし、判断の元になるものを"公"に"形式"をとって、(誌面に載るかどうかはおいて置いて)網羅的に準備しなければならないわけなんだ
決め打ちしてそれに基づいて必要とする資料だけを集めて済むなら万々歳なんだけど、そうはいかないんだ
で、Rubyを基本とするからRubyできてもらわなければ困る
だからRuby界隈での実動者が私を含めて必要になるわけなんだよ
自前で用意するものが出てくるかもしれないという話は、当然だけど結局は誌面やら規模やらで判断される
(大勢の人がワトソンクローンを理解、組めるように)Rubyなら(コードを)書きやすい、書き換えやすい、(個人的に)図示しやすい
だからRubyで
という話なんだ
ライブラリの選択どうするの?本の構成どうするの?細部をどうするの?ってのは紙面に依るとしか言えない
ページをだいたいこのぐらい見積もるから、こういう構成で行きましょう、ここはこういう形で行きましょう、というのが一般的な普通の流れ
ページが無限ならそれこそRubyの内部の仕組みから全て書けるわけだけど、残念ながらページは有限、でもって何ページになるのかも未定の状態
要はページ数によって内容がダイナミックに変わってしまうという事
それに対して、ページ数やら構成を考えるのに、判断の元となるものが必要となる
個人で書ける本ならその人の持ってるあんちょこでも別段かまわないんだけど、じゃあ複数人でっとなった場合はその個人一人のあんちょこじゃ問題がある(「それって結局、君の場合でしょ?」で終わってしまう)
だからこそ決め打ちでは語れないし、判断の元になるものを"公"に"形式"をとって、(誌面に載るかどうかはおいて置いて)網羅的に準備しなければならないわけなんだ
決め打ちしてそれに基づいて必要とする資料だけを集めて済むなら万々歳なんだけど、そうはいかないんだ
で、Rubyを基本とするからRubyできてもらわなければ困る
だからRuby界隈での実動者が私を含めて必要になるわけなんだよ
自前で用意するものが出てくるかもしれないという話は、当然だけど結局は誌面やら規模やらで判断される
535デフォルトの名無しさん
2017/07/04(火) 15:10:33.91ID:A9sYzzwp NIH症候群にかかるのは企業の要職ばかりではない
フルスクラッチネイティブではない外部ライブラリ拡張ライブラリを「正しくない」と考えてしまうことは…どうしてもある
優れた使い心地のラッパーを作るということは元APIと主言語とUIのすべての理解と研究が必要なのだからもっともっと技術的に誇っていいのだけどもね
フルスクラッチネイティブではない外部ライブラリ拡張ライブラリを「正しくない」と考えてしまうことは…どうしてもある
優れた使い心地のラッパーを作るということは元APIと主言語とUIのすべての理解と研究が必要なのだからもっともっと技術的に誇っていいのだけどもね
536デフォルトの名無しさん
2017/07/04(火) 15:13:59.53ID:Qa2xT13J やっぱりいつの時代も本を書く上ではページ数が全てだよ
537デフォルトの名無しさん
2017/07/04(火) 15:18:01.70ID:JdC3mg/z イテレータの美点は
今までつきまとってきた添え字文化を切り離したとこにあるんだよ
最大サイズ、インデックスの準備、インデックス操作、このへんは本質的じゃないよね
我々がしたいのはホントは、集まってるオブジェクト一個一個を触りたいだけだよねっていう
そのへんわきまえてるのがrubyだと思う
インデックスがデフォで付いてたりするのは原始人じみてる
今までつきまとってきた添え字文化を切り離したとこにあるんだよ
最大サイズ、インデックスの準備、インデックス操作、このへんは本質的じゃないよね
我々がしたいのはホントは、集まってるオブジェクト一個一個を触りたいだけだよねっていう
そのへんわきまえてるのがrubyだと思う
インデックスがデフォで付いてたりするのは原始人じみてる
538デフォルトの名無しさん
2017/07/04(火) 15:32:22.71ID:Fv1Dj8Gj539デフォルトの名無しさん
2017/07/04(火) 17:46:25.87ID:nYPV9UDZ540デフォルトの名無しさん
2017/07/04(火) 17:48:12.89ID:nYPV9UDZ541デフォルトの名無しさん
2017/07/04(火) 17:50:26.31ID:nYPV9UDZ542デフォルトの名無しさん
2017/07/04(火) 17:52:57.98ID:nYPV9UDZ543デフォルトの名無しさん
2017/07/04(火) 17:57:26.81ID:nYPV9UDZ >>529
>ワトソンをRubyで誰でも作れるようになれば
無理無理
誰でもワトソンは無理
誰でもボットなら可能
Rails本体を誰でも作るのは無理だろ
Railsを利用してブログを作るとかなら可能
だからAPIを使ってボットを作るみたいのなら可能
>ワトソンをRubyで誰でも作れるようになれば
無理無理
誰でもワトソンは無理
誰でもボットなら可能
Rails本体を誰でも作るのは無理だろ
Railsを利用してブログを作るとかなら可能
だからAPIを使ってボットを作るみたいのなら可能
544デフォルトの名無しさん
2017/07/04(火) 17:58:01.46ID:8gzuv+lo 「俺がRubyを使いたいから」で金が集まると本気で思ってるのかな
まあ国内技術を使うことが重要であるとか言ってうまく騙せば公的機関から引き出せるかもしれないけど
君のやろうとしていることは本質的には不必要なガラパゴス化を招き日本の衰退を加速させるだけの国賊行為であることを忘れないように
まあ国内技術を使うことが重要であるとか言ってうまく騙せば公的機関から引き出せるかもしれないけど
君のやろうとしていることは本質的には不必要なガラパゴス化を招き日本の衰退を加速させるだけの国賊行為であることを忘れないように
545デフォルトの名無しさん
2017/07/04(火) 18:10:32.16ID:jC9x4mB4 >>537
インデックスそのものと、インデックスを使ったループは別だと思うよ。
ハッシュのmapでキーが取れるように、
配列の場合はキーの代わりにインデックスってだけだと思う。
キーとインデックスって本質的には違いはないでしょ?
インデックスそのものと、インデックスを使ったループは別だと思うよ。
ハッシュのmapでキーが取れるように、
配列の場合はキーの代わりにインデックスってだけだと思う。
キーとインデックスって本質的には違いはないでしょ?
546デフォルトの名無しさん
2017/07/04(火) 18:13:20.70ID:jC9x4mB4 >>543
誰でもワトソンを作るは無理でも、
誰でも既存のオープンソースを繰り合わせて
ワトソン相当を作ることは可能だよ。
ただクイズ番組とかワトソンの成果っていうのは
ワトソンというソフトよりも、大量のデータを投入させた所にあるので、
仮にワトソンそのものを入手したとしても、クイズ番組優勝とかは無理だよ
膨大なデータをひたすら入力する地道な作業が必要
誰でもワトソンを作るは無理でも、
誰でも既存のオープンソースを繰り合わせて
ワトソン相当を作ることは可能だよ。
ただクイズ番組とかワトソンの成果っていうのは
ワトソンというソフトよりも、大量のデータを投入させた所にあるので、
仮にワトソンそのものを入手したとしても、クイズ番組優勝とかは無理だよ
膨大なデータをひたすら入力する地道な作業が必要
547デフォルトの名無しさん
2017/07/04(火) 18:22:23.28ID:nYPV9UDZ >>546
>ワトソン相当を作ることは可能だよ
甘く見過ぎ
そんな簡単ならIBMより先にもっとできてた
>膨大なデータをひたすら入力する地道な作業が必要
それもワトソンのうちなんじゃないの?
ゲームからデータ抜いたらゲームじゃない
知能から知識抜いたら知能じゃない
>ワトソン相当を作ることは可能だよ
甘く見過ぎ
そんな簡単ならIBMより先にもっとできてた
>膨大なデータをひたすら入力する地道な作業が必要
それもワトソンのうちなんじゃないの?
ゲームからデータ抜いたらゲームじゃない
知能から知識抜いたら知能じゃない
548デフォルトの名無しさん
2017/07/04(火) 18:24:30.73ID:8gzuv+lo549デフォルトの名無しさん
2017/07/04(火) 18:25:37.93ID:Qa2xT13J >>543
Rubyでワトソンを解説ってのがスッポ抜けてるけど大事なところだよ
Rubyでワトソンを解説ってのがスッポ抜けてるけど大事なところだよ
550デフォルトの名無しさん
2017/07/04(火) 18:26:26.94ID:nYPV9UDZ >>548
ワトソンはたんなる検索エンジンじゃない
仕組みが似てる部分はあるけど
たんなる検索エンジンはクイズに答えられない
知識の与え方と引き出し方も
エキスパートシステムのうち
そこをすごく甘く見てる
ワトソンはたんなる検索エンジンじゃない
仕組みが似てる部分はあるけど
たんなる検索エンジンはクイズに答えられない
知識の与え方と引き出し方も
エキスパートシステムのうち
そこをすごく甘く見てる
551デフォルトの名無しさん
2017/07/04(火) 18:27:32.37ID:1Tk0DRaF ネガキャンが人工知能に噛み付いてくたおかげでスレがいくらか平和になったな
相変わらずうざいけど
相変わらずうざいけど
552デフォルトの名無しさん
2017/07/04(火) 18:32:42.18ID:nYPV9UDZ553デフォルトの名無しさん
2017/07/04(火) 18:38:48.19ID:Qa2xT13J ワトソンの解説をRubyのコードをつかって行うって事が重要なのに
ってなんか話が噛み合わないなと思ったら単にレスを適当にしか読んでなかったのか
納得
ってなんか話が噛み合わないなと思ったら単にレスを適当にしか読んでなかったのか
納得
554デフォルトの名無しさん
2017/07/04(火) 18:41:41.93ID:jC9x4mB4 >>547
> >膨大なデータをひたすら入力する地道な作業が必要
> それもワトソンのうちなんじゃないの?
そこに一般の人が考える人工知能の違いがあるんだよな。
大変な仕事をコンピュータが自動でやってくれるのと同じように考えてしまう。
人工知能は自動で知識をあつめてくれるわけじゃない。
コンピュータが利用できる形にデータ化されているものであれば
それを解析するのは得意だけど、そうなってないものを
データ化する作業っていうのは人間がやるしか無い。
> >膨大なデータをひたすら入力する地道な作業が必要
> それもワトソンのうちなんじゃないの?
そこに一般の人が考える人工知能の違いがあるんだよな。
大変な仕事をコンピュータが自動でやってくれるのと同じように考えてしまう。
人工知能は自動で知識をあつめてくれるわけじゃない。
コンピュータが利用できる形にデータ化されているものであれば
それを解析するのは得意だけど、そうなってないものを
データ化する作業っていうのは人間がやるしか無い。
555デフォルトの名無しさん
2017/07/04(火) 18:45:16.48ID:nYPV9UDZ >>553
あのね
WindowsみたいなOS、Googleみたいな検索エンジン、
作ったら大もうけできるのに何で寡占されてると思う?
そこまで行かなくてもRubyみたいな言語作ったら
解説本くらいは書けるだろうけど
Rubyと同じくらい普及してる日本発の言語はないよね?
なんでワトソンなら自分にもできると思っちゃうの?
あのね
WindowsみたいなOS、Googleみたいな検索エンジン、
作ったら大もうけできるのに何で寡占されてると思う?
そこまで行かなくてもRubyみたいな言語作ったら
解説本くらいは書けるだろうけど
Rubyと同じくらい普及してる日本発の言語はないよね?
なんでワトソンなら自分にもできると思っちゃうの?
556デフォルトの名無しさん
2017/07/04(火) 18:47:18.87ID:nYPV9UDZ557デフォルトの名無しさん
2017/07/04(火) 18:48:27.80ID:jC9x4mB4 >>550
> たんなる検索エンジンはクイズに答えられない
だからクイズに答えれるように人間がデータを入れるんだよ。
クイズの多くは知識問題。
例えば総理大臣の名前とか。
ありとあらゆるクイズの問題と答のペアを登録していくことで
クイズ専用のデータベースを作る。
ウェブサイトの検索エンジンがクイズに答えられないので
データベースががウェブサイトだから。
ウェブサイトは人間用の文章がほとんどなのでクイズのデータとしては適切じゃない
だからクイズに適したデータベースを作り上げる。
そういう作業を人間が行うんだよ。
それを行える人間は知能があるということになるし、
人間の知能を使ってデータベース化すれば
人工知能とやらはデータベースを検索するだけでいい。
> たんなる検索エンジンはクイズに答えられない
だからクイズに答えれるように人間がデータを入れるんだよ。
クイズの多くは知識問題。
例えば総理大臣の名前とか。
ありとあらゆるクイズの問題と答のペアを登録していくことで
クイズ専用のデータベースを作る。
ウェブサイトの検索エンジンがクイズに答えられないので
データベースががウェブサイトだから。
ウェブサイトは人間用の文章がほとんどなのでクイズのデータとしては適切じゃない
だからクイズに適したデータベースを作り上げる。
そういう作業を人間が行うんだよ。
それを行える人間は知能があるということになるし、
人間の知能を使ってデータベース化すれば
人工知能とやらはデータベースを検索するだけでいい。
558デフォルトの名無しさん
2017/07/04(火) 18:50:11.16ID:jC9x4mB4559デフォルトの名無しさん
2017/07/04(火) 18:51:28.49ID:nYPV9UDZ >>557
それは対話UIの部分を軽視してる
たしかにエキスパートシステムも
DBの問い合わせは行うが
たんなる検索エンジンとの違いは
対話システムを備えているところで
そこが思っているほどかんたんじゃないんだな
それは対話UIの部分を軽視してる
たしかにエキスパートシステムも
DBの問い合わせは行うが
たんなる検索エンジンとの違いは
対話システムを備えているところで
そこが思っているほどかんたんじゃないんだな
560デフォルトの名無しさん
2017/07/04(火) 18:55:30.46ID:8gzuv+lo IBMのビジネスモデルは基本的にパッケージ販売とSIなので、
学習済みのワトソンのAPIを提供して終わり、だとあまり意味がないわけ
IBMとしては、クソ高いパッケージとして買わせてサポートもがっつり付けてもらって、その上あわよくば下請人員まで投入して大規模案件を作りたい
だからワトソンはセルフサービスでなきゃいけないんだよ
応用として医療分野を執拗に推してるのも、医療分野はプライバシーの問題があるのでSaaSに食われにくいという面があるの
学習済みのワトソンのAPIを提供して終わり、だとあまり意味がないわけ
IBMとしては、クソ高いパッケージとして買わせてサポートもがっつり付けてもらって、その上あわよくば下請人員まで投入して大規模案件を作りたい
だからワトソンはセルフサービスでなきゃいけないんだよ
応用として医療分野を執拗に推してるのも、医療分野はプライバシーの問題があるのでSaaSに食われにくいという面があるの
561デフォルトの名無しさん
2017/07/04(火) 18:57:49.38ID:nYPV9UDZ >>558
たとえばRubyは標準ライブラリまで含めて
みんなRubyとして使ってるでしょ?
Rubyのコアな言語の文法だけを模倣するなら
誰でもできるかもしれないが実用に耐えない
同じようワトソンのコアな検索部分だけなら
模倣できるだろうけど実用に耐えない
ワトソンなんて検索エンジンだから簡単だよって言うのは
Rubyなんてインタプリタだから簡単だよって言ってるのと同じ
たとえばRubyは標準ライブラリまで含めて
みんなRubyとして使ってるでしょ?
Rubyのコアな言語の文法だけを模倣するなら
誰でもできるかもしれないが実用に耐えない
同じようワトソンのコアな検索部分だけなら
模倣できるだろうけど実用に耐えない
ワトソンなんて検索エンジンだから簡単だよって言うのは
Rubyなんてインタプリタだから簡単だよって言ってるのと同じ
562デフォルトの名無しさん
2017/07/04(火) 19:03:28.55ID:jC9x4mB4 >>559
対話システムは難しいが、その反面間違っても
許されるシステムだから、ある意味簡単とも言える。
そもそも人間同士であっても、相手の言ってることが100%
通じるわけじゃない。言う側に問題がある場合だってあるしね
ある程度正しければ許されるシステムだから裏技が使える。
それは意味を理解しなくても、単語の重要度さえ判断できればいいんじゃないか?
ということ。人間とは違ったアプローチで実装できる。
対話システムというよりも、重要度判断システム
それでもいいんだよ。ある程度の正しさがあれば許されるからね。
対話システムは難しいが、その反面間違っても
許されるシステムだから、ある意味簡単とも言える。
そもそも人間同士であっても、相手の言ってることが100%
通じるわけじゃない。言う側に問題がある場合だってあるしね
ある程度正しければ許されるシステムだから裏技が使える。
それは意味を理解しなくても、単語の重要度さえ判断できればいいんじゃないか?
ということ。人間とは違ったアプローチで実装できる。
対話システムというよりも、重要度判断システム
それでもいいんだよ。ある程度の正しさがあれば許されるからね。
563デフォルトの名無しさん
2017/07/04(火) 19:08:32.62ID:jC9x4mB4 >>560
> 学習済みのワトソンのAPIを提供して終わり、だとあまり意味がないわけ
面白い(当たり前?)のは、分野ごとに学習済みデータが存在するということ
素人(?)考えで言えば、すべての分野を学習させたスーパーワトソンを
一つだけ提供すればいいと思うかもしれないが、そうはならない。
ようは学習というのはデータベースにすぎないので、
違う業界のデータベースを混ぜて使うと、関係ないデータが
検索で引っかかるようになる、つまりノイズが多い。
そういうところを柔軟に判断してはくれないんだよね。
知能があるわけじゃなくて、単なる検索エンジンだから。
> 学習済みのワトソンのAPIを提供して終わり、だとあまり意味がないわけ
面白い(当たり前?)のは、分野ごとに学習済みデータが存在するということ
素人(?)考えで言えば、すべての分野を学習させたスーパーワトソンを
一つだけ提供すればいいと思うかもしれないが、そうはならない。
ようは学習というのはデータベースにすぎないので、
違う業界のデータベースを混ぜて使うと、関係ないデータが
検索で引っかかるようになる、つまりノイズが多い。
そういうところを柔軟に判断してはくれないんだよね。
知能があるわけじゃなくて、単なる検索エンジンだから。
564デフォルトの名無しさん
2017/07/04(火) 19:11:35.56ID:jC9x4mB4 結局重要なのはデータベース(学習データ)であるし、
そのデータベースを作るのは人間の地道な作業で、
ワトソンっていうのは最終的には学習データ販売ビジネスになります。
そのデータベースを作るのは人間の地道な作業で、
ワトソンっていうのは最終的には学習データ販売ビジネスになります。
565デフォルトの名無しさん
2017/07/04(火) 19:17:37.33ID:1Tk0DRaF ID:8gzuv+lo
ID:nYPV9UDZ
ID:jC9x4mB4
この三つのIDが延々ワトソンの謎を話し合っているけど、けっして誰もワトソンの構造について説明しようとしないよな
自演かこれ
誰か団子呼んでこいよ
ID:nYPV9UDZ
ID:jC9x4mB4
この三つのIDが延々ワトソンの謎を話し合っているけど、けっして誰もワトソンの構造について説明しようとしないよな
自演かこれ
誰か団子呼んでこいよ
566デフォルトの名無しさん
2017/07/04(火) 19:21:22.51ID:jC9x4mB4 >>565
ワトソンの構造はこちら
https://wirelesswire.jp/2016/11/57683/
> サンプルのソースコードはGithubで公開されています。
>
> まずは、IBMが先端技術と考える、その素晴らしい
> "コグニティブコンピューティング"のソースコードを御覧ください。
データがないと何もできないってのがわかるだろう?
ワトソンの構造はこちら
https://wirelesswire.jp/2016/11/57683/
> サンプルのソースコードはGithubで公開されています。
>
> まずは、IBMが先端技術と考える、その素晴らしい
> "コグニティブコンピューティング"のソースコードを御覧ください。
データがないと何もできないってのがわかるだろう?
567デフォルトの名無しさん
2017/07/04(火) 19:24:15.28ID:nYPV9UDZ 同じ話の繰り返しになるからそろそろ切り上げたいけど
Googleなんて検索エンジンだから簡単かっていえば困難でしょ?
データを含まないデータベースの問い合わせ部分だけならできても
ネット全体の規模で検索できるから普及したわけであって
それをなんでワトソンなら自分にもできると思っちゃうのか?
っていうのが言いたい
Googleなんて検索エンジンだから簡単かっていえば困難でしょ?
データを含まないデータベースの問い合わせ部分だけならできても
ネット全体の規模で検索できるから普及したわけであって
それをなんでワトソンなら自分にもできると思っちゃうのか?
っていうのが言いたい
568デフォルトの名無しさん
2017/07/04(火) 19:34:05.92ID:jC9x4mB4 まあワトソンと同等レベルのソフトウェアはできるだろう。
だけど、データベース作成の人力作業コストはどうにもならないってことだ。
データがオープンになればいいんだがねw
だけど、データベース作成の人力作業コストはどうにもならないってことだ。
データがオープンになればいいんだがねw
569デフォルトの名無しさん
2017/07/04(火) 19:41:51.75ID:1Tk0DRaF 自演あきた?
ならば良し
ならば良し
570デフォルトの名無しさん
2017/07/04(火) 19:58:39.76ID:olJiM2Cb ワトソンのことはよく知らんが、>>566のリンク先のことが本当だったとしたら
あまり面白いものではないな
それはそうとして、別の観点からちょっと思うことがあって
2chで人を集めて研究して本を出版しようって発想がかなりアレなんだわな
2chで人を集めたってゲームですらまともに完成するほうが珍しいってのに
本を出版したりアプリ売って金儲けとかもうね
もし本当にそういうことがしたいんなら、本人だけで
ほぼ完成させて、デモも動いているんだけど、どうよこれ
ぐらいまでは最低でも持って行っておかないと誰も相手にしないっつーかありえないよ
そこまでやっても多分うまくいかないと思うけど
本来なら本人が優秀なら実社会で勝手に人が集まってきて勝手に輪ができて
それでどうこう、って話なんだよ
それを、なんで、2chで人集め?
って時点でもう
それもこんな人の減った末期の2chで
あまり面白いものではないな
それはそうとして、別の観点からちょっと思うことがあって
2chで人を集めて研究して本を出版しようって発想がかなりアレなんだわな
2chで人を集めたってゲームですらまともに完成するほうが珍しいってのに
本を出版したりアプリ売って金儲けとかもうね
もし本当にそういうことがしたいんなら、本人だけで
ほぼ完成させて、デモも動いているんだけど、どうよこれ
ぐらいまでは最低でも持って行っておかないと誰も相手にしないっつーかありえないよ
そこまでやっても多分うまくいかないと思うけど
本来なら本人が優秀なら実社会で勝手に人が集まってきて勝手に輪ができて
それでどうこう、って話なんだよ
それを、なんで、2chで人集め?
って時点でもう
それもこんな人の減った末期の2chで
571デフォルトの名無しさん
2017/07/04(火) 20:06:46.34ID:1Tk0DRaF スレチ
うせろ
うせろ
572デフォルトの名無しさん
2017/07/04(火) 20:27:17.39ID:1Tk0DRaF 粘着野郎は食事か風呂のどっちかか
あいつ0時過ぎたらまたID変えてまくって何食わぬ顔で荒し行為繰り返しやがる
うぜー
あいつ0時過ぎたらまたID変えてまくって何食わぬ顔で荒し行為繰り返しやがる
うぜー
573デフォルトの名無しさん
2017/07/04(火) 20:39:45.57ID:/bsbbamh >>570
技術は面白くないが役に立つ
技術は面白くないが役に立つ
574デフォルトの名無しさん
2017/07/04(火) 20:44:12.57ID:KFTmH+Xw >>508
多分Ruby使える人で人工知能に詳しい人を探すより、大学訪ねて人工知能に詳しい人にRuby教えた方が手っ取り早い。
多分Ruby使える人で人工知能に詳しい人を探すより、大学訪ねて人工知能に詳しい人にRuby教えた方が手っ取り早い。
575デフォルトの名無しさん
2017/07/04(火) 22:31:25.00ID:C0QCHaIb ちょっと前まで何十億掛けてAIに東大の入試問題解かせて合格させようってプロジェクトがあったけど
それ以上のプロジェクトを気軽に始めようとする人って素敵☆()
壮大な目的はあるけど人集めが初心者スレなのは笑う所かなw
それ以上のプロジェクトを気軽に始めようとする人って素敵☆()
壮大な目的はあるけど人集めが初心者スレなのは笑う所かなw
576デフォルトの名無しさん
2017/07/04(火) 22:44:59.86ID:KFTmH+Xw 案外そういう怖いもの知らずのが成功するから世の中分からんね。
パラボラアンテナもスパコンのけい
パラボラアンテナもスパコンのけい
577デフォルトの名無しさん
2017/07/04(火) 22:46:30.79ID:KFTmH+Xw 途中で送信。。。
スパコンの京も、海外より予算少ないのに海外より性能良かった。
パラボラアンテナなんか、それで世界に広がった。
スパコンの京も、海外より予算少ないのに海外より性能良かった。
パラボラアンテナなんか、それで世界に広がった。
578デフォルトの名無しさん
2017/07/04(火) 22:47:49.56ID:KFTmH+Xw フロッピーディスク、切り口で怪我をしない缶詰めetcetc...
579デフォルトの名無しさん
2017/07/04(火) 23:28:44.33ID:olJiM2Cb まずまともな人望があったらこんなところで人集めの質問しないだろってのがあってだね
逆に一人でもやり遂げてやるぜって訳でもなさそうだし
そーゆー部分を見て、判断しよるよ、大人は
内容とか以前に
逆に一人でもやり遂げてやるぜって訳でもなさそうだし
そーゆー部分を見て、判断しよるよ、大人は
内容とか以前に
580デフォルトの名無しさん
2017/07/05(水) 05:47:53.58ID:WM8wHrYP どうやって正答のための元となるデータを形成するか、どうやって問から正答を導く処理を行うか
この二つがワトソンにとって重要な部分なんだけど、文で色々書くよりRubyのコードで示した方がわかりやすいと思う
IDをかえて一人で書き込んでいる人のレスみてるとやっぱりそこを理解できていないみたい
この二つがワトソンにとって重要な部分なんだけど、文で色々書くよりRubyのコードで示した方がわかりやすいと思う
IDをかえて一人で書き込んでいる人のレスみてるとやっぱりそこを理解できていないみたい
581デフォルトの名無しさん
2017/07/05(水) 12:01:58.02ID:Qpg00Afa >>428
ハトむぎ茶だっけ
ハトむぎ茶だっけ
582デフォルトの名無しさん
2017/07/05(水) 13:25:37.62ID:UBafGJG+ ヒヒヒヒヒ
583デフォルトの名無しさん
2017/07/05(水) 13:44:49.29ID:Qpg00Afa っつーかむぎ茶も出所しておまいらくらいの歳になってんだな
2chに住み着いてるかもな
2chに住み着いてるかもな
584デフォルトの名無しさん
2017/07/05(水) 16:49:24.95ID:ZXlk9SbS スレの流れをぶった切って質問。
当方、数日前に
Rubyを2.1.5 -> 2.4.1へとアップグレードしたのだが、
なんかスクリプトの実行速度が3割から4割遅くなった。
実際のところ、以前の2.1.5はgcc5.3.0でソースからビルドしたブツで、
今回入れた2.4.1はgcc7.1.0(これもちょっと前に入れた)でビルドしている。
ちなみにうちの環境だとdtrace関係でminirubyが落ちるので、
configure --disable-dtraceが必要だった。(2.1.5は無い)
正直rubyが遅くなったのかgcc等他に問題があるかどうかも判らないんだが、
2.1以降の各バージョンでのベンチマークとか、
変更点で遅くなったとかの情報が集まっているサイト等、
知っていたら教えて欲しい。
ちなみにOSは32bit版FreeBSD 10.1系とかなりマイナーな環境。
当方、数日前に
Rubyを2.1.5 -> 2.4.1へとアップグレードしたのだが、
なんかスクリプトの実行速度が3割から4割遅くなった。
実際のところ、以前の2.1.5はgcc5.3.0でソースからビルドしたブツで、
今回入れた2.4.1はgcc7.1.0(これもちょっと前に入れた)でビルドしている。
ちなみにうちの環境だとdtrace関係でminirubyが落ちるので、
configure --disable-dtraceが必要だった。(2.1.5は無い)
正直rubyが遅くなったのかgcc等他に問題があるかどうかも判らないんだが、
2.1以降の各バージョンでのベンチマークとか、
変更点で遅くなったとかの情報が集まっているサイト等、
知っていたら教えて欲しい。
ちなみにOSは32bit版FreeBSD 10.1系とかなりマイナーな環境。
585デフォルトの名無しさん
2017/07/05(水) 18:14:21.42ID:WM8wHrYP プロファイラで旧と新それぞれまわしてどこに時間がかかってるかみてみたら?
http://blog.livedoor.jp/sonots/archives/39380434.html
http://blog.livedoor.jp/sonots/archives/39380434.html
586デフォルトの名無しさん
2017/07/05(水) 18:40:35.78ID:nlxiuXwv587デフォルトの名無しさん
2017/07/05(水) 18:54:07.87ID:nlxiuXwv >>586
自己補足
個人的で尖りまくったものを述べるよ
以前、とあるInteger関係のベンチマークを比較した事があったけど
(速い) ruby-2.4 > (ruby-2.3, ruby-2.2) > ruby-2.0 > ruby-2.1 (遅い)
という結果になった
ゴンパイラはgcc8-devel、FreeBSD-11-AMD64上で実行
自己補足
個人的で尖りまくったものを述べるよ
以前、とあるInteger関係のベンチマークを比較した事があったけど
(速い) ruby-2.4 > (ruby-2.3, ruby-2.2) > ruby-2.0 > ruby-2.1 (遅い)
という結果になった
ゴンパイラはgcc8-devel、FreeBSD-11-AMD64上で実行
588デフォルトの名無しさん
2017/07/05(水) 20:40:32.03ID:IBgoqo2I http://takenaka-akio.org/etc/benchmark/
どうも、40倍〜200倍ぐらいは遅くなることを覚悟しないとダメ見たよ
仮に100倍遅くなるとしたら、3GHzのCPUが「30MHz」相当になるってことだから
ちょっと無視できるようなものではないね
コードの書き方を工夫するなどしても、100倍の差はなかなか埋まるものではないよな
もともと1秒で済んでいたはずの処理に100秒もかかることになるし
ここまで遅いと、ちょっとしたことが命取りになってくる
最初見積もっていたより処理に二倍の時間がかかかるようになってしまった場合
1秒が2秒になるのは1秒増えるだけだから我慢できても
100秒が200秒になるのは、追加の+100秒もは我慢できないとおもうよ
どうも、40倍〜200倍ぐらいは遅くなることを覚悟しないとダメ見たよ
仮に100倍遅くなるとしたら、3GHzのCPUが「30MHz」相当になるってことだから
ちょっと無視できるようなものではないね
コードの書き方を工夫するなどしても、100倍の差はなかなか埋まるものではないよな
もともと1秒で済んでいたはずの処理に100秒もかかることになるし
ここまで遅いと、ちょっとしたことが命取りになってくる
最初見積もっていたより処理に二倍の時間がかかかるようになってしまった場合
1秒が2秒になるのは1秒増えるだけだから我慢できても
100秒が200秒になるのは、追加の+100秒もは我慢できないとおもうよ
589デフォルトの名無しさん
2017/07/05(水) 21:36:48.67ID:LKhZWwoW すまん
誰か>>588 の言っている事を翻訳してくれ
誰か>>588 の言っている事を翻訳してくれ
590デフォルトの名無しさん
2017/07/05(水) 21:42:41.90ID:z3CI8qH6 処理の規模によってはアルゴリズム考えないとヤヴァイぞ☆
って言ってる。
って言ってる。
591デフォルトの名無しさん
2017/07/05(水) 21:57:18.69ID:i6JVabOm アセンブラで書くのが絶対的正義ってことでしょ
592デフォルトの名無しさん
2017/07/05(水) 22:00:41.82ID:IBgoqo2I 二つの意味が含まれているから確かにわかりにくな
まず一つ目は、既に100倍ぐらい遅いんだから
今更、3〜4割遅くなったぐらいで騒ぐほどのことじゃない
速度が欲しかったらほかの言語を使え
二つ目は、100倍も遅いということは、3.0GHzの最新CPUを使っていたとしても
実質30MHzのCPUを使っているようなものだから
ほんのちょっとしたことが命取りで、更なる3〜4割もの性能ダウンは到底無視できない
考えてもみれば、100MHzのCPUが主流だったころは、本当にシビアだったとおもう
最適化最適化で、1クロック縮めるのに命を懸けている人たちもいたね
今更そういった時代に逆戻りしてしまうのはなんだかなーと思うし
速度がほしかったらほかの言語を使え
何故か同じ結論にたどり着くわけだが、Rubyではよくあること
まず一つ目は、既に100倍ぐらい遅いんだから
今更、3〜4割遅くなったぐらいで騒ぐほどのことじゃない
速度が欲しかったらほかの言語を使え
二つ目は、100倍も遅いということは、3.0GHzの最新CPUを使っていたとしても
実質30MHzのCPUを使っているようなものだから
ほんのちょっとしたことが命取りで、更なる3〜4割もの性能ダウンは到底無視できない
考えてもみれば、100MHzのCPUが主流だったころは、本当にシビアだったとおもう
最適化最適化で、1クロック縮めるのに命を懸けている人たちもいたね
今更そういった時代に逆戻りしてしまうのはなんだかなーと思うし
速度がほしかったらほかの言語を使え
何故か同じ結論にたどり着くわけだが、Rubyではよくあること
593デフォルトの名無しさん
2017/07/05(水) 22:03:48.33ID:z3CI8qH6 昔はね。
C++でさえCからすれば遅い言われてた。
(これは理論上今でも、再利用性を得る代わりに遅くなる。C++はCの後継として、遅くなるのを最小限に抑える仕様。でも確実に遅い)
でも、CPUの進歩やコンパイラの進歩で人間が直接アセンブラ触るより速いと言われてる。
C++でさえCからすれば遅い言われてた。
(これは理論上今でも、再利用性を得る代わりに遅くなる。C++はCの後継として、遅くなるのを最小限に抑える仕様。でも確実に遅い)
でも、CPUの進歩やコンパイラの進歩で人間が直接アセンブラ触るより速いと言われてる。
594デフォルトの名無しさん
2017/07/05(水) 22:09:10.95ID:W7p06HKZ Railsみたいに、I/O 処理があれば、C/C++でも遅くなるから、Rubyと大差ない
一方、数学・アルゴリズム系で、I/O 処理がなければ、C/C++が断然速い
一方、数学・アルゴリズム系で、I/O 処理がなければ、C/C++が断然速い
595デフォルトの名無しさん
2017/07/05(水) 22:21:10.70ID:LKhZWwoW つまりちょっと前からいるIDを変えてトンチンカンな書き込みを続ける例の荒らしだな
失せろ、スレチだボケェ
失せろ、スレチだボケェ
596デフォルトの名無しさん
2017/07/05(水) 22:26:23.22ID:IBgoqo2I >でも、CPUの進歩やコンパイラの進歩で人間が直接アセンブラ触るより速いと言われてる。
まさにその通りだ
ここでもいくつかのことが言えて
一つ目は普通にC/C++使っとくのが現状最速だろうってことと
二つ目は当時はアセンブラと比べたらC/C++ですら遅いといわれていたが
別に100倍も遅かったわけではない、ということと
三つ目は、二つ目の続きなわけだけど
アセンブラと比べてC/C++が遅いといっても100倍も遅かったわけではないんだが
CPUがあまりに遅かったからちょっとのことで騒いでいた
Rubyは3.0GHzのCPUを使っていても実質的には30MHzのCPUでプログラムを動かしているようなものだから
まるで当時のような状況、ちょっとのことが命取りな状況、ということと
四つ目は、100MHzのCPUが主流だったころ、もし100倍の性能のCPUが発売されたら
みんなそっち使うよね、ってこと
できることが全然違う、速度的には新幹線と徒歩ぐらい違う
東京から大阪へ行くのに、新幹線なら、考えうる限りの寄り道しまくっても絶対徒歩より早く着く
と、言い切れるぐらいには速度差がある、ので、コーディングで手を抜けそうだね、ってことと
五つ目は、既にC/C++の最適化は鬼のような状況で、普通の人がアセンブラで書いても
到底太刀打ちできない(SEEは別)
C/C++はアセンブラより速くなったといえるだろうし、克服したといえるし、良い選択になっているが
一方で、今現在、RubyはC/C++よりも100倍遅いという現実がある
「でも、CPUの進歩やコンパイラの進歩で
(Rubyを使ったほうが)人間が直接C/C++を触るより速いと言われてる。」
という風な文章は成り立たない
まさにその通りだ
ここでもいくつかのことが言えて
一つ目は普通にC/C++使っとくのが現状最速だろうってことと
二つ目は当時はアセンブラと比べたらC/C++ですら遅いといわれていたが
別に100倍も遅かったわけではない、ということと
三つ目は、二つ目の続きなわけだけど
アセンブラと比べてC/C++が遅いといっても100倍も遅かったわけではないんだが
CPUがあまりに遅かったからちょっとのことで騒いでいた
Rubyは3.0GHzのCPUを使っていても実質的には30MHzのCPUでプログラムを動かしているようなものだから
まるで当時のような状況、ちょっとのことが命取りな状況、ということと
四つ目は、100MHzのCPUが主流だったころ、もし100倍の性能のCPUが発売されたら
みんなそっち使うよね、ってこと
できることが全然違う、速度的には新幹線と徒歩ぐらい違う
東京から大阪へ行くのに、新幹線なら、考えうる限りの寄り道しまくっても絶対徒歩より早く着く
と、言い切れるぐらいには速度差がある、ので、コーディングで手を抜けそうだね、ってことと
五つ目は、既にC/C++の最適化は鬼のような状況で、普通の人がアセンブラで書いても
到底太刀打ちできない(SEEは別)
C/C++はアセンブラより速くなったといえるだろうし、克服したといえるし、良い選択になっているが
一方で、今現在、RubyはC/C++よりも100倍遅いという現実がある
「でも、CPUの進歩やコンパイラの進歩で
(Rubyを使ったほうが)人間が直接C/C++を触るより速いと言われてる。」
という風な文章は成り立たない
597デフォルトの名無しさん
2017/07/05(水) 22:35:31.37ID:i6JVabOm >>596
その代わり面倒なコードがてんこ盛りで生産性の落ち方が半端ない
そこまでの速度を要求されるコードなんてほとんどないんだから、生産性の方が重要だよね、
ってのが高級言語の考え方なんだから速度だけにフォーカスした考えは世の中の高級言語を
すべて否定するものだ
その代わり面倒なコードがてんこ盛りで生産性の落ち方が半端ない
そこまでの速度を要求されるコードなんてほとんどないんだから、生産性の方が重要だよね、
ってのが高級言語の考え方なんだから速度だけにフォーカスした考えは世の中の高級言語を
すべて否定するものだ
598デフォルトの名無しさん
2017/07/05(水) 22:59:13.93ID:IBgoqo2I >>597
またいくつか言えて
>その代わり面倒なコードがてんこ盛りで生産性の落ち方が半端ない
本当にそう言えるのかどうなのか
今現在の状況で、静的型言語に比べて動的型言語の生産性がはるかに高い
と言い切れる人はいったいどれだけいるんだろうか
むしろ動的型言語のほうが生産性がない、という風潮ではないだろうか
だってここ最近新しく出てきた言語は当たり前のように静的型だし
それを売りにしている
で、これもかなり譲って、生産性は同等ぐらい、と考えるのなら
「実行速度100倍差」が重くのしかかる
3.0GHzの最新CPUを使っても30MHzと同等
ここまで遅いと、別の方向で頭を使う
C/C++が新幹線の「のぞみ」だとしたら
JavaやC#は「ひかり」ぐらいの速度、あるいはそれ以上は普通に出る
これなら同じ土俵に立っているといえるし
そのうえで生産性などを考える、これはわかる
だから俺は別に生産性etcの高級言語の考え方を否定する立場はとってない
しかしRubyの速度は「徒歩」である
こうなればまた考え方が変わってくる
またいくつか言えて
>その代わり面倒なコードがてんこ盛りで生産性の落ち方が半端ない
本当にそう言えるのかどうなのか
今現在の状況で、静的型言語に比べて動的型言語の生産性がはるかに高い
と言い切れる人はいったいどれだけいるんだろうか
むしろ動的型言語のほうが生産性がない、という風潮ではないだろうか
だってここ最近新しく出てきた言語は当たり前のように静的型だし
それを売りにしている
で、これもかなり譲って、生産性は同等ぐらい、と考えるのなら
「実行速度100倍差」が重くのしかかる
3.0GHzの最新CPUを使っても30MHzと同等
ここまで遅いと、別の方向で頭を使う
C/C++が新幹線の「のぞみ」だとしたら
JavaやC#は「ひかり」ぐらいの速度、あるいはそれ以上は普通に出る
これなら同じ土俵に立っているといえるし
そのうえで生産性などを考える、これはわかる
だから俺は別に生産性etcの高級言語の考え方を否定する立場はとってない
しかしRubyの速度は「徒歩」である
こうなればまた考え方が変わってくる
599デフォルトの名無しさん
2017/07/05(水) 23:10:18.58ID:i6JVabOm >>598
JavaだってC/C++に比べれば降級言語で速度も遅いが、普通に使われている
それはC/C++より生産性が(まだ)マシだからだ
これは静的型とか動的型とかは関係ない
つまり速度だけにフォーカスした比較は大きく間違ってるということだ
JavaだってC/C++に比べれば降級言語で速度も遅いが、普通に使われている
それはC/C++より生産性が(まだ)マシだからだ
これは静的型とか動的型とかは関係ない
つまり速度だけにフォーカスした比較は大きく間違ってるということだ
600デフォルトの名無しさん
2017/07/05(水) 23:19:57.66ID:k8UT78WG 続きは「C/C++はRubyより100倍早いスレ part24」でやってくれ
601デフォルトの名無しさん
2017/07/05(水) 23:20:10.86ID:WM8wHrYP 588ってどのレスへの返しなの?
遡って100レス程見たけどどこからも繋がっていないように見えるんだけど
こういうのはちょっと怖い
遡って100レス程見たけどどこからも繋がっていないように見えるんだけど
こういうのはちょっと怖い
602デフォルトの名無しさん
2017/07/05(水) 23:22:21.12ID:IBgoqo2I603デフォルトの名無しさん
2017/07/05(水) 23:26:32.17ID:i6JVabOm >>602
徒歩でも問題ない場面であれば気にしなくてもいい
そして世の中のほとんどは徒歩で問題ない
徒歩でも問題ないところに「いや新幹線が必要なんだ!」なんてのはもはや技術的な問題ではなく、
ただの思考停止
徒歩でも問題ない場面であれば気にしなくてもいい
そして世の中のほとんどは徒歩で問題ない
徒歩でも問題ないところに「いや新幹線が必要なんだ!」なんてのはもはや技術的な問題ではなく、
ただの思考停止
604デフォルトの名無しさん
2017/07/05(水) 23:37:18.10ID:nlxiuXwv605デフォルトの名無しさん
2017/07/05(水) 23:38:31.89ID:IBgoqo2I それは「徒歩」とか「新幹線」という言葉にとらわれすぎである
これは単に、あまりにも速度差が有るということを表現するために
「徒歩」とか「新幹線」とか言っているわけで
利便性その他まで含めて比喩しているわけではないんだぞ
なおかつ、生産性が高いかどうかすら怪しいというのは>>598にも書いたし
実際世の中そういう空気になっているじゃろ
生産性が低くて速度が遅かったら後は何が残る?
もし生産性が同程度だったとしても、それならば速いほうが良いだろ
100倍も圧倒的な差があるんだから
多少非効率な書き方したっておつりがくるぞ
これは単に、あまりにも速度差が有るということを表現するために
「徒歩」とか「新幹線」とか言っているわけで
利便性その他まで含めて比喩しているわけではないんだぞ
なおかつ、生産性が高いかどうかすら怪しいというのは>>598にも書いたし
実際世の中そういう空気になっているじゃろ
生産性が低くて速度が遅かったら後は何が残る?
もし生産性が同程度だったとしても、それならば速いほうが良いだろ
100倍も圧倒的な差があるんだから
多少非効率な書き方したっておつりがくるぞ
606デフォルトの名無しさん
2017/07/05(水) 23:40:47.70ID:VZUi/cSm >>598
> 今現在の状況で、静的型言語に比べて動的型言語の生産性がはるかに高い
> と言い切れる人はいったいどれだけいるんだろうか
どちらかがどちらかを上回るって話じゃないからなぁ。
動的言語だと書くのが楽。型を書かなくてもいい場面が多いから
短いコードで目的を達成できる。その点で生産性が高いと言えるが、
大規模アプリでは、型が書いてないためにコードの把握に時間がかかる。
静的型言語では要所要所に型が書いてあって、記述量は増えるが
その分コードを把握しやすく、コンパイラが見つける矛盾の量も増える。
だから開発するものがどれだけの規模のコード量かで生産性が高い方が決まる。
つまり静的型言語の方が高い場合と、動的型言語の方が生産性が高いかの境目があるということ
しかしその境目がまた問題で、技術力が高い人であれば短いコードでシンプルに書くことができる。
だから境目は技術力が高い人ほど動的型言語の方が生産性が高いことを示すことになる。
> 今現在の状況で、静的型言語に比べて動的型言語の生産性がはるかに高い
> と言い切れる人はいったいどれだけいるんだろうか
どちらかがどちらかを上回るって話じゃないからなぁ。
動的言語だと書くのが楽。型を書かなくてもいい場面が多いから
短いコードで目的を達成できる。その点で生産性が高いと言えるが、
大規模アプリでは、型が書いてないためにコードの把握に時間がかかる。
静的型言語では要所要所に型が書いてあって、記述量は増えるが
その分コードを把握しやすく、コンパイラが見つける矛盾の量も増える。
だから開発するものがどれだけの規模のコード量かで生産性が高い方が決まる。
つまり静的型言語の方が高い場合と、動的型言語の方が生産性が高いかの境目があるということ
しかしその境目がまた問題で、技術力が高い人であれば短いコードでシンプルに書くことができる。
だから境目は技術力が高い人ほど動的型言語の方が生産性が高いことを示すことになる。
607デフォルトの名無しさん
2017/07/05(水) 23:41:32.36ID:i6JVabOm608デフォルトの名無しさん
2017/07/05(水) 23:47:31.26ID:VZUi/cSm 徒歩5分のところに新幹線や車を使ったら
たいてい遅くなるぞw
たいてい遅くなるぞw
609デフォルトの名無しさん
2017/07/05(水) 23:53:49.42ID:VZUi/cSm 技術力が高い人ほど動的型を好むのは
たまたまとかいうわけじゃなくて、
短く書けてしまうから「この程度の小さな規模」の
コードになってしまうことが多いからなわけだよね
たまたまとかいうわけじゃなくて、
短く書けてしまうから「この程度の小さな規模」の
コードになってしまうことが多いからなわけだよね
610デフォルトの名無しさん
2017/07/06(木) 00:02:07.40ID:AOJFjP+S >>607
あるコマンドかアプリか処理か、何か知らんが、何かあって
処理に5分もかかったら、対話性などというものはないし
まず使い方そのものからして考え直さなければならない
進捗ぐらいは表示したいし、アプリの構成そのものからして考えないとな
5分という時間は何もしないには長すぎるので、作業いったん中断ってところだな
これが100倍速いと3秒で終わる
3秒なら、まぁ、待てるかな
ちょっと遅いが、ギリギリ、リアルタイムな対話といえるレスポンスだな
作業は中断しないな
5分と3秒の違い、わからない?
あと、徒歩五分のコンビニに行くにしても、瞬間移動が使えるなら
俺はそういった能力、ほしいな
大は小を兼ねるというし
瞬間移動が使えることで生産性が落ちるわけでもないしな
あるコマンドかアプリか処理か、何か知らんが、何かあって
処理に5分もかかったら、対話性などというものはないし
まず使い方そのものからして考え直さなければならない
進捗ぐらいは表示したいし、アプリの構成そのものからして考えないとな
5分という時間は何もしないには長すぎるので、作業いったん中断ってところだな
これが100倍速いと3秒で終わる
3秒なら、まぁ、待てるかな
ちょっと遅いが、ギリギリ、リアルタイムな対話といえるレスポンスだな
作業は中断しないな
5分と3秒の違い、わからない?
あと、徒歩五分のコンビニに行くにしても、瞬間移動が使えるなら
俺はそういった能力、ほしいな
大は小を兼ねるというし
瞬間移動が使えることで生産性が落ちるわけでもないしな
611デフォルトの名無しさん
2017/07/06(木) 00:05:57.18ID:AOJFjP+S まぁフォトショップでフィルタをかけるとか、なんでもよいんだけど
5分待たされるのはしんどいよ
ほんと、作業が中断しちゃう
コーヒー飲むかタバコ吸うかウンコするか
3秒ならまぁ何とかってところ
5分待たされるのはしんどいよ
ほんと、作業が中断しちゃう
コーヒー飲むかタバコ吸うかウンコするか
3秒ならまぁ何とかってところ
612デフォルトの名無しさん
2017/07/06(木) 00:06:41.72ID:EqEhEZ9Z613デフォルトの名無しさん
2017/07/06(木) 00:15:20.73ID:EqEhEZ9Z 要するに徒歩5分はスクリプトで言えば1秒以内に終わる処理だね
1秒を0.01秒に縮められます!とか言われても、でも1秒で十分なんでって思うだけだしね
1秒を0.01秒に縮められます!とか言われても、でも1秒で十分なんでって思うだけだしね
614デフォルトの名無しさん
2017/07/06(木) 00:22:28.74ID:hXlN8tOU615デフォルトの名無しさん
2017/07/06(木) 00:36:23.27ID:AOJFjP+S そもそもからしておかしいんだよ
プログラムの実行速度が速すぎるのが原因で生産性が落ちることはない
聞いたこともない
大は小を兼ねるということわざが当てはまって、速すぎて困るということはない
プログラムの実行速度が速いことのトレードオフだけど、これも良くわららない状況だ
今現在はどちらかというと静的型のほうが生産性があるんじゃないか、とすら言われている
そんな状況で100倍も遅かったら、どうなるんだ?
3.0GHzのCPUでも実質的には30MHz相当
あと、静的型言語が速い傾向があるといっても、本当に誰も何もせずに速いってわけじゃなく
コンパイラが最適化を相当キバってくれているから速いわけだ
プログラマがちまちま考えなくてもコンパイラが頑張ってくれる、という方面での生産性という見方もあるし
速くなった分は余裕ができるのでプログラムを手抜きできるっていう生産性もある
また、動的型言語であっても速いのはある
例えばJSは静的型と同じ土俵に立てるぐらいに速いだろ?
これをもってしてMatzは動的型でも速度は出せるって言い張るんだけど
そのような実装を用意できてない状態でそんなこと言って何になるんだ?
プログラムの実行速度が速すぎるのが原因で生産性が落ちることはない
聞いたこともない
大は小を兼ねるということわざが当てはまって、速すぎて困るということはない
プログラムの実行速度が速いことのトレードオフだけど、これも良くわららない状況だ
今現在はどちらかというと静的型のほうが生産性があるんじゃないか、とすら言われている
そんな状況で100倍も遅かったら、どうなるんだ?
3.0GHzのCPUでも実質的には30MHz相当
あと、静的型言語が速い傾向があるといっても、本当に誰も何もせずに速いってわけじゃなく
コンパイラが最適化を相当キバってくれているから速いわけだ
プログラマがちまちま考えなくてもコンパイラが頑張ってくれる、という方面での生産性という見方もあるし
速くなった分は余裕ができるのでプログラムを手抜きできるっていう生産性もある
また、動的型言語であっても速いのはある
例えばJSは静的型と同じ土俵に立てるぐらいに速いだろ?
これをもってしてMatzは動的型でも速度は出せるって言い張るんだけど
そのような実装を用意できてない状態でそんなこと言って何になるんだ?
616デフォルトの名無しさん
2017/07/06(木) 00:38:42.41ID:EqEhEZ9Z617デフォルトの名無しさん
2017/07/06(木) 00:39:54.73ID:DNqxUdzY > そんな状況で100倍も遅かったら、どうなるんだ?
> 3.0GHzのCPUでも実質的には30MHz相当
その計算をすることに意味はない。
今後一切やめてくれって言いたいレベル。
現実としてその違いは、重大な問題を引き起こすかどうかで決まる。
わからないと言うならば、問題は起こってないということだ。
> 3.0GHzのCPUでも実質的には30MHz相当
その計算をすることに意味はない。
今後一切やめてくれって言いたいレベル。
現実としてその違いは、重大な問題を引き起こすかどうかで決まる。
わからないと言うならば、問題は起こってないということだ。
618デフォルトの名無しさん
2017/07/06(木) 00:43:06.60ID:DNqxUdzY > プログラムの実行速度が速すぎるのが原因で生産性が落ちることはない
当たり前だ。実行速度と生産性は無関係だからだ。
無関係といったんだ。実行速度を速くしても生産性は落ちないとは言ってないからな。
無関係ということは、実行速度を速くすることで
生産性が落ちる場合もあるし、
生産性が落ちない場合もある
生産性が上がる場合だってある
ということだ
> 大は小を兼ねるということわざが当てはまって、速すぎて困るということはない
速くするため生産性が落ちるのであれば困る。
当たり前だ。実行速度と生産性は無関係だからだ。
無関係といったんだ。実行速度を速くしても生産性は落ちないとは言ってないからな。
無関係ということは、実行速度を速くすることで
生産性が落ちる場合もあるし、
生産性が落ちない場合もある
生産性が上がる場合だってある
ということだ
> 大は小を兼ねるということわざが当てはまって、速すぎて困るということはない
速くするため生産性が落ちるのであれば困る。
619デフォルトの名無しさん
2017/07/06(木) 01:01:27.03ID:AOJFjP+S Rubyが今の100倍速くなったとしたらどうなんだ?
前のままで十分だったから遅くしてくれ、戻してくれ、とはならんだろ
速いほうがいいに決まっているのに、遅くてもよいと言い張るのは
すでに普通の感覚を失ってしまっている
Ruby3.0ではどうにかネイディブスレッドを導入しようという話だが
これもどうにか実行効率を上げよう試みだ
結局速いほうが良いという話
ものすごく変な言い方をすると、Rubyが今の100倍速かったら
もっといろいろなことにRubyを使えるはずなのに
そういったことをユーザー自ら否定してしまうのは変なコミュニティーだ
「自分たちはこれでよいんだ」的な
でも1億あげるっていったら間違いなく飛びつく
速度を落としてまで動的型にしたが
それもちょっと前からどちらかというとメリット無いんじゃねと言われていて
今ではその評価もすっかり固まってしまったが
これなら何故速度を犠牲にしたのか意味がよくわからない状況
前のままで十分だったから遅くしてくれ、戻してくれ、とはならんだろ
速いほうがいいに決まっているのに、遅くてもよいと言い張るのは
すでに普通の感覚を失ってしまっている
Ruby3.0ではどうにかネイディブスレッドを導入しようという話だが
これもどうにか実行効率を上げよう試みだ
結局速いほうが良いという話
ものすごく変な言い方をすると、Rubyが今の100倍速かったら
もっといろいろなことにRubyを使えるはずなのに
そういったことをユーザー自ら否定してしまうのは変なコミュニティーだ
「自分たちはこれでよいんだ」的な
でも1億あげるっていったら間違いなく飛びつく
速度を落としてまで動的型にしたが
それもちょっと前からどちらかというとメリット無いんじゃねと言われていて
今ではその評価もすっかり固まってしまったが
これなら何故速度を犠牲にしたのか意味がよくわからない状況
620デフォルトの名無しさん
2017/07/06(木) 01:03:39.40ID:EqEhEZ9Z621デフォルトの名無しさん
2017/07/06(木) 01:12:20.24ID:AOJFjP+S 必ずしもコードが変わらない場合にのみ速度が速いことが歓迎される
というわけでもなかろう
処理系の実行速度が速いことには何時でも一定の価値基準がある
というわけでもなかろう
処理系の実行速度が速いことには何時でも一定の価値基準がある
622デフォルトの名無しさん
2017/07/06(木) 01:13:25.30ID:EqEhEZ9Z623デフォルトの名無しさん
2017/07/06(木) 01:13:59.37ID:AOJFjP+S 周りを見渡せばRubyよりも100倍速い言語や処理系が既にあって
しかもRubyのような動的型は失敗だったんじゃないかという空気だ
しかもRubyのような動的型は失敗だったんじゃないかという空気だ
624デフォルトの名無しさん
2017/07/06(木) 01:16:51.07ID:EqEhEZ9Z625デフォルトの名無しさん
2017/07/06(木) 01:32:38.58ID:hXlN8tOU626デフォルトの名無しさん
2017/07/06(木) 07:30:15.82ID:LqVtic6r 失敗も何も動的言語は生まれた時から「動作は遅いが作るのが早くできるので素晴らしい、しかしそれゆえ脆いので長期堅牢には向かない」ときちんと認識されていた
完璧を目指していたことなど一度たりとてない
完璧を目指していたことなど一度たりとてない
627デフォルトの名無しさん
2017/07/06(木) 09:30:16.79ID:jsnas7L+ そもそもMatzが遊びで作った言語だろ?
それをわざわざ公開してくれて
我々は彼の善意によってタダで使わせてもらってんだろ?
そのへんの間隔というか距離感というか
忘れちゃってる奴おるよな
自分のオカンに対して無限に批判するような態度の
それをわざわざ公開してくれて
我々は彼の善意によってタダで使わせてもらってんだろ?
そのへんの間隔というか距離感というか
忘れちゃってる奴おるよな
自分のオカンに対して無限に批判するような態度の
628デフォルトの名無しさん
2017/07/06(木) 09:43:08.71ID:k46M2gqo 文句があるなら自分で言語作ればいいじゃん。
629デフォルトの名無しさん
2017/07/06(木) 10:11:36.56ID:IrPrEl9j 仇ばかり広めやがっておいたが過ぎる
630デフォルトの名無しさん
2017/07/06(木) 11:25:53.97ID:YVvleWfm RubyでつくるRubyとかでも読もうよ
631デフォルトの名無しさん
2017/07/06(木) 12:15:37.69ID:OTGRz3s4 リファクタリングのRuby版読むと、
Rubyのコードが如何に解説するのに向いているかわかる
こんな感じのRubyのコード使った解説本はもっと増えて良い
Rubyのコードが如何に解説するのに向いているかわかる
こんな感じのRubyのコード使った解説本はもっと増えて良い
632デフォルトの名無しさん
2017/07/06(木) 12:41:45.00ID:JvJmzwJo とりあえず
> 今現在はどちらかというと静的型のほうが生産性があるんじゃないか、とすら言われている
このソースが欲しいとこだな
まーこいつの妄想だろうが
> 今現在はどちらかというと静的型のほうが生産性があるんじゃないか、とすら言われている
このソースが欲しいとこだな
まーこいつの妄想だろうが
633デフォルトの名無しさん
2017/07/06(木) 13:20:06.18ID:YVvleWfm リファクタリングするときとかIDEの力を借りれば
静的のほうが生産性が上がるかもとは
散々言われてきたが?
静的のほうが生産性が上がるかもとは
散々言われてきたが?
634デフォルトの名無しさん
2017/07/06(木) 13:39:42.81ID:tNWdrmh7 >>631
それ暗にRubyはクソコードはが多いとdisられてるんじゃね
それ暗にRubyはクソコードはが多いとdisられてるんじゃね
635デフォルトの名無しさん
2017/07/06(木) 22:14:31.93ID:DNqxUdzY636デフォルトの名無しさん
2017/07/06(木) 22:19:42.92ID:DNqxUdzY プログラム言語っていうのは道具だからね。(その言語の開発者以外は)
一般的な道具で考えてみればわかる
速いけど不便。少し遅いけど便利。
遅くても実用上問題なければ、便利な方を
取ることの方が多いだろう。
誰もがF1カーに乗るわけじゃあるまいしw
一般的な道具で考えてみればわかる
速いけど不便。少し遅いけど便利。
遅くても実用上問題なければ、便利な方を
取ることの方が多いだろう。
誰もがF1カーに乗るわけじゃあるまいしw
637デフォルトの名無しさん
2017/07/06(木) 23:14:22.78ID:jsnas7L+ 既存の言語に文句いうやつが
その言語以上の素晴らしい言語を作った例は皆無
あるとしたら…それこそperlに対するrubyくらいのもん
その言語以上の素晴らしい言語を作った例は皆無
あるとしたら…それこそperlに対するrubyくらいのもん
638デフォルトの名無しさん
2017/07/06(木) 23:19:58.00ID:OTGRz3s4 633 :
デフォルトの名無しさん
2017/07/06(木) 13:20:06.18 ID:YVvleWfm
リファクタリングするときとかIDEの力を借りれば
静的のほうが生産性が上がるかもとは
散々言われてきたが?
634 :
デフォルトの名無しさん
2017/07/06(木) 13:39:42.81 ID:tNWdrmh7
>>631
それ暗にRubyはクソコードはが多いとdisられてるんじゃね
流石にこれは気持ちわる過ぎる
デフォルトの名無しさん
2017/07/06(木) 13:20:06.18 ID:YVvleWfm
リファクタリングするときとかIDEの力を借りれば
静的のほうが生産性が上がるかもとは
散々言われてきたが?
634 :
デフォルトの名無しさん
2017/07/06(木) 13:39:42.81 ID:tNWdrmh7
>>631
それ暗にRubyはクソコードはが多いとdisられてるんじゃね
流石にこれは気持ちわる過ぎる
639デフォルトの名無しさん
2017/07/06(木) 23:24:14.70ID:DNqxUdzY >>633
> リファクタリングするときとかIDEの力を借りれば
> 静的のほうが生産性が上がるかもとは
大規模システムの場合はそうだけど、
小規模の場合は大差ない。
そして技術力が高い人ほど、システムを小規模に保つことができる。
技術力が高い人ほど動的の方が生産性が高い場合が多くなる
> リファクタリングするときとかIDEの力を借りれば
> 静的のほうが生産性が上がるかもとは
大規模システムの場合はそうだけど、
小規模の場合は大差ない。
そして技術力が高い人ほど、システムを小規模に保つことができる。
技術力が高い人ほど動的の方が生産性が高い場合が多くなる
640デフォルトの名無しさん
2017/07/06(木) 23:29:32.44ID:OTGRz3s4 そんなに健常者に混じりたいのか?
641デフォルトの名無しさん
2017/07/07(金) 01:03:55.66ID:6Wd58F7c OpenGLのgemつっこんでぐりぐり動かしてるけど、
テクスチャ関連やアニメーションモデルのデータの持ち方がいまいちピンと決まらない
その場で決めても後日、なんか手をいれなければならなくなる気がして二進も三進も
Rubyならでは冴えたやり方ってない?
テクスチャ関連やアニメーションモデルのデータの持ち方がいまいちピンと決まらない
その場で決めても後日、なんか手をいれなければならなくなる気がして二進も三進も
Rubyならでは冴えたやり方ってない?
642デフォルトの名無しさん
2017/07/07(金) 05:22:24.20ID:1OiH67XQ >>596
>>593だけど、おいらのレスに乗っかって何やら面白いことになってんね。
自分で関数から何からLLで書けばそうなんだけど、LLのライブラリじゃCで書かれてること多いからね。
それにI/O多いLLお得意の文字列処理とかは>>594の言う通り大差ない。
計測した事あるけど誤差の範囲って言って良い。
小説何十冊分が1ファイルに入ったりした時に差が体感できる程度。
100冊分超えたらCや他のコンパイラ言語検討して良いと思う。
30MHZが遅いって言ってもPICとかのマイコンは4MHzとかで、それでも十分人間より速い。
Prolog勉強した時はプログラミング言語は本来こうあるべきって書いてるページあって、方向性はそうだけど、その解は絶対Prologじゃねーって思ったけども。
確かにここまでCPU速くなったなら、人間がコンピュータのアーキテクチャに合わせる必要はない。
とは言え、CPUのx86と同じ、すでにコード資産が無視出来ないんよな。。。
>>593だけど、おいらのレスに乗っかって何やら面白いことになってんね。
自分で関数から何からLLで書けばそうなんだけど、LLのライブラリじゃCで書かれてること多いからね。
それにI/O多いLLお得意の文字列処理とかは>>594の言う通り大差ない。
計測した事あるけど誤差の範囲って言って良い。
小説何十冊分が1ファイルに入ったりした時に差が体感できる程度。
100冊分超えたらCや他のコンパイラ言語検討して良いと思う。
30MHZが遅いって言ってもPICとかのマイコンは4MHzとかで、それでも十分人間より速い。
Prolog勉強した時はプログラミング言語は本来こうあるべきって書いてるページあって、方向性はそうだけど、その解は絶対Prologじゃねーって思ったけども。
確かにここまでCPU速くなったなら、人間がコンピュータのアーキテクチャに合わせる必要はない。
とは言え、CPUのx86と同じ、すでにコード資産が無視出来ないんよな。。。
643デフォルトの名無しさん
2017/07/07(金) 08:48:43.90ID:ntVt91QO バージョン上げたgccでrubyのバージョン更新したら遅くなったからgccに要因があるのかrubyに要因があるのかヒントになる情報をくれって>>584 が訊いてるのに
なぜこんなアホな話が出てくるんだ?
なぜこんなアホな話が出てくるんだ?
644デフォルトの名無しさん
2017/07/07(金) 11:01:19.92ID:ntVt91QO 晒しage
645584
2017/07/07(金) 12:15:57.82ID:de0deAJS646デフォルトの名無しさん
2017/07/07(金) 12:35:48.56ID:6Wd58F7c 二日前の話をなぜ今に?
もしかして情報がもっと欲しいの?
だったらrubyのソースコードを読むしか無いよ
もしかして情報がもっと欲しいの?
だったらrubyのソースコードを読むしか無いよ
647584
2017/07/07(金) 14:11:00.10ID:de0deAJS >>646
あーいや、情報についてはあんまり期待してない。
もともと
「実際に体感できるレベルで速度低下してるが適当にググっても情報が無い」+
「gccの入れ替え面倒というか今週暑過ぎ」
というのが質問の理由だったからね.
実際幾つか他の適当なスクリプトでも実行時間を計測して比較してみたところ、
ここまで大きな速度低下は無かったというのもあって今では少し安心してる。
入れ替え後最初に実行したスクリプトで地雷を踏んだのは運が悪かった。
あーいや、情報についてはあんまり期待してない。
もともと
「実際に体感できるレベルで速度低下してるが適当にググっても情報が無い」+
「gccの入れ替え面倒というか今週暑過ぎ」
というのが質問の理由だったからね.
実際幾つか他の適当なスクリプトでも実行時間を計測して比較してみたところ、
ここまで大きな速度低下は無かったというのもあって今では少し安心してる。
入れ替え後最初に実行したスクリプトで地雷を踏んだのは運が悪かった。
648デフォルトの名無しさん
2017/07/07(金) 14:38:37.78ID:6Wd58F7c ますますわからない
何を求めての書き込みだったの?
何を求めての書き込みだったの?
650デフォルトの名無しさん
2017/07/08(土) 13:18:08.48ID:lhqNZaXL いつまその話引っ張るつもりだよ
651デフォルトの名無しさん
2017/07/08(土) 13:19:15.07ID:lhqNZaXL いつまでその話引っ張るつもりだよ
652デフォルトの名無しさん
2017/07/08(土) 14:06:59.57ID:fcf9I7tU これをRubyで解きなさい
普通のパズルではない「正規表現クロスワード」がBBCラジオに登場 - GIGAZINE
http://gigazine.net/news/20170707-regular-expression-puzzle/
普通のパズルではない「正規表現クロスワード」がBBCラジオに登場 - GIGAZINE
http://gigazine.net/news/20170707-regular-expression-puzzle/
653デフォルトの名無しさん
2017/07/08(土) 15:45:07.53ID:FfZt44/H654デフォルトの名無しさん
2017/07/11(火) 01:41:06.03ID:MbVhLJ6O railsスレから移動してきました。
def index
UNIXSocket.open('/tmp/myapp.sock') do |sock|
sock.write(params.to_query)
rt = sock.readline
render text: rt
end
end
みたいなことがしたいのですが、どうも
rt = sock.readline
のところで処理が止まってしまうように見えています。
renderの部分まで処理を進めるにはどのような書き方をすればよいのでしょうか。
教えて頂けますと嬉しいです。
def index
UNIXSocket.open('/tmp/myapp.sock') do |sock|
sock.write(params.to_query)
rt = sock.readline
render text: rt
end
end
みたいなことがしたいのですが、どうも
rt = sock.readline
のところで処理が止まってしまうように見えています。
renderの部分まで処理を進めるにはどのような書き方をすればよいのでしょうか。
教えて頂けますと嬉しいです。
655デフォルトの名無しさん
2017/07/11(火) 02:00:52.46ID:7uNv3Rqd sock.write(params.to_query)
rt = sock.readline
書き込んで、読み込む?
矛盾してないか?
読み書き両用なのか?
もし両用なら、相手からの返事を待っているのだろう
rt = sock.readline
書き込んで、読み込む?
矛盾してないか?
読み書き両用なのか?
もし両用なら、相手からの返事を待っているのだろう
656デフォルトの名無しさん
2017/07/11(火) 02:19:22.94ID:MbVhLJ6O レスありがとうございます。
やりたいこととしては、socket.writeでソケットにクエリを投げて
通信先で処理を行ってレスポンスが返ってくるので、
それを sock.readline で読み取るという双方向な感じのことです。
通信先のプロセスをkillするとなぜか処理が進んで、rtに正しいデータが格納され、
render まで処理が進むのですが・・アドバイスいただけると幸いです。
やりたいこととしては、socket.writeでソケットにクエリを投げて
通信先で処理を行ってレスポンスが返ってくるので、
それを sock.readline で読み取るという双方向な感じのことです。
通信先のプロセスをkillするとなぜか処理が進んで、rtに正しいデータが格納され、
render まで処理が進むのですが・・アドバイスいただけると幸いです。
657デフォルトの名無しさん
2017/07/11(火) 02:34:39.39ID:3Ue5zlRS >>656
flushしてみるとか?
flushしてみるとか?
658デフォルトの名無しさん
2017/07/11(火) 02:46:23.42ID:MbVhLJ6O レスありがとうございます。
すみません自己解決しました。
def index
s = UNIXSocket.new("/tmp/myapp.sock")
s.send(params.to_query, 20)
render text: s.recv(20)
end
こっちの方の書き方を試してみたところ、うまくいきました。(20は適当な数値)
何がどう違うのかよくわからないですが・・
すみません自己解決しました。
def index
s = UNIXSocket.new("/tmp/myapp.sock")
s.send(params.to_query, 20)
render text: s.recv(20)
end
こっちの方の書き方を試してみたところ、うまくいきました。(20は適当な数値)
何がどう違うのかよくわからないですが・・
659デフォルトの名無しさん
2017/07/11(火) 08:15:25.04ID:qelYWZQu660デフォルトの名無しさん
2017/07/11(火) 08:15:55.92ID:qelYWZQu 657の間違い
661デフォルトの名無しさん
2017/07/11(火) 19:44:38.95ID:3Ue5zlRS >>658
sendで使っている数値の20だけど、第二引数は flags になってる
mingw32(windows)だと (MSG_MAXIOVLEN | MSG_DONTROUTE)
linuxだと (MSG_PROBE | MSG_DONTROUTE)
FreeBSDだと (MSG_TRUNC | MSG_DONTROUTE)
を意味することになり、あなたの意図するところじゃないはず
recvの方は第一引数で最大20バイトの読み込みを意味するけど、
readlineは改行まで読み込むメソッドだから、振る舞い方に違いがある
一つの通信単位が任意長で、改行で終わらせたいなら
s.send(params.to_query, 20) を s.puts(params.to_query); s.flush
s.recv(20) を s.readline じゃだめかな?
もっとも params.to_query に改行が含まれているとうまく行かないけれど
sendで使っている数値の20だけど、第二引数は flags になってる
mingw32(windows)だと (MSG_MAXIOVLEN | MSG_DONTROUTE)
linuxだと (MSG_PROBE | MSG_DONTROUTE)
FreeBSDだと (MSG_TRUNC | MSG_DONTROUTE)
を意味することになり、あなたの意図するところじゃないはず
recvの方は第一引数で最大20バイトの読み込みを意味するけど、
readlineは改行まで読み込むメソッドだから、振る舞い方に違いがある
一つの通信単位が任意長で、改行で終わらせたいなら
s.send(params.to_query, 20) を s.puts(params.to_query); s.flush
s.recv(20) を s.readline じゃだめかな?
もっとも params.to_query に改行が含まれているとうまく行かないけれど
662デフォルトの名無しさん
2017/07/12(水) 06:30:11.01ID:HQm2gXhD バッファリングされているから、flush で出力するのか
663デフォルトの名無しさん
2017/07/12(水) 10:12:13.87ID:z1EDa6/Q664デフォルトの名無しさん
2017/07/13(木) 10:59:11.29ID:0lfkoIF4 エラーの時のスタックトレースがコンソールに大量のログが出るのを減らすことってできませんか?
665デフォルトの名無しさん
2017/07/13(木) 11:41:39.10ID:DhWBmBwc logger使え
666デフォルトの名無しさん
2017/07/13(木) 12:17:59.84ID:FtHnJB7n エラーなんだから仕方なかろうよ
もしプロダクションレベルであんまり内部パスとか詳らかにしたくないというのなら全体をrescueするしかないね
begin
# main_thread()
rescue RuntimeError => e
warn e.message
exit(1)
end
RuntimeErrorじゃないのだったら適当に増やしとけ
もしプロダクションレベルであんまり内部パスとか詳らかにしたくないというのなら全体をrescueするしかないね
begin
# main_thread()
rescue RuntimeError => e
warn e.message
exit(1)
end
RuntimeErrorじゃないのだったら適当に増やしとけ
667デフォルトの名無しさん
2017/07/13(木) 17:38:19.70ID:fH9gUBRZ ruby -W0 で起動して減らなかったらどうしようもない
そういう便利オプションみたいなのはないのですわ
そういう便利オプションみたいなのはないのですわ
668デフォルトの名無しさん
2017/07/14(金) 12:23:44.38ID:M2zlfEHR ○○課
○○課○○室
○○課○○係
○○課○○室○○係
○○課○○ライン
みたいな文字列を入れたときに
[○○課]
[○○課, ○○室]
[○○課, ○○係]
[○○課, ○○室, ○○係]
[○○課, ○○ライン]
みたいに分割してくれる関数を作りたいのですが上手くいきません
いい方法はないでしょうか
○○課○○室
○○課○○係
○○課○○室○○係
○○課○○ライン
みたいな文字列を入れたときに
[○○課]
[○○課, ○○室]
[○○課, ○○係]
[○○課, ○○室, ○○係]
[○○課, ○○ライン]
みたいに分割してくれる関数を作りたいのですが上手くいきません
いい方法はないでしょうか
669デフォルトの名無しさん
2017/07/14(金) 12:53:09.53ID:M2zlfEHR >>668
とても下手くそなやり方だと思いますが一応できました
def my_split(str)
arr = Array.new
str_arr = Array.new
arr.push 0
str.each_char.with_index do |ch, i|
arr.push i+1 if ch == "課".encode("windows-31j")
arr.push i+1 if ch == "室".encode("windows-31j")
arr.push i+1 if ch == "係".encode("windows-31j")
end
arr.each_with_index do |e, i|
str_arr.push str.slice(arr[i-1]..(arr[i]-1)) unless i == 0
end
str_arr
end
とても下手くそなやり方だと思いますが一応できました
def my_split(str)
arr = Array.new
str_arr = Array.new
arr.push 0
str.each_char.with_index do |ch, i|
arr.push i+1 if ch == "課".encode("windows-31j")
arr.push i+1 if ch == "室".encode("windows-31j")
arr.push i+1 if ch == "係".encode("windows-31j")
end
arr.each_with_index do |e, i|
str_arr.push str.slice(arr[i-1]..(arr[i]-1)) unless i == 0
end
str_arr
end
670デフォルトの名無しさん
2017/07/14(金) 14:04:05.91ID:Oez5CIDd >>668
def spj(s)
reg = Regexp.new("[課室係]|ライン")
a1=s.split(reg)
a2=s.scan(reg)
return a1.zip(a2).map{|x| x.join("")}
end
def spj(s)
reg = Regexp.new("[課室係]|ライン")
a1=s.split(reg)
a2=s.scan(reg)
return a1.zip(a2).map{|x| x.join("")}
end
671デフォルトの名無しさん
2017/07/14(金) 14:48:32.40ID:JyiCltLg672デフォルトの名無しさん
2017/07/14(金) 15:50:02.09ID:NNElhd0j そーか頭も含めりゃ確かにscanだけでいいのか。ボケてるな。
674デフォルトの名無しさん
2017/07/14(金) 23:19:58.67ID:nq2jK5zh675デフォルトの名無しさん
2017/07/15(土) 00:52:30.17ID:1BB6lano scanて文字切り出しに便利だよね
676デフォルトの名無しさん
2017/07/15(土) 16:03:05.98ID:5dwax4jd おまえらどう書くかより何を作るかに集中しろや
677デフォルトの名無しさん
2017/07/15(土) 16:06:46.01ID:leA2r81r >>676
エンジニアの三大美徳のひとつ、「傲慢」を否定しちゃいけません
エンジニアの三大美徳のひとつ、「傲慢」を否定しちゃいけません
678デフォルトの名無しさん
2017/07/15(土) 16:46:46.89ID:N0flRzpM 七大美徳も忘れるな
暴食、色欲、強欲、憤怒、怠惰、傲慢、嫉妬
暴食、色欲、強欲、憤怒、怠惰、傲慢、嫉妬
679デフォルトの名無しさん
2017/07/15(土) 19:43:02.39ID:37mK/jgH >>677
あとの二つもおねがい
あとの二つもおねがい
680デフォルトの名無しさん
2017/07/15(土) 21:43:00.98ID:leA2r81r >>679
怠惰、短気
怠惰、短気
681デフォルトの名無しさん
2017/07/15(土) 23:48:56.02ID:oxvwpB// >>676
それはこのスレで語ることではない
それはこのスレで語ることではない
682デフォルトの名無しさん
2017/07/15(土) 23:50:17.93ID:oxvwpB// >>679
遅刻、有休
遅刻、有休
683デフォルトの名無しさん
2017/07/16(日) 00:35:02.61ID:Ki8GsNb9 仮病で有休
684デフォルトの名無しさん
2017/07/16(日) 14:47:36.60ID:m8yy8euc 俺のパソコンは納期前によく壊れる
困ったものだ
困ったものだ
685デフォルトの名無しさん
2017/07/16(日) 18:59:56.18ID:yo5XpH/o 壊れてもバックアップ環境あるから
使いにくくなって効率下がるだけで他は変わらない
使いにくくなって効率下がるだけで他は変わらない
686デフォルトの名無しさん
2017/07/17(月) 11:01:21.40ID:cSztc20o 未だにgemって良く判らない。インタプリタなども含めて一式を配布するような場合は邪魔でしかない印象
687デフォルトの名無しさん
2017/07/17(月) 11:05:59.42ID:5WhJSLEy 外部のライブラリをスッ…とインスコできるやつ、色々作ってる側からすると便利、まああんまり好きじゃないけど
688デフォルトの名無しさん
2017/07/17(月) 11:14:05.33ID:fxU6unKK バージョン変わって依存関係めちゃくちゃなって
何か月とか何年かあとになって
再度同じ環境構成しようとしても
以下略
何か月とか何年かあとになって
再度同じ環境構成しようとしても
以下略
689デフォルトの名無しさん
2017/07/17(月) 11:38:02.62ID:PBO0/BLN690デフォルトの名無しさん
2017/07/17(月) 11:59:55.25ID:V9kDayPy >>686
>インタプリタなども含めて一式を配布するような場合
Rubyでそういうことをしてはいけない
スクリプト言語にとってのインタプリタバイナリはライブラリ選択前に既にインストールされているものなのだ
rubyがインストールされ(てい)ない環境でも実行して欲しいようなものをRubyで作っては「絶対に」いけない
>インタプリタなども含めて一式を配布するような場合
Rubyでそういうことをしてはいけない
スクリプト言語にとってのインタプリタバイナリはライブラリ選択前に既にインストールされているものなのだ
rubyがインストールされ(てい)ない環境でも実行して欲しいようなものをRubyで作っては「絶対に」いけない
691デフォルトの名無しさん
2017/07/17(月) 13:21:14.47ID:Uy8niamL vagrant, chef, SASS とかに、Ruby の実行環境も入れて、配布しているだろ?
692デフォルトの名無しさん
2017/07/17(月) 13:41:49.80ID:CuRtYSJT >>691
VagrantやChefはユーザーによるスクリプティングを可能にするためにRubyを入れてるんであって、
プロダクトをRubyで作っちゃったから仕方なくRubyを入れてるわけではないよ
一方SASSはRubyで作っちゃった例だけど、Rubyが嫌われてnodeへ移行した
VagrantやChefはユーザーによるスクリプティングを可能にするためにRubyを入れてるんであって、
プロダクトをRubyで作っちゃったから仕方なくRubyを入れてるわけではないよ
一方SASSはRubyで作っちゃった例だけど、Rubyが嫌われてnodeへ移行した
693デフォルトの名無しさん
2017/07/17(月) 14:20:06.37ID:H+ZLTTJY > Rubyが嫌われてnodeへ移行した
nodeには移行してない
Cに移行している
nodeには移行してない
Cに移行している
694デフォルトの名無しさん
2017/07/17(月) 16:57:19.47ID:shGqANuA そんな時のためのmrubyにはならないのか
695デフォルトの名無しさん
2017/07/17(月) 17:05:21.70ID:CuRtYSJT 残念ながらmrubyが獲るはずだったポジションはNodeに獲られちゃった
696デフォルトの名無しさん
2017/07/17(月) 18:22:28.87ID:cSztc20o697デフォルトの名無しさん
2017/07/18(火) 00:28:34.69ID:2jGZGtzj わかってると思うけど、Rubyのネガキャンやってるのがこのスレに粘着してる
こういうのは見付け次第叩いてやらないといけない
こういうのは見付け次第叩いてやらないといけない
698デフォルトの名無しさん
2017/07/18(火) 00:50:06.81ID:tovqy0R7 >>691みたいにヘタに突っついて論破されるのも準アンチ行為だから注意な
699デフォルトの名無しさん
2017/07/18(火) 07:19:41.41ID:soRF6X66 いまだにRuby万能説に縋りRuby万能を否定されると発狂する人が住んでるのか
それは10年も前に終わった言説だ
いつまで寝ているんだ目を覚ませ
それは10年も前に終わった言説だ
いつまで寝ているんだ目を覚ませ
700デフォルトの名無しさん
2017/07/18(火) 12:48:36.31ID:6DbTRi2A Ruby が最上流。
他の言語よりも、常に、2, 3年早い
Rails, vagrant, chef, SASS など
DSL では、Ruby, Groovy が優れているから、
最初にこれらの言語で作られてから、Python, JS へ移植される
Kotlin も注目されているけど、型を指定するのが面倒。
まあ、型を省略して、型推論もできるけど
他の言語よりも、常に、2, 3年早い
Rails, vagrant, chef, SASS など
DSL では、Ruby, Groovy が優れているから、
最初にこれらの言語で作られてから、Python, JS へ移植される
Kotlin も注目されているけど、型を指定するのが面倒。
まあ、型を省略して、型推論もできるけど
701デフォルトの名無しさん
2017/07/18(火) 16:13:18.86ID:bC2KM4MS rubyが最上流?
ワロス
そんな優れてるならphpもpythonも喰ってるよ。
しかも、落ち目だし。
ワロス
そんな優れてるならphpもpythonも喰ってるよ。
しかも、落ち目だし。
702デフォルトの名無しさん
2017/07/18(火) 16:18:08.82ID:bC2KM4MS しかも、型省略して型推論とか微妙な言い回ししてるあたり、分かってない臭がすごくてやばい
703デフォルトの名無しさん
2017/07/18(火) 17:14:45.02ID:PS9r5OZ5 >>702
C#のvarみたいなもののことなんじゃないの?
C#のvarみたいなもののことなんじゃないの?
704デフォルトの名無しさん
2017/07/18(火) 18:59:56.81ID:jUpeemmL Kotlinの型推論はただの典型的な型推論ですよ
それこそ「型指定が必要だけど型推論に任せることもできます→まあ便利」で済むレベル
わかってないのは間違いないのだろうけれど
それこそ「型指定が必要だけど型推論に任せることもできます→まあ便利」で済むレベル
わかってないのは間違いないのだろうけれど
705デフォルトの名無しさん
2017/07/19(水) 22:04:21.42ID:nwQCI0l5 たとえばArrayにメソッドfuncAを追加する時は
class Array
def funcA
return ["AAA"]
end
end
みたいに書けば出来ますがこれをCの拡張ライブラリにしたい場合ってどうすれば良いんでしょうか?
Cからメソッドの登録を行う場合は
void rb_define_method(VALUE klass, const char *name, VALUE(*func)(), int argc)
を使用するようですが第一引数をどのように得ればいいのか判りません
class Array
def funcA
return ["AAA"]
end
end
みたいに書けば出来ますがこれをCの拡張ライブラリにしたい場合ってどうすれば良いんでしょうか?
Cからメソッドの登録を行う場合は
void rb_define_method(VALUE klass, const char *name, VALUE(*func)(), int argc)
を使用するようですが第一引数をどのように得ればいいのか判りません
706デフォルトの名無しさん
2017/07/19(水) 22:15:34.36ID:kPQDkgCo rb_define_method(rb_cArray, "funcA", hoge_func_a, 1);
static VALUE hoge_func_a(VALUE self, VALUE arg1) { }
static VALUE hoge_func_a(VALUE self, VALUE arg1) { }
707デフォルトの名無しさん
2017/07/19(水) 22:52:50.29ID:nwQCI0l5 え?"Array"というRubyの名前空間上の文字列?からklassを得る方法って無いの?
実際にメソッドを追加したいのは拡張ライブラリなんだけど、クラスやメソッドの登録は
関数内で行われていてklassが明示的に外部へ公開されているようには見えないのだが・・・
実際にメソッドを追加したいのは拡張ライブラリなんだけど、クラスやメソッドの登録は
関数内で行われていてklassが明示的に外部へ公開されているようには見えないのだが・・・
708デフォルトの名無しさん
2017/07/20(木) 01:14:47.75ID:pXT/1iWX >>707
組み込みクラスやモジュールに関してはグローバル変数として用意されている
ruby/ruby.hを見るべし
https://github.com/ruby/ruby/blob/trunk/include/ruby/ruby.h#L1871
ちなみにこういう事もできる
#include <ruby/intern.h>
VALUE cDigestBase = rb_path2class("Digest::Base");
組み込みクラスやモジュールに関してはグローバル変数として用意されている
ruby/ruby.hを見るべし
https://github.com/ruby/ruby/blob/trunk/include/ruby/ruby.h#L1871
ちなみにこういう事もできる
#include <ruby/intern.h>
VALUE cDigestBase = rb_path2class("Digest::Base");
709デフォルトの名無しさん
2017/07/20(木) 09:35:50.76ID:s/SNqpfK naoyaのはめ撮り動画アップされたね
710デフォルトの名無しさん
2017/07/20(木) 14:22:33.47ID:+aBWrhxZ 697の見え見えの釣り針にひっかかる粘着なんておらんやろ
って思ってたけど、見事に食い付いてるな
マジスゲー
って思ってたけど、見事に食い付いてるな
マジスゲー
711デフォルトの名無しさん
2017/07/20(木) 22:29:26.18ID:wsBNKQXr712デフォルトの名無しさん
2017/07/22(土) 14:27:06.95ID:GRw82bJl 拡張ライブラリをコンパイルする時に任意の場所にあるヘッダファイルやライブラリファイルを
探索させるようにするにはどのようにすればいいのでしょうか
探索させるようにするにはどのようにすればいいのでしょうか
713デフォルトの名無しさん
2017/07/22(土) 14:50:45.74ID:ZFWxmOeg それRuby全く関係ない
Cのコンパイラだけの問題
Cのコンパイラだけの問題
714デフォルトの名無しさん
2017/07/22(土) 14:59:47.85ID:6KQ6+UpV >>712
extconf.rb 内で have_header や have_library を使う
使い方は ruby に含まれる doc/extension.ja.rdoc を見よ
https://github.com/ruby/ruby/blob/trunk/doc/extension.ja.rdoc#appendix-c-extconfrb%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E9%96%A2%E6%95%B0%E3%81%9F%E3%81%A1
extconf.rb 内で have_header や have_library を使う
使い方は ruby に含まれる doc/extension.ja.rdoc を見よ
https://github.com/ruby/ruby/blob/trunk/doc/extension.ja.rdoc#appendix-c-extconfrb%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E9%96%A2%E6%95%B0%E3%81%9F%E3%81%A1
715デフォルトの名無しさん
2017/07/22(土) 15:46:06.83ID:GRw82bJl716デフォルトの名無しさん
2017/07/22(土) 15:56:18.40ID:GRw82bJl あ、自己解決。dir_configを使えば良かったのか
dir_config("myproject")
とか書いて
ruby extconf.rb --with-myproject-include=C:\foo
とかするとそのディレクトリを探索対象に加えてくれるみたいです
dir_config("myproject")
とか書いて
ruby extconf.rb --with-myproject-include=C:\foo
とかするとそのディレクトリを探索対象に加えてくれるみたいです
717デフォルトの名無しさん
2017/07/22(土) 16:07:27.55ID:LM/qA1ao mkmf.rbでdir_config("opt")してくれてるので、--with-opt-includeならはじめから使える
718デフォルトの名無しさん
2017/07/22(土) 20:13:36.13ID:6KQ6+UpV719デフォルトの名無しさん
2017/07/23(日) 03:04:04.86ID:nJm1oPvD IDE には、ライブラリパスの参照という、ボタンがあるはず
720デフォルトの名無しさん
2017/07/23(日) 08:53:05.99ID:1hI9T8Bk ひとまず形にはなった。ALLOC_Nの開放の仕方が判らないのでALLOCA_Nにした
ALLOC〜って初期化してくれないんだな。ゴミが混じってメモリ破壊の
バグがあるのかとしばらく悩んだ。でもCはど素人だしなんかありそう
>>718
コマンドラインの方が容易に変更できるのでdir_configで行こうと思います
ALLOC〜って初期化してくれないんだな。ゴミが混じってメモリ破壊の
バグがあるのかとしばらく悩んだ。でもCはど素人だしなんかありそう
>>718
コマンドラインの方が容易に変更できるのでdir_configで行こうと思います
721デフォルトの名無しさん
2017/07/23(日) 10:43:01.15ID:FBMkfY4k >>720
ruby/ruby.hを大文字のALLOCで文字列検索してみ
RB_ZALLOCとかRB_ZALLOC_Nとかが0で初期化してくれる
あと確保したこれらはxfree(void*)で解放してね
ruby/ruby.hを大文字のALLOCで文字列検索してみ
RB_ZALLOCとかRB_ZALLOC_Nとかが0で初期化してくれる
あと確保したこれらはxfree(void*)で解放してね
722デフォルトの名無しさん
2017/07/23(日) 21:56:04.93ID:1hI9T8Bk >>721
ありがとう。ZALLOC_N&xfreeにしてみました
ALLOCA_Nってruby/ruby.hをみたらallocaを呼んでいるだけじゃないかw
拡張ライブラリ内部における動的なメモリの確保ってどうするのが好ましいんだろうな
スタックに積む方法はメモリのリークはないけどスタックを圧迫する(.今の環境だったら気にするほどでもない?)
allocして後にfreeする方法だと意図せず途中で抜けた時にメモリがリークする
Rubyの文字列を作ってそれを利用すると言う方法を紹介しているblogもあったけど・・・う〜む・・・
ありがとう。ZALLOC_N&xfreeにしてみました
ALLOCA_Nってruby/ruby.hをみたらallocaを呼んでいるだけじゃないかw
拡張ライブラリ内部における動的なメモリの確保ってどうするのが好ましいんだろうな
スタックに積む方法はメモリのリークはないけどスタックを圧迫する(.今の環境だったら気にするほどでもない?)
allocして後にfreeする方法だと意図せず途中で抜けた時にメモリがリークする
Rubyの文字列を作ってそれを利用すると言う方法を紹介しているblogもあったけど・・・う〜む・・・
723デフォルトの名無しさん
2017/07/23(日) 23:04:03.89ID:FBMkfY4k >>722
俺も外部の人間だから本当に適切な方法なんて知らないけど……
VALUE bufvalue;
size_t bufsize = 1024;
void *ptr = RB_ALLOCV(bufvalue, bufsize);
任意の処理を行う
ここで例外が発生しても次のGCで勝手に開放される
bufvalueはrubyの世界へと出さないように気をつける
/* メモリの即時開放(freeされる) */
RB_ALLOCV_END(bufvalue);
VALUE bufstr = rb_str_buf_new(bufsize);
void *ptr = RSTRING_PTR(bufstr);
任意の処理を行う
rubyの世界に出しても問題なし
ただし出したあとで再び使う場合は必ず
rb_str_modify(bufstr); /* freezeされたらaboneするけどな */
ptr = RSTRING_PTR(bufstr);
をやり直す
/* メモリの開放(即時開放されるかは実装任せ) */
rb_str_resize(bufstr, 0);
こんな感じかな
俺も外部の人間だから本当に適切な方法なんて知らないけど……
VALUE bufvalue;
size_t bufsize = 1024;
void *ptr = RB_ALLOCV(bufvalue, bufsize);
任意の処理を行う
ここで例外が発生しても次のGCで勝手に開放される
bufvalueはrubyの世界へと出さないように気をつける
/* メモリの即時開放(freeされる) */
RB_ALLOCV_END(bufvalue);
VALUE bufstr = rb_str_buf_new(bufsize);
void *ptr = RSTRING_PTR(bufstr);
任意の処理を行う
rubyの世界に出しても問題なし
ただし出したあとで再び使う場合は必ず
rb_str_modify(bufstr); /* freezeされたらaboneするけどな */
ptr = RSTRING_PTR(bufstr);
をやり直す
/* メモリの開放(即時開放されるかは実装任せ) */
rb_str_resize(bufstr, 0);
こんな感じかな
724デフォルトの名無しさん
2017/07/24(月) 00:44:09.77ID:7DZLuR6j 今気がついたのだが・・・
自作メソッドの入力値が不適切→rb_raiseを叩く→Segmentation fault
rb_raiseの引数に動的な物は含まれていないし、未解放のメモリがあるわけでもないしどうなっているんだ
例外を発生させる時の作法とかあるのだろうか
しかも2個作ったメソッドの片方だけこの現象が起きる。処理内容に問題があるわけではないけど
これを放置するのはマズイよな
>>723
ありがとう。参考になります
自作メソッドの入力値が不適切→rb_raiseを叩く→Segmentation fault
rb_raiseの引数に動的な物は含まれていないし、未解放のメモリがあるわけでもないしどうなっているんだ
例外を発生させる時の作法とかあるのだろうか
しかも2個作ったメソッドの片方だけこの現象が起きる。処理内容に問題があるわけではないけど
これを放置するのはマズイよな
>>723
ありがとう。参考になります
725デフォルトの名無しさん
2017/07/24(月) 05:46:45.69ID:q6ge4pC6 メモリスタック確認するのが一番じゃね?適当だけど
726デフォルトの名無しさん
2017/07/24(月) 08:11:09.42ID:rFx+DNZY なるほど・・・ってVC++環境でコアダンプってどうやって取れば良いんだろ
ググるとWindows Error Reportがトラップしている時にタスクマネージャからダンプさせる
とか出てくるけどトラップされている訳じゃないのでこの方法は使えないし・・・
それともどこかにダンプが保存されているんだろうか
ググるとWindows Error Reportがトラップしている時にタスクマネージャからダンプさせる
とか出てくるけどトラップされている訳じゃないのでこの方法は使えないし・・・
それともどこかにダンプが保存されているんだろうか
727デフォルトの名無しさん
2017/07/24(月) 12:01:57.41ID:YHai+DFK プロセスにアタッチしてブレイクしたら。
728デフォルトの名無しさん
2017/07/24(月) 19:26:11.30ID:R/9Imr1c 困った時のprintfデバッグ
729デフォルトの名無しさん
2017/07/26(水) 14:44:00.57ID:P+h1MRRW 【Unity】ソートアルゴリズム12種を可視化してみた - Qiita
http://qiita.com/r-ngtm/items/f4fa55c77459f63a5228
http://qiita.com/r-ngtm/items/f4fa55c77459f63a5228
730デフォルトの名無しさん
2017/07/27(木) 10:11:51.47ID:FeDFxsXm ソフトウェアデザインがインターフェースの記事を丸々パクって問題になったことがあったな
731デフォルトの名無しさん
2017/07/29(土) 18:02:23.06ID:Xgmp5DuD VisualC++でビルドすると--disable-debug-envを付けてもデバッグビルドになってしまうように見えるけど気のせいかな・・・
インストールされるサイズが--enable-debug-envと比べてちっとも変わらない
生成したMakefileにデバッグ関係のオプションを削ったCFLAGSとLDFLAGSを書き込んだらインストールサイズが大分小さくなった
インストールされるサイズが--enable-debug-envと比べてちっとも変わらない
生成したMakefileにデバッグ関係のオプションを削ったCFLAGSとLDFLAGSを書き込んだらインストールサイズが大分小さくなった
732724
2017/07/31(月) 01:44:48.62ID:0NH1HYUL ようやく原因がわかった
rb_scan_argsの第3引数が"22"と不適切な値にしていたことが原因だった。適切な"2"にしたら問題なくなった
複数のスレッドが動いているため?か例外を起こす場所が一定になるわけではない模様
rb_pでデバッグしていくと>>724の位置で例外が起きる(rb_raiseの第一引数がぶっ壊れていると
思われる)んだけど、デバッガで追いかけるとrb_scan_args内部で例外が起きる
rb_scan_argsの第3引数が"22"と不適切な値にしていたことが原因だった。適切な"2"にしたら問題なくなった
複数のスレッドが動いているため?か例外を起こす場所が一定になるわけではない模様
rb_pでデバッグしていくと>>724の位置で例外が起きる(rb_raiseの第一引数がぶっ壊れていると
思われる)んだけど、デバッガで追いかけるとrb_scan_args内部で例外が起きる
733デフォルトの名無しさん
2017/07/31(月) 02:05:04.23ID:9Hgupd7z 要約すると
Ruby ⇔ C と行き来するのはえらく面倒だ
ってことだな
これなら、Rubyを使うことそのものが目的じゃないのならだが
初めから Java、C#、C++ などを使ったほうが良かったってこったな
Ruby ⇔ C と行き来するのはえらく面倒だ
ってことだな
これなら、Rubyを使うことそのものが目的じゃないのならだが
初めから Java、C#、C++ などを使ったほうが良かったってこったな
734デフォルトの名無しさん
2017/07/31(月) 07:03:37.88ID:VY/jm5nF というか今時はRPCやメッセージキューを使って完全に分離してしまえばいい
WindowsでRubyの時点でどのみち実用性のないオナニーなんだから好きにすればいいけど
WindowsでRubyの時点でどのみち実用性のないオナニーなんだから好きにすればいいけど
735724
2017/07/31(月) 08:10:27.67ID:S3S/4XWd 引数を間違えると警告もなくメモリをぶっ壊す関数って絶対にこれだけじゃないよね・・・
今回の件で困ったことまとめ
・VC++のコマンドラインからビルドした物をデバッグする例が全然見つからない
VC++のIDEで開発したプロジェクトやgcc&makeで開発した物をgdbでデバッグする例なら沢山出てくるんだけどな
・CLIアプリケーションのためかデバッガから起動させるとgem関係のファイルがないとRubyが例外を吐いて動かない
requireの後に$<.getsを書いてコマンドプロンプトから起動。デバッガからアタッチしてブレークポイントをセット後に
Enterを入れて実行を再開。ただし100%上手くいくわけではない模様。無限ループ?にはまる時もある
エントリーポイントで止めて環境変数やカレントディレクトリを適切に設定した後に再開すれば動くのかな?
やり方が判らないけど
・RubyがSegmentation faultをトラップしてしまうためにメモリダンプを取れない?
signal.cやwin32.cでそれっぽそうなところを書き換えてみたけどトラップを止めさせることは出来なかった
どこを弄ればいいのだろうか・・・
C/C++は不慣れなので変なことを書いていたらスマン
今回の件で困ったことまとめ
・VC++のコマンドラインからビルドした物をデバッグする例が全然見つからない
VC++のIDEで開発したプロジェクトやgcc&makeで開発した物をgdbでデバッグする例なら沢山出てくるんだけどな
・CLIアプリケーションのためかデバッガから起動させるとgem関係のファイルがないとRubyが例外を吐いて動かない
requireの後に$<.getsを書いてコマンドプロンプトから起動。デバッガからアタッチしてブレークポイントをセット後に
Enterを入れて実行を再開。ただし100%上手くいくわけではない模様。無限ループ?にはまる時もある
エントリーポイントで止めて環境変数やカレントディレクトリを適切に設定した後に再開すれば動くのかな?
やり方が判らないけど
・RubyがSegmentation faultをトラップしてしまうためにメモリダンプを取れない?
signal.cやwin32.cでそれっぽそうなところを書き換えてみたけどトラップを止めさせることは出来なかった
どこを弄ればいいのだろうか・・・
C/C++は不慣れなので変なことを書いていたらスマン
736デフォルトの名無しさん
2017/07/31(月) 15:59:11.85ID:2wHF06gt ファイル名以外でファイルを識別するにはどうしたらいいんだ?
ファイル名変更したとしてもファイル名変更前とファイル名変更後のファイルを同じものとしてみたい
ファイルクラスのドキュメント見てみたけとそれらしいのはなかった
ファイル名変更したとしてもファイル名変更前とファイル名変更後のファイルを同じものとしてみたい
ファイルクラスのドキュメント見てみたけとそれらしいのはなかった
737デフォルトの名無しさん
2017/07/31(月) 16:30:54.00ID:PivEBbdv 何を以て同じファイルとみなすかに依る
単に内容だけ比較するなら FileUtils.#cmp を使うと良いよ
https://docs.ruby-lang.org/ja/latest/method/FileUtils/m/cmp.html
単に内容だけ比較するなら FileUtils.#cmp を使うと良いよ
https://docs.ruby-lang.org/ja/latest/method/FileUtils/m/cmp.html
738デフォルトの名無しさん
2017/07/31(月) 23:41:34.38ID:X3kyqB8s739デフォルトの名無しさん
2017/08/01(火) 01:21:43.84ID:eJYTTdCf >>737
こんな便利なメソッドがあったのか
でも変更前のファイルが残ってるやけじゃないからここでは使えないかな…
>>738
https://docs.ruby-lang.org/ja/latest/class/File=3a=3aStat.html
LINUXだからこの辺使ってinodeで判別できそう!ありがとう!
こんな便利なメソッドがあったのか
でも変更前のファイルが残ってるやけじゃないからここでは使えないかな…
>>738
https://docs.ruby-lang.org/ja/latest/class/File=3a=3aStat.html
LINUXだからこの辺使ってinodeで判別できそう!ありがとう!
740デフォルトの名無しさん
2017/08/01(火) 08:33:14.08ID:YiDwID17 >>739
そういう用途なら、ハードリンクに注意。
そういう用途なら、ハードリンクに注意。
741デフォルトの名無しさん
2017/08/01(火) 11:24:21.35ID:QsBohnup inodeは再利用されるからいつかギョッとするときが来ると思う
https://ideone.com/zPXgqb
https://ideone.com/zPXgqb
742デフォルトの名無しさん
2017/08/01(火) 16:59:50.09ID:T1EbqLjy いまどきのファイルシステムなら拡張属性つかえんじゃない?
索引つくれないと面倒だけど中身比較するよかまし
索引つくれないと面倒だけど中身比較するよかまし
743デフォルトの名無しさん
2017/08/01(火) 19:11:35.76ID:ggiqqoER744デフォルトの名無しさん
2017/08/01(火) 19:40:15.57ID:PARHYe6N まあ「inode見ればファイル名変更にも追従できる!」なんてやらなきゃいけない時点でなにかがとてつもなくおかしいわな
gitみたいなかんたんファイル変更検知機能付きアプリケーションを見てみると絶望できるかもしれないね
gitみたいなかんたんファイル変更検知機能付きアプリケーションを見てみると絶望できるかもしれないね
745デフォルトの名無しさん
2017/08/02(水) 13:55:20.56ID:5on7mlkV rubyでcoincheck apiを使ってみたいんだけど、いまドットインストールを見終わって、たのしいRubyを見終わったんだけど、opensllとかuriとかnet/httpとかの使い方はどうやったら分かるようになるのかな
746デフォルトの名無しさん
2017/08/02(水) 20:17:50.89ID:Y8o6EGzu それくらいはマニュアル見ろよ
ということでマニュアルの読み方の勉強が必要
ただ、それらのライブラリはプロトコルをちっとも隠蔽してくれてないのでOpenSSLやURIやHTTPの基礎知識は必須だぞ
普通なら使いたいapi試しながら勉強しろと言うんだが絶妙にトライアルアンドエラーのしにくい分野のapiなのが辛いな
ということでマニュアルの読み方の勉強が必要
ただ、それらのライブラリはプロトコルをちっとも隠蔽してくれてないのでOpenSSLやURIやHTTPの基礎知識は必須だぞ
普通なら使いたいapi試しながら勉強しろと言うんだが絶妙にトライアルアンドエラーのしにくい分野のapiなのが辛いな
747デフォルトの名無しさん
2017/08/03(木) 19:35:54.85ID:Yq3e1WJ9 Ruby並みに生産性が高く、C並みに高速で何でも作れる言語があったら神
748デフォルトの名無しさん
2017/08/03(木) 19:55:35.10ID:eWbe8h/f KotlinあたりにRubyっぽいライブラリがあれば案外簡単に実現できそう
749デフォルトの名無しさん
2017/08/03(木) 19:59:35.69ID:Yq3e1WJ9 Javaがないと動かない時点で全然C並みじゃない
750デフォルトの名無しさん
2017/08/03(木) 21:17:20.06ID:Wy5AX0em >Ruby並みに生産性が高く、C並みに高速で何でも作れる言語
じゃーC++だね
生産性はJavaやC#には負けるかもしれないが
静的型言語だから少なくともRubyより生産性あるしな
じゃーC++だね
生産性はJavaやC#には負けるかもしれないが
静的型言語だから少なくともRubyより生産性あるしな
751デフォルトの名無しさん
2017/08/03(木) 21:59:48.18ID:yhj86Quo752デフォルトの名無しさん
2017/08/03(木) 22:12:01.14ID:Wy5AX0em 8万行ぐらいのフリーソフトなら作ったことあるけど
逆にRubyでこの規模のソフト開発するのは嫌だなぁ
逆にRubyでこの規模のソフト開発するのは嫌だなぁ
753デフォルトの名無しさん
2017/08/03(木) 22:14:29.74ID:Wy5AX0em C++は割と何でも作れる懐の深い言語だと思うよ
速度も最速といってよいレベルだし
C++で作って重かったらもう諦めるっつーか
諦めも付く
速度も最速といってよいレベルだし
C++で作って重かったらもう諦めるっつーか
諦めも付く
754デフォルトの名無しさん
2017/08/03(木) 22:16:49.93ID:Wy5AX0em そもそも
>ある程度の規模のアプリ書いたことある?
って聞き方がおかしいんだよなぁ
どちらかと言えばRubyは短いプログラムをサクッと作るのが得意分野なのに
ある程度の規模が前提なら、そりゃ、静的型の方が良いだろうよ
>ある程度の規模のアプリ書いたことある?
って聞き方がおかしいんだよなぁ
どちらかと言えばRubyは短いプログラムをサクッと作るのが得意分野なのに
ある程度の規模が前提なら、そりゃ、静的型の方が良いだろうよ
755デフォルトの名無しさん
2017/08/03(木) 22:20:14.12ID:rbKeWnbz 一般的にメモリの保護機構を持たないと言うだけでその言語の生産性はかなり下がる
後に開発された言語の多くがメモリの保護機構を用意していることからもこれは明らか
C++でコンパイルが通れば一発動作のスーパーハッカーなら生産性は高いだろうけど
そりゃ言語の生産性が高いわけではなくそいつが凄いだけw
後に開発された言語の多くがメモリの保護機構を用意していることからもこれは明らか
C++でコンパイルが通れば一発動作のスーパーハッカーなら生産性は高いだろうけど
そりゃ言語の生産性が高いわけではなくそいつが凄いだけw
756デフォルトの名無しさん
2017/08/03(木) 22:22:18.12ID:yhj86Quo >>753
それと生産性の高さとは何も関係ないけどね
それと生産性の高さとは何も関係ないけどね
757デフォルトの名無しさん
2017/08/03(木) 22:27:07.72ID:JmT9ks+l rubyなら8千行
758デフォルトの名無しさん
2017/08/03(木) 22:27:27.39ID:Wy5AX0em だから
>(C++は)生産性はJavaやC#には負けるかもしれないが
って書いただろ
でもRubyより有ればひとまずそれで良いんだろ?
しかも>>751なんかは「ある程度の規模」って条件を指定してるし
>(C++は)生産性はJavaやC#には負けるかもしれないが
って書いただろ
でもRubyより有ればひとまずそれで良いんだろ?
しかも>>751なんかは「ある程度の規模」って条件を指定してるし
759デフォルトの名無しさん
2017/08/03(木) 22:29:36.38ID:yhj86Quo760デフォルトの名無しさん
2017/08/03(木) 22:36:03.43ID:Wy5AX0em それでも静的型の方が生産性があるってのが業界のFAだろ?
最近出てきた言語はどうなってる?当たり前に静的型の機能を持ってるだろ
あと、C++はRubyよりシェア(という言い方が適切かは分からないが)高いし
コミュニティーも活発だよ
だから
>Ruby並みに生産性が高く、C並みに高速で何でも作れる言語
の回答はC++だ
他に選択肢有るか?
最近出てきた言語はどうなってる?当たり前に静的型の機能を持ってるだろ
あと、C++はRubyよりシェア(という言い方が適切かは分からないが)高いし
コミュニティーも活発だよ
だから
>Ruby並みに生産性が高く、C並みに高速で何でも作れる言語
の回答はC++だ
他に選択肢有るか?
761デフォルトの名無しさん
2017/08/03(木) 22:37:48.85ID:Wy5AX0em あと、C++はライブラリも結構豊富な方だと思うよ
Cのライブラリも使えるし、まぁ、大体は何でも
言語の生産性を考えたとき、利用者が多いことも有利に働くよ
Cのライブラリも使えるし、まぁ、大体は何でも
言語の生産性を考えたとき、利用者が多いことも有利に働くよ
762デフォルトの名無しさん
2017/08/03(木) 22:44:10.59ID:yhj86Quo >>760
> 最近出てきた言語はどうなってる?当たり前に静的型の機能を持ってるだろ
最近出てきた言語はどうなってる?当たり前にメモリ管理機能を持ってるだろ
静的型のメリットをメモリ管理のデメリットが塗りつぶしてるんだよ、C++は
> 最近出てきた言語はどうなってる?当たり前に静的型の機能を持ってるだろ
最近出てきた言語はどうなってる?当たり前にメモリ管理機能を持ってるだろ
静的型のメリットをメモリ管理のデメリットが塗りつぶしてるんだよ、C++は
763デフォルトの名無しさん
2017/08/03(木) 22:48:11.18ID:Wy5AX0em Boehm GCでも使えばよいだろ
764デフォルトの名無しさん
2017/08/03(木) 22:51:34.98ID:Wy5AX0em それに周りを見渡してみればC++で書かれた
大規模中規模アプリが山のようにあるのに
本当に生産性が低いといえるのかどうなのか
大規模中規模アプリが山のようにあるのに
本当に生産性が低いといえるのかどうなのか
765デフォルトの名無しさん
2017/08/03(木) 22:58:07.67ID:6SHaFuae 生産性が高ければそこそこの「シェア」も自然とあるだろうが
そこそこの「シェア」があるからといって生産性が高いとは限らない
そこそこの「シェア」があるからといって生産性が高いとは限らない
766デフォルトの名無しさん
2017/08/03(木) 23:01:51.14ID:yhj86Quo767デフォルトの名無しさん
2017/08/03(木) 23:02:53.79ID:yhj86Quo768デフォルトの名無しさん
2017/08/03(木) 23:08:35.02ID:Wy5AX0em769デフォルトの名無しさん
2017/08/03(木) 23:10:08.67ID:yhj86Quo770デフォルトの名無しさん
2017/08/03(木) 23:11:31.02ID:9Ns8iW3Z771デフォルトの名無しさん
2017/08/03(木) 23:12:12.72ID:yhj86Quo 第一、なんでそんな人間がRubyスレ覗いてるの?
君の意見だとRubyには見るべきところなんて一切ないはずなのにさ
別の言語を叩いてスッキリしたいのか、煽ってるだけなのかどっちかだよね
どちらにしても性格最悪だね
君の意見だとRubyには見るべきところなんて一切ないはずなのにさ
別の言語を叩いてスッキリしたいのか、煽ってるだけなのかどっちかだよね
どちらにしても性格最悪だね
772デフォルトの名無しさん
2017/08/03(木) 23:17:01.30ID:9Ns8iW3Z >>771
そりゃ ruby を愛しているからだよ(ぼそ)
そりゃ ruby を愛しているからだよ(ぼそ)
773デフォルトの名無しさん
2017/08/03(木) 23:20:08.59ID:Wy5AX0em >>770
実際問題、スマポもあるしな
問題になるのは循環参照がある場合だけだけど
でもそれは設計段階でわかることだから
片方をweak_ptrにすれば良いだけだしな
言うほど面倒ということもないし
世の中のC++アプリは普通に動いてるし
あと、短い間しか生きてない、常駐しないプログラムなら
メモリをいちいち開放する必要もないしな
OSに任せておけばよいだろうよ
>別の言語を叩いて
俺は別にC++に所属しているわけじゃないし
「別」も糞もない、俺にとってC++もRubyも一言語にすぎないよ
実際問題、スマポもあるしな
問題になるのは循環参照がある場合だけだけど
でもそれは設計段階でわかることだから
片方をweak_ptrにすれば良いだけだしな
言うほど面倒ということもないし
世の中のC++アプリは普通に動いてるし
あと、短い間しか生きてない、常駐しないプログラムなら
メモリをいちいち開放する必要もないしな
OSに任せておけばよいだろうよ
>別の言語を叩いて
俺は別にC++に所属しているわけじゃないし
「別」も糞もない、俺にとってC++もRubyも一言語にすぎないよ
774デフォルトの名無しさん
2017/08/03(木) 23:21:25.18ID:Wy5AX0em だいぶズレてきてしまっているけど、もともとは
>Ruby並みに生産性が高く、C並みに高速で何でも作れる言語
ってお題だぞ
C++しか無いだろ
>Ruby並みに生産性が高く、C並みに高速で何でも作れる言語
ってお題だぞ
C++しか無いだろ
775デフォルトの名無しさん
2017/08/03(木) 23:24:01.10ID:rbKeWnbz C++の生産性が次世代C、C++を目指して開発されたD、Go、Rustなどを上回ることはないと断言して良いはず
C++の名を挙げるならその前にこれらを挙げるべきだ
C++の名を挙げるならその前にこれらを挙げるべきだ
776デフォルトの名無しさん
2017/08/03(木) 23:28:11.69ID:Wy5AX0em シェアが少なかったり使える人が少ない言語なんか選んじゃだめだよ
今は生産性の話をしているのに
だからC++なのさ
今は生産性の話をしているのに
だからC++なのさ
777デフォルトの名無しさん
2017/08/03(木) 23:28:54.47ID:rbKeWnbz シェアと生産性はなんの関係もないw
778デフォルトの名無しさん
2017/08/03(木) 23:30:28.02ID:6SHaFuae >>768
「生産性が高ければそこそこの「シェア」も自然とあるだろうが
そこそこの「シェア」があるからといって生産性が高いとは限らない」
という言説からどういう論理で
「つまりRubyは生産性が無いってことだな」
という結論が出るんですかね
これらから言えることは飽くまで「シェア」があることからは生産性に関して何も推論できないということ
肝心なところの説明がふわっとしてて独善的なんだよ
「生産性が高ければそこそこの「シェア」も自然とあるだろうが
そこそこの「シェア」があるからといって生産性が高いとは限らない」
という言説からどういう論理で
「つまりRubyは生産性が無いってことだな」
という結論が出るんですかね
これらから言えることは飽くまで「シェア」があることからは生産性に関して何も推論できないということ
肝心なところの説明がふわっとしてて独善的なんだよ
779デフォルトの名無しさん
2017/08/03(木) 23:31:12.11ID:Wy5AX0em 特にD言語なんか挙げてる時点で何もわかってないね
あれはもうダメでしょ、誰がどう見ても
D言語の開発がいつ始まったか知らないけど
10〜15年ぐらい経ってこの状況なのに
これから先どう化けるってのよ
あんなので開発するのは生産性以前の問題だよ
あれはもうダメでしょ、誰がどう見ても
D言語の開発がいつ始まったか知らないけど
10〜15年ぐらい経ってこの状況なのに
これから先どう化けるってのよ
あんなので開発するのは生産性以前の問題だよ
780デフォルトの名無しさん
2017/08/03(木) 23:33:45.92ID:yhj86Quo 結局何が言いたいんだろうね
Rubyなんて使えないってことですかね?
だとしたらそれはRubyスレで語ることですかね?
Rubyなんて使えないってことですかね?
だとしたらそれはRubyスレで語ることですかね?
781デフォルトの名無しさん
2017/08/03(木) 23:38:14.16ID:Wy5AX0em >>778
自分で
>生産性が高ければそこそこの「シェア」も自然とあるだろう
って言ったんだろ
言い換えれば、シェアが無い言語は生産性が無いってことになるだろ?
分かりにくかったら会話風にして例を出してやろうか?
A:Rubyって生産性高いんですか?
B:生産性が高ければそこそこの「シェア」も自然とあるだろう(実際には無い)
A:あ、低いんだ・・・
>これらから言えることは飽くまで「シェア」があることからは生産性に関して何も推論できない
そういうことが言いたかったら
「生産性が高くてもシェアがあるとは限らないし
シェアがあるからと言って生産性が高いとも限らない」
っていうべきじゃん
でも君の言ったのは
「生産性が高ければそこそこの「シェア」も自然とあるだろう」
だからね、お忘れなく
自分で
>生産性が高ければそこそこの「シェア」も自然とあるだろう
って言ったんだろ
言い換えれば、シェアが無い言語は生産性が無いってことになるだろ?
分かりにくかったら会話風にして例を出してやろうか?
A:Rubyって生産性高いんですか?
B:生産性が高ければそこそこの「シェア」も自然とあるだろう(実際には無い)
A:あ、低いんだ・・・
>これらから言えることは飽くまで「シェア」があることからは生産性に関して何も推論できない
そういうことが言いたかったら
「生産性が高くてもシェアがあるとは限らないし
シェアがあるからと言って生産性が高いとも限らない」
っていうべきじゃん
でも君の言ったのは
「生産性が高ければそこそこの「シェア」も自然とあるだろう」
だからね、お忘れなく
782デフォルトの名無しさん
2017/08/03(木) 23:39:38.23ID:Wy5AX0em783デフォルトの名無しさん
2017/08/03(木) 23:40:45.06ID:yhj86Quo784デフォルトの名無しさん
2017/08/03(木) 23:42:53.41ID:Wy5AX0em Rubyの初心者だからだよ
785デフォルトの名無しさん
2017/08/03(木) 23:43:34.73ID:rbKeWnbz 生産性は成果/コスト
C++を含むC系言語の生産性ってどのくらいなんだろうね
非標準ライブラリの信頼性検査コストや、デバッグのコスト、言語仕様に
起因する事故の損失や対応に要したコストを積み重ねたら悲惨なことになりそう
C++を含むC系言語の生産性ってどのくらいなんだろうね
非標準ライブラリの信頼性検査コストや、デバッグのコスト、言語仕様に
起因する事故の損失や対応に要したコストを積み重ねたら悲惨なことになりそう
786デフォルトの名無しさん
2017/08/03(木) 23:46:00.36ID:yhj86Quo787デフォルトの名無しさん
2017/08/03(木) 23:52:39.73ID:85r5WZPx ぶっちゃけて言うと、メモリ管理がびみょいC++は生産性低いかも知らん
が
「特定の業種だと」C++がデフォルトって話にはなるわな
なに組み込んでんの? 的な意味で
ゲームもそうらしいが俺はゲーム業界知らんので
あとは単純な「慣れ」の問題もあるだろう
「慣れ」は個人の主観的感想
キチンとポジション明確にしてる人(例:「俺組み込みやってるんだけどさ」と前置きがあったといった人)
が言ったのでなければ無視すべき項目
とりあえず >> 768 の
> それでもRubyよりは生産性有るから問題ないだろう
という一文を見る限り、RubyじゃなくてC++スレに行くべき人ではないかなぁと判断している
RubyよりC++のほうが得意ならC++の話をC++スレでしているべきだ
が
「特定の業種だと」C++がデフォルトって話にはなるわな
なに組み込んでんの? 的な意味で
ゲームもそうらしいが俺はゲーム業界知らんので
あとは単純な「慣れ」の問題もあるだろう
「慣れ」は個人の主観的感想
キチンとポジション明確にしてる人(例:「俺組み込みやってるんだけどさ」と前置きがあったといった人)
が言ったのでなければ無視すべき項目
とりあえず >> 768 の
> それでもRubyよりは生産性有るから問題ないだろう
という一文を見る限り、RubyじゃなくてC++スレに行くべき人ではないかなぁと判断している
RubyよりC++のほうが得意ならC++の話をC++スレでしているべきだ
788デフォルトの名無しさん
2017/08/03(木) 23:55:37.05ID:6SHaFuae 「生産性が高ければ「シェア」もある」は
「「シェア」がある」が真ならこの命題は満たされてこれ以上『生産性に関して何も推論できない』でしょ
もちろんこのことから「シェア」がなければ生産性が高くないと言えるという指摘は正しい
しかしそれまでにC++はRubyより「シェア」があるとは言っているがRubyには「シェア」が無いとは言っていないのでふわっとしてて独善的と評しただけの話
「「シェア」がある」が真ならこの命題は満たされてこれ以上『生産性に関して何も推論できない』でしょ
もちろんこのことから「シェア」がなければ生産性が高くないと言えるという指摘は正しい
しかしそれまでにC++はRubyより「シェア」があるとは言っているがRubyには「シェア」が無いとは言っていないのでふわっとしてて独善的と評しただけの話
789デフォルトの名無しさん
2017/08/03(木) 23:56:56.33ID:85r5WZPx うわー俺酔っぱい度高ぇな、もう寝るか
あと久々にRubyist Magagineみたら「RubyからPython蹴ったら統計処理の対応できなくね?」という
変態の記事があったので……ああ、うんRuby使いっぽいなって思った(小学生の日記風感想)
Pygmentsもそれで対応してるからな、どんだけ他人の成果を再利用するつもりだあいつら(いい意味で)
あと久々にRubyist Magagineみたら「RubyからPython蹴ったら統計処理の対応できなくね?」という
変態の記事があったので……ああ、うんRuby使いっぽいなって思った(小学生の日記風感想)
Pygmentsもそれで対応してるからな、どんだけ他人の成果を再利用するつもりだあいつら(いい意味で)
790デフォルトの名無しさん
2017/08/04(金) 00:01:33.92ID:6xnwiv0x 「C++のほうがRubyより生産性高い ※個人の感想です」
とか書いておいたら誰もケチ付けなかったと思うがねえ
レスは全部「お前の中ではな」になるだろうが
とか書いておいたら誰もケチ付けなかったと思うがねえ
レスは全部「お前の中ではな」になるだろうが
791デフォルトの名無しさん
2017/08/04(金) 01:04:33.14ID:2RnUdeBz 横に長い言語は生産性が高い。
792デフォルトの名無しさん
2017/08/04(金) 08:10:50.87ID:NssrcL9O つーか言語の評価に標準ではないライブラリを持ち込んでいる時点で頭のおかしい人だろ
これが許されるならRubyで数値計算ライブラリや画像処理ライブラリを利用した時の速度をもって
Rubyでも高速に演算できると主張できてしまう。そんなことを吠えている奴がいたらアホ丸出しw
これが許されるならRubyで数値計算ライブラリや画像処理ライブラリを利用した時の速度をもって
Rubyでも高速に演算できると主張できてしまう。そんなことを吠えている奴がいたらアホ丸出しw
793デフォルトの名無しさん
2017/08/04(金) 09:14:05.59ID:PF1N3/4o >>790
言語を比較する際に、生産性のみを論点にするのはナンセンスだ。
生産者は人間および組織であって、その人間、組織の言語習熟度が生産性に大きく影響するからだ。
言語を比較する際に、
1. 学習容易さ
2. 作ったアプリの実行効率(実行に要する、時間、バッテリーの効率性)
3. 多様なアプリを作れるか?
4. 大規模、多人数組織でアプリを構築容易か?
こういった観点で比較しないと!
言語を比較する際に、生産性のみを論点にするのはナンセンスだ。
生産者は人間および組織であって、その人間、組織の言語習熟度が生産性に大きく影響するからだ。
言語を比較する際に、
1. 学習容易さ
2. 作ったアプリの実行効率(実行に要する、時間、バッテリーの効率性)
3. 多様なアプリを作れるか?
4. 大規模、多人数組織でアプリを構築容易か?
こういった観点で比較しないと!
794デフォルトの名無しさん
2017/08/04(金) 09:44:59.17ID:ABZoxKZM 初心者なら明らかにrubyのが生産性高いな
自分でプログラミング用のツール組むようになってくるとどの言語も大差なくなってくる気がする
簡素に書けるとかはストレスやミスを減らすのには役立つけど
自分がフレームワーク使ったり作ったりして結局ビジネスロジック記述だけが最終的な仕事だと思ってるからかもしんない
自分でプログラミング用のツール組むようになってくるとどの言語も大差なくなってくる気がする
簡素に書けるとかはストレスやミスを減らすのには役立つけど
自分がフレームワーク使ったり作ったりして結局ビジネスロジック記述だけが最終的な仕事だと思ってるからかもしんない
795デフォルトの名無しさん
2017/08/04(金) 10:22:37.37ID:PF1N3/4o Ruby初心者が毎日
# sample.rb
foo 14
bar 15
boo { | val | val > 5 }
bar 18
こんなビジネスロジックを記述するDSLばかり仕事で書かされていても、
Rubyについて習熟する事にはならない。
このファイルsample.rbがconfig.instance_eval File.read sample.rb
されている事を知らないと、全く何やってるか?判らんだろうなぁ。
おまけに、configがどのクラスのインスタンスなのか?判らんと初心者は、
生産活動しているとは言え、それはロボットと同じだ。
Railsアプリなんかは、こんな感じじゃ無いのか?
# sample.rb
foo 14
bar 15
boo { | val | val > 5 }
bar 18
こんなビジネスロジックを記述するDSLばかり仕事で書かされていても、
Rubyについて習熟する事にはならない。
このファイルsample.rbがconfig.instance_eval File.read sample.rb
されている事を知らないと、全く何やってるか?判らんだろうなぁ。
おまけに、configがどのクラスのインスタンスなのか?判らんと初心者は、
生産活動しているとは言え、それはロボットと同じだ。
Railsアプリなんかは、こんな感じじゃ無いのか?
796デフォルトの名無しさん
2017/08/04(金) 10:28:16.49ID:PF1N3/4o SinatraのDSLの例
#sinatra.rb
get '/' do
'how are you?'
end
get '/path/to' do
"this is [/path/to]"
end
get '/erb_template_page' do
erb :erb_template_page
end
こんなん、がWebサイトになるなんて、初心者は納得できるのだろうか?
#sinatra.rb
get '/' do
'how are you?'
end
get '/path/to' do
"this is [/path/to]"
end
get '/erb_template_page' do
erb :erb_template_page
end
こんなん、がWebサイトになるなんて、初心者は納得できるのだろうか?
797デフォルトの名無しさん
2017/08/04(金) 10:36:36.83ID:ABZoxKZM お前だってtcpとかhttpレスポンスヘッダいちいち書かないだろ
大事なのは理解してるか、何かあったとき対応できるか
大事なのは理解してるか、何かあったとき対応できるか
798デフォルトの名無しさん
2017/08/04(金) 11:24:56.64ID:zdzyWEfw プログラミング好きな奴がWebに籠もりたがるのは、仕事でソフトウェア開発すれば気持ちがわかるよ
手の届かないところに自分のコードをリリースするということがどれほど忌々しいことか
手の届かないところに自分のコードをリリースするということがどれほど忌々しいことか
799デフォルトの名無しさん
2017/08/04(金) 14:03:05.98ID:7yKCvYxX 実行環境を制御できないこともね
たとえ仮想でもサーバごと納品できるのは(その点においてだけ)最高
JavaScript書かなくてもよくなればもっといいんだけど、まあ、そこは現実のお金との兼ね合いということで
うまくいっている部分があればあるほど我慢もききますわいな
たとえ仮想でもサーバごと納品できるのは(その点においてだけ)最高
JavaScript書かなくてもよくなればもっといいんだけど、まあ、そこは現実のお金との兼ね合いということで
うまくいっている部分があればあるほど我慢もききますわいな
800デフォルトの名無しさん
2017/08/04(金) 15:15:50.08ID:Mgeezcro これだけ反応があってモゴモゴしてるってことは図星だったってことだな
>少なくともRubyより生産性あるしな
>少なくともRubyより生産性あるしな
801デフォルトの名無しさん
2017/08/04(金) 18:32:45.78ID:szkrtuN4802デフォルトの名無しさん
2017/08/04(金) 19:57:38.99ID:US5e0j3V >>794
> どの言語も大差なくなってくる気がする
あーそれ分かる
意外とねぇ、言語ごとのあれこれってのはどうにでもなる
どうにでもならない部分は逆に言うとどの言語でも同じ
苦しむところはどこでも同じと思う
> どの言語も大差なくなってくる気がする
あーそれ分かる
意外とねぇ、言語ごとのあれこれってのはどうにでもなる
どうにでもならない部分は逆に言うとどの言語でも同じ
苦しむところはどこでも同じと思う
803デフォルトの名無しさん
2017/08/04(金) 21:02:33.10ID:Mgeezcro だとしたら実行速度が速い言語ほど優秀って事になりますね
1.5倍ぐらいなら全然許容範囲だろうけど
50倍〜100倍遅い言語は存在価値ありませんよね
1.5倍ぐらいなら全然許容範囲だろうけど
50倍〜100倍遅い言語は存在価値ありませんよね
804デフォルトの名無しさん
2017/08/04(金) 21:15:48.69ID:szkrtuN4 >>803
はいはい、また君か
はいはい、また君か
805デフォルトの名無しさん
2017/08/04(金) 21:42:15.51ID:Jq4PnWl3 出来ることに大差ないっていう文言を生産性等に大差がないと臆することなく換言する図々しさよ
806デフォルトの名無しさん
2017/08/04(金) 21:47:51.74ID:Mgeezcro >初心者なら明らかにrubyのが生産性高いな
>自分でプログラミング用のツール組むようになってくるとどの言語も大差なくなってくる気がする
>あーそれ分かる
>意外とねぇ、言語ごとのあれこれってのはどうにでもなる
↑これは生産性についての話じゃないのかね?
>自分でプログラミング用のツール組むようになってくるとどの言語も大差なくなってくる気がする
>あーそれ分かる
>意外とねぇ、言語ごとのあれこれってのはどうにでもなる
↑これは生産性についての話じゃないのかね?
807デフォルトの名無しさん
2017/08/04(金) 23:51:53.04ID:US5e0j3V 日付変わる前に見たので一応レスしとく
>>806
ごめん
流れも読んでないし
さらに
切り取って部分的にレスしただけ
生産性とかについて特にコメントしたつもりはない
何に大差が無いかについては
実はなーんも考えてない
>>806
ごめん
流れも読んでないし
さらに
切り取って部分的にレスしただけ
生産性とかについて特にコメントしたつもりはない
何に大差が無いかについては
実はなーんも考えてない
808デフォルトの名無しさん
2017/08/05(土) 00:01:37.19ID:CDgy3mrn >何に大差が無いかについては
>実はなーんも考えてない
そういうことにしないとRubyに良いところが何も無くなるからな
遅い、だけが残る
>実はなーんも考えてない
そういうことにしないとRubyに良いところが何も無くなるからな
遅い、だけが残る
809デフォルトの名無しさん
2017/08/05(土) 06:58:32.21ID:pAL2FsqO 速度はだいたいIOがボトルネック
なのでどの言語でも実行時間同じになってくる
一部のアプリでは速度が大事でアセンブラとかで最適化されてたりもするけど
なのでどの言語でも実行時間同じになってくる
一部のアプリでは速度が大事でアセンブラとかで最適化されてたりもするけど
810デフォルトの名無しさん
2017/08/05(土) 07:00:10.28ID:pAL2FsqO >>805
生産性を上げるツールやマクロ作れない初心者にはそうかもね
生産性を上げるツールやマクロ作れない初心者にはそうかもね
811デフォルトの名無しさん
2017/08/05(土) 08:01:57.22ID:Zex8il51 漏れは、10言語ぐらい知っているけど、DSL を作りやすい、Ruby が圧倒的。
次いで、Groovy
vagrant, chef, SASS, Homebrew とか、ツールを作る際、
真っ先に、Ruby を候補に上げる
型安全性を高めるなら、Kotlin。
Kotlin = Java + Groovy
GC が無い、C/C++ などは、数年やってもバグるから、まともなアプリを作れない。
MISRA-C とか、安全にするには、学習コストが高い
派遣で行けば、分かるけど、数十人来ても、即さよならw
できる人が見つからない
デバイスとか、やる事が低レベルだから、
募集企業は、コンピューターリテラシーが必要って書いてる
コンピューターリテラシーって書いてる所は、要注意。
コンピューターのすべてを知ってる人の意味だから、
何百年勉強しても、分かることは、絶対にあり得ない
「Linux プログラミング・インタフェース」の著者は、
Linuxのman ページを書いてるけど、世界で唯一の、すべてを知る人
次いで、Groovy
vagrant, chef, SASS, Homebrew とか、ツールを作る際、
真っ先に、Ruby を候補に上げる
型安全性を高めるなら、Kotlin。
Kotlin = Java + Groovy
GC が無い、C/C++ などは、数年やってもバグるから、まともなアプリを作れない。
MISRA-C とか、安全にするには、学習コストが高い
派遣で行けば、分かるけど、数十人来ても、即さよならw
できる人が見つからない
デバイスとか、やる事が低レベルだから、
募集企業は、コンピューターリテラシーが必要って書いてる
コンピューターリテラシーって書いてる所は、要注意。
コンピューターのすべてを知ってる人の意味だから、
何百年勉強しても、分かることは、絶対にあり得ない
「Linux プログラミング・インタフェース」の著者は、
Linuxのman ページを書いてるけど、世界で唯一の、すべてを知る人
812デフォルトの名無しさん
2017/08/05(土) 08:10:39.26ID:INBBpNiE LLVMのruby実装も頓挫しちゃってるみたいね
813デフォルトの名無しさん
2017/08/05(土) 13:09:40.79ID:ncTzjPCq バージョンアップのたびに、互換性を心配しなくちゃいかんのが面倒。
Microsoftとかすこしはみならえ。
Microsoftとかすこしはみならえ。
814デフォルトの名無しさん
2017/08/05(土) 13:35:28.94ID:pAL2FsqO >>811
別にツールは対象となる言語で作る必要はないけどね
別にツールは対象となる言語で作る必要はないけどね
815デフォルトの名無しさん
2017/08/05(土) 13:36:41.39ID:CKOXuY3S rubyも長期サポート対象となるバージョンを出せば多少はよくなるかな
と思ったけどエンタープライズエディションってのがあったっけ
と思ったけどエンタープライズエディションってのがあったっけ
816デフォルトの名無しさん
2017/08/05(土) 14:53:35.10ID:wQFjSmwa MatzをはじめとしたMRIの連中はドカタIT大嫌いだから望みはないよ
実際、意図的にドカタITとは馴染まないようにしてる面もあるみたいだし
実際、意図的にドカタITとは馴染まないようにしてる面もあるみたいだし
817デフォルトの名無しさん
2017/08/06(日) 06:23:44.08ID:HgYWswov RubyでElectoronみたいなツールないの?
Rubyだとマルチプラットフォームで動くGUI付きのアプリ作りづらいわ
Rubyだとマルチプラットフォームで動くGUI付きのアプリ作りづらいわ
818デフォルトの名無しさん
2017/08/06(日) 06:44:56.72ID:8894pkNA > Rubyだとマルチプラットフォームで動くGUI付きのアプリ作りづらいわ
それはRubyの仕事ではないからもうちょっとツールキットに優しい言語使え、がいちおう答ではあるのだが
それはRubyの仕事ではないからもうちょっとツールキットに優しい言語使え、がいちおう答ではあるのだが
819デフォルトの名無しさん
2017/08/06(日) 08:55:36.45ID:mR27ajyC 簡単な物ならJRuby+JavaFXでサクッと作れるよ
820デフォルトの名無しさん
2017/08/06(日) 09:28:36.41ID:6pWMTSH/ クライアントJavaとかもう世間の認識では存在自体がウィルスだから
821デフォルトの名無しさん
2017/08/06(日) 13:21:15.86ID:ImnldfPH そりゃjavaアプレットの話じゃね?
822デフォルトの名無しさん
2017/08/06(日) 21:04:44.54ID:kcWz1cTJ マルチプラットフォームのGUIはだいたいクソ。
よっぽど本気のアプリでなければ。
よっぽど本気のアプリでなければ。
823デフォルトの名無しさん
2017/08/06(日) 21:07:30.87ID:fFJNwhsI wxRubyは悪くない感じだが最近のRubyで使えるコンパイル済みバイナリが無かった気がする
824デフォルトの名無しさん
2017/08/07(月) 01:29:48.60ID:A20vwfd9 SDLとRubyで良いじゃん
winでもlinuxでもmacでも可能で、
互換性もばりばりあるだろ
winでもlinuxでもmacでも可能で、
互換性もばりばりあるだろ
825デフォルトの名無しさん
2017/08/07(月) 19:48:29.80ID:8DHQ/UcZ 起動速度が気にならないのであれば>>819もあり。起動時間はwxRubyの方が早いと思う
826デフォルトの名無しさん
2017/08/07(月) 22:27:29.16ID:RsgpLAOY Ruby/TKとかどうなんだろ?
827デフォルトの名無しさん
2017/08/08(火) 00:00:33.50ID:3lFQ60WO >>826
機能的に間に合うならあり。標準で使えるしwxRubyより安定していると思う
機能的に間に合うならあり。標準で使えるしwxRubyより安定していると思う
828デフォルトの名無しさん
2017/08/08(火) 00:05:21.54ID:Nlx7hk6l >>826
最近のバージョンで、とうとう標準ではなくなったんだろ。
最近のバージョンで、とうとう標準ではなくなったんだろ。
829デフォルトの名無しさん
2017/08/08(火) 00:28:18.36ID:m8GLf68F まさに「Perlがあるのに何故Rubyを作るのですか?」状態だなww
ジョークのように思えて実は的を得ているのが面白い
ジョークのように思えて実は的を得ているのが面白い
830デフォルトの名無しさん
2017/08/08(火) 00:46:50.98ID:qcoC0xc5 自分用のソフトだとGUI必要になること滅多にないな
画像や動画関係のソフトはともかく
画像や動画関係のソフトはともかく
831デフォルトの名無しさん
2017/08/08(火) 02:57:24.40ID:HqOSCtNa832デフォルトの名無しさん
2017/08/08(火) 03:03:21.71ID:HqOSCtNa833デフォルトの名無しさん
2017/08/08(火) 03:06:05.95ID:HqOSCtNa >>818
>それはRubyの仕事ではない
オブジェクト指向はGUIで真価を発揮するので
むしろRuby本来の仕事だと思う
良いGUIツールキットがないのはRubyの弱点
まあRailsのWebアプリが主力なんだろうけど……
>それはRubyの仕事ではない
オブジェクト指向はGUIで真価を発揮するので
むしろRuby本来の仕事だと思う
良いGUIツールキットがないのはRubyの弱点
まあRailsのWebアプリが主力なんだろうけど……
834デフォルトの名無しさん
2017/08/08(火) 03:07:45.02ID:HqOSCtNa835デフォルトの名無しさん
2017/08/08(火) 03:09:41.42ID:HqOSCtNa836デフォルトの名無しさん
2017/08/08(火) 07:36:09.02ID:9yxzxkwB 配る時にGUIが欲しくなるんだよね
837デフォルトの名無しさん
2017/08/08(火) 09:42:20.79ID:z6OjstMn わざわざ起動引数を指定させたり説明したりミニスクリプト作ってメソッドを呼んでもらったりするよりかは
10行程度の記述でボタンやテキスト欄やスライダーなどを作りそこから指定できるようにしたほうが絶対便利で楽だろうということでRuby/Tkが採用されたのだが
フツーの人が期待するところのGUIアプリケーションというのはそういう機能重視の素朴なものではなくもっとリッチで精緻で高速描画なものであったのだというオチである
まあガチプログラマの考える添付GUIサポートライブラリなんてのはそんなもんだw
Tkもツールキット部分の見た目は頑張ってたのだがね
10行程度の記述でボタンやテキスト欄やスライダーなどを作りそこから指定できるようにしたほうが絶対便利で楽だろうということでRuby/Tkが採用されたのだが
フツーの人が期待するところのGUIアプリケーションというのはそういう機能重視の素朴なものではなくもっとリッチで精緻で高速描画なものであったのだというオチである
まあガチプログラマの考える添付GUIサポートライブラリなんてのはそんなもんだw
Tkもツールキット部分の見た目は頑張ってたのだがね
838デフォルトの名無しさん
2017/08/08(火) 11:42:08.06ID:akdCGEty839デフォルトの名無しさん
2017/08/08(火) 13:01:36.82ID:HqOSCtNa でもPerlよりRubyの方が
読み書きしやすいから
もっぱらRuby使ってる
Rubyの長所は可読性が大きい
読み書きしやすいから
もっぱらRuby使ってる
Rubyの長所は可読性が大きい
840デフォルトの名無しさん
2017/08/08(火) 18:16:05.55ID:/HyVzMZd 短く書けることは正義
見通しの良さを生かしてDRYを徹底し
その場限りの言語を作って構造を要約する
省力に拘るオタク遊びをするだけで
最も読みやすいプログラムが勝手にできるし
読みやすいからコメント入れる作業もほぼ不用
見通しの良さを生かしてDRYを徹底し
その場限りの言語を作って構造を要約する
省力に拘るオタク遊びをするだけで
最も読みやすいプログラムが勝手にできるし
読みやすいからコメント入れる作業もほぼ不用
841デフォルトの名無しさん
2017/08/08(火) 19:54:43.96ID:9yxzxkwB 昔wxRubyでGUIアプリを作った時はGUI関係のコードが7〜8割いっていた気がする。GUIって効率悪いよね
842デフォルトの名無しさん
2017/08/08(火) 20:44:41.18ID:HqOSCtNa プログラマ側はCLIの方が作りやすいけど
一般ユーザが使いにくいので
商業アプリではほぼGUI必須だね
一般ユーザが使いにくいので
商業アプリではほぼGUI必須だね
843デフォルトの名無しさん
2017/08/08(火) 23:08:29.20ID:OEX1Zqjt844デフォルトの名無しさん
2017/08/08(火) 23:38:22.50ID:m8GLf68F Rubyがもっと素晴らしいものだったらよかったんだよ
例えば今風の最新の静的型の機能を持ったスクリプト言語とか
もし当時あったら珍しかったんじゃないかな
https://ja.wikipedia.org/wiki/Standard_Template_Library
↑はC++のテンプレートの話だが、「歴史」の項目が面白い
Matzが一所懸命Ruby作ってた裏では天才たちがこんなことしてたんだな
動的型のような将来性のない(今となっては負の遺産)もの作ってもしょうがないだろ
まさにPerlがあるのに何故Rubyを作るのですか?だな
今後どうなるのかわからないけど、もう、どうにもならないでしょ
本人も静的型は入れたくない(というか入れれない)ってゲロってるし
今後Rubyの時代は絶対来ない、コボルみたいな存在になるんだよ
例えば今風の最新の静的型の機能を持ったスクリプト言語とか
もし当時あったら珍しかったんじゃないかな
https://ja.wikipedia.org/wiki/Standard_Template_Library
↑はC++のテンプレートの話だが、「歴史」の項目が面白い
Matzが一所懸命Ruby作ってた裏では天才たちがこんなことしてたんだな
動的型のような将来性のない(今となっては負の遺産)もの作ってもしょうがないだろ
まさにPerlがあるのに何故Rubyを作るのですか?だな
今後どうなるのかわからないけど、もう、どうにもならないでしょ
本人も静的型は入れたくない(というか入れれない)ってゲロってるし
今後Rubyの時代は絶対来ない、コボルみたいな存在になるんだよ
845デフォルトの名無しさん
2017/08/08(火) 23:44:09.88ID:m8GLf68F 当時JavaもC++のテンプレートを馬鹿にしていて
あんなものはオブジェクト指向じゃない
オブジェクト指向言語のJavaにあんなものは必要ない
って言ってたんだけど
結局似たようなのを導入したよね
やっぱコンパイル時に型チェックが入るのはメリット有るんだよ
あんなものはオブジェクト指向じゃない
オブジェクト指向言語のJavaにあんなものは必要ない
って言ってたんだけど
結局似たようなのを導入したよね
やっぱコンパイル時に型チェックが入るのはメリット有るんだよ
846デフォルトの名無しさん
2017/08/08(火) 23:44:13.51ID:qcoC0xc5 必要なやつがお実装すりゃいい
847デフォルトの名無しさん
2017/08/08(火) 23:52:56.74ID:OEX1Zqjt848デフォルトの名無しさん
2017/08/09(水) 00:04:27.70ID:hEgnFYnk 君が多様性があったほうが良いと思っているのは承知だけど
それならそれで、もっと良いものじゃないと意味ないだろ、ということだ
それならそれで、もっと良いものじゃないと意味ないだろ、ということだ
849デフォルトの名無しさん
2017/08/09(水) 00:09:22.53ID:hEgnFYnk Perlを増築してオブジェクト指向を導入する方向で頑張ってもよかったんだよ
そしたら過去のPerlの資産も使えるからね
だけどそれが気に入らないから一から作ったんなら
もっと最善を尽くさなきゃ作る意味ないでしょ
特に最初の一歩は重要で、Rubyは動的型にしてしまったから
今現在にっちもさっちもいかなくなったわけ
そしたら過去のPerlの資産も使えるからね
だけどそれが気に入らないから一から作ったんなら
もっと最善を尽くさなきゃ作る意味ないでしょ
特に最初の一歩は重要で、Rubyは動的型にしてしまったから
今現在にっちもさっちもいかなくなったわけ
850デフォルトの名無しさん
2017/08/09(水) 00:52:16.87ID:zBzPXqGw Perlは覚えようとして挫折してRubyに流れ着いたのは自分だけか
Perlはパッと見て何をやっているのか全然判らない
Perlはパッと見て何をやっているのか全然判らない
851デフォルトの名無しさん
2017/08/09(水) 01:14:55.85ID:v3IDtueA >>848
俺が思ってる事に勝手に限定してんじゃねえよ
Perlが標榜するものの一部だろうが
それに人間性に問題があるのか知性に問題があるのか知らねえけど、
Perl6ならオブジェクト指向プログラミングが可能だし変数を型で縛れるぞ
俺が思ってる事に勝手に限定してんじゃねえよ
Perlが標榜するものの一部だろうが
それに人間性に問題があるのか知性に問題があるのか知らねえけど、
Perl6ならオブジェクト指向プログラミングが可能だし変数を型で縛れるぞ
852デフォルトの名無しさん
2017/08/09(水) 01:19:24.43ID:v3IDtueA >>850
俺は一度Ruby-1.6シリーズを触ったけどその時は合わなくてPerlに行った
PerlでCGIゲームを書いたけど結局1年半でRubyに流れ着いた
その時はRuby-1.8.1か2になってたかな
それからは個人利用だとRubyが中心になってる
決定的となったのはRuby Hacking Guideの存在だったな
Web版で済ませましたスンマセン
俺は一度Ruby-1.6シリーズを触ったけどその時は合わなくてPerlに行った
PerlでCGIゲームを書いたけど結局1年半でRubyに流れ着いた
その時はRuby-1.8.1か2になってたかな
それからは個人利用だとRubyが中心になってる
決定的となったのはRuby Hacking Guideの存在だったな
Web版で済ませましたスンマセン
853デフォルトの名無しさん
2017/08/09(水) 08:17:40.99ID:/WbeABcG Rubyが動的言語なのは必然
何も分かってない
影響を受けたPerl、Lisp、Smalltalkが動的言語
利用形態が近いLAMPのP言語のPerl、Python、PHPが動的言語
何も分かってない
影響を受けたPerl、Lisp、Smalltalkが動的言語
利用形態が近いLAMPのP言語のPerl、Python、PHPが動的言語
854デフォルトの名無しさん
2017/08/09(水) 09:35:00.76ID:ocU/hJiZ855デフォルトの名無しさん
2017/08/09(水) 18:40:53.88ID:C8BEXwt3 Win7(32bit)上のRubyInstaller2からwin32oleを使ってデータベースに接続しようとしてるんだけど
ODBCデータソースのOpenで例外が出てしまう。
エラーメッセージは↓
システムエラーコード126 指定されたモジュールが見つかりません (〜)
カッコ内はODBCドライバのフルパスが書かれているけどファイルは間違いなくそこにある。
試しにActiveScriptRubyでやってみたらうまく繋がる。
これってどんな原因が考えられるでしょうか?
ODBCデータソースのOpenで例外が出てしまう。
エラーメッセージは↓
システムエラーコード126 指定されたモジュールが見つかりません (〜)
カッコ内はODBCドライバのフルパスが書かれているけどファイルは間違いなくそこにある。
試しにActiveScriptRubyでやってみたらうまく繋がる。
これってどんな原因が考えられるでしょうか?
856デフォルトの名無しさん
2017/08/09(水) 18:58:08.43ID:hEgnFYnk857デフォルトの名無しさん
2017/08/09(水) 21:47:11.29ID:v3IDtueA >>855
不確かな答えになるけど
ODBCドライバが依存しているライブラリが読み込めないから?
環境変数のPATHを確認してみると違いがあるのかな
ruby -e 'p ENV["PATH"]'
あとはActionScriptRubyのruby.exeがあるディレクトリに移動してRubyInstaller2のruby.exeを起動してみるとか
不確かな答えになるけど
ODBCドライバが依存しているライブラリが読み込めないから?
環境変数のPATHを確認してみると違いがあるのかな
ruby -e 'p ENV["PATH"]'
あとはActionScriptRubyのruby.exeがあるディレクトリに移動してRubyInstaller2のruby.exeを起動してみるとか
858デフォルトの名無しさん
2017/08/09(水) 21:53:39.57ID:v3IDtueA >>857の追記
ググったらかなりの数がヒットしたから解決できるかもよ
https://www.google.com/search?q=ODBC+システムエラーコード126+指定されたモジュールが見つかりません
ググったらかなりの数がヒットしたから解決できるかもよ
https://www.google.com/search?q=ODBC+システムエラーコード126+指定されたモジュールが見つかりません
859デフォルトの名無しさん
2017/08/10(木) 00:54:17.37ID:CnaRda9Q >>856
別に苦しんでないけど?
別に苦しんでないけど?
860デフォルトの名無しさん
2017/08/10(木) 03:49:56.14ID:HGihyxQL 今現在も苦しんでる途中といってよいんじゃないかな
初めから静的型を導入してれば何でもなかったのにな
Pythonのこの様子をみてmarzは
Rubyに静的型を入れるのを止めたわけで
どのみち行くも留まるも地獄
初めから静的型にしておくのが正解だったわけだな
動的型っていったい何のために有るんだろうな
開発速度も実行速度も遅いんじゃ意味わからないよな
処理系を用意するのが楽ってこと以外はメリットが見当たらない
初めから静的型を導入してれば何でもなかったのにな
Pythonのこの様子をみてmarzは
Rubyに静的型を入れるのを止めたわけで
どのみち行くも留まるも地獄
初めから静的型にしておくのが正解だったわけだな
動的型っていったい何のために有るんだろうな
開発速度も実行速度も遅いんじゃ意味わからないよな
処理系を用意するのが楽ってこと以外はメリットが見当たらない
861デフォルトの名無しさん
2017/08/10(木) 04:03:30.21ID:HGihyxQL JSも非常に苦労が絶えないよね
まず使いにくいから静的型のTypeScriptとか作られたり
ブラウザのJSエンジンも速度上げるためにキチガイじみたことやってるよね
なしてこんなことにって感じ
動的型って世の中を混乱させて無駄なエネルギーを使わすために有るんかね
まず使いにくいから静的型のTypeScriptとか作られたり
ブラウザのJSエンジンも速度上げるためにキチガイじみたことやってるよね
なしてこんなことにって感じ
動的型って世の中を混乱させて無駄なエネルギーを使わすために有るんかね
862デフォルトの名無しさん
2017/08/10(木) 04:08:47.85ID:2C7jZkmh スレ違い
863デフォルトの名無しさん
2017/08/10(木) 06:58:53.68ID:1rmPYDcN スレが伸びてると思ったらまた例の粘着荒しか
こんなのを生み出したこいつの親に製造責任とって欲しいよ、ホント
win32oleの話題が出てるけど、
ファイルダイアログ扱うCOMってOSのメインバージョン、xpとかvistaとか7とか違っていても共通でいけるの?
それともメインバージョン毎に異なるCOM使わないといけないの?
こんなのを生み出したこいつの親に製造責任とって欲しいよ、ホント
win32oleの話題が出てるけど、
ファイルダイアログ扱うCOMってOSのメインバージョン、xpとかvistaとか7とか違っていても共通でいけるの?
それともメインバージョン毎に異なるCOM使わないといけないの?
864デフォルトの名無しさん
2017/08/10(木) 07:05:51.34ID:1rmPYDcN メインじゃなくてメジャーだったな
865デフォルトの名無しさん
2017/08/10(木) 07:36:31.27ID:CnaRda9Q >>860
だから苦しんでないけど?
だから苦しんでないけど?
866デフォルトの名無しさん
2017/08/10(木) 09:29:44.68ID:HGihyxQL867デフォルトの名無しさん
2017/08/10(木) 09:36:29.21ID:stL+geP9 >>855
"mfc71.dll"、"msvcp71.dll"、"msvcr71.dll"の3つのファイルを入手してOSのシステムディレクトリ"c:¥windows¥system32"に保存すればよい。
"mfc71.dll"、"msvcp71.dll"、"msvcr71.dll"の3つのファイルを入手してOSのシステムディレクトリ"c:¥windows¥system32"に保存すればよい。
868デフォルトの名無しさん
2017/08/10(木) 09:40:32.90ID:stL+geP9 VC++ 2010(32bit版)、VC++ 2012(32bit版、64bit版)、VC++2013(32bit版、64bit版)の計5つのランタイムの内、1つをinstallすれば解決できるかも。
まあ、この手のエラーは、ランタイム地獄とか、DLL Hellとかで検索!
まあ、この手のエラーは、ランタイム地獄とか、DLL Hellとかで検索!
869デフォルトの名無しさん
2017/08/11(金) 16:38:50.24ID:XzR2MkFB プログラム初心者がrubyを1から学ぶ上でおすすめの本とおすすめのサイト・ブログを教えてほしいです。
ちなみにルビィの冒険はすでに持ってます。
というかルビィの冒険を読んで興味持ちました。
ちなみにルビィの冒険はすでに持ってます。
というかルビィの冒険を読んで興味持ちました。
870デフォルトの名無しさん
2017/08/11(金) 17:43:52.20ID:rRCrIO51 ルビィの冒険
↓
はじめてのRuby
↓
パーフェクトRuby
↓
Rubyベストプラクティス
EffectiveRuby
メタプログラミングRuby1版or2版
Rubyによるデザインパターン
↓
リファクタリングRubyエディション
Rubyのしくみ。
ウェブアプリ方面
パーフェクトRubyonRails
RubyonRails5アプリケーション・プログラミング
Docker教科書
JapaScript本格入門第二版
入門Git
GitHub実践入門
SQL 第2版 ゼロからはじめるデータベース操作
達人に学ぶ SQL徹底指南書
SQLアンチパターン
↓
はじめてのRuby
↓
パーフェクトRuby
↓
Rubyベストプラクティス
EffectiveRuby
メタプログラミングRuby1版or2版
Rubyによるデザインパターン
↓
リファクタリングRubyエディション
Rubyのしくみ。
ウェブアプリ方面
パーフェクトRubyonRails
RubyonRails5アプリケーション・プログラミング
Docker教科書
JapaScript本格入門第二版
入門Git
GitHub実践入門
SQL 第2版 ゼロからはじめるデータベース操作
達人に学ぶ SQL徹底指南書
SQLアンチパターン
871デフォルトの名無しさん
2017/08/11(金) 17:57:19.54ID:yo7J1RVM JapaScriptってなんか国産っぽい
872デフォルトの名無しさん
2017/08/11(金) 18:27:13.22ID:XzR2MkFB873デフォルトの名無しさん
2017/08/11(金) 18:35:22.99ID:7nyPWQh8874デフォルトの名無しさん
2017/08/11(金) 20:51:31.14ID:rRCrIO51 >>872
基礎的なことを学んでいくなら問題はない、
しかしJavaScript等は最近大幅なテコ入れがあった。
だから不安なら、ここ最近1年以内の本を買ったほうがいい。
またそもそも基礎的な事、基本的な事なら10年以内の本でも
名著であり続ける。だがその数は少ない。
基礎的なことを学んでいくなら問題はない、
しかしJavaScript等は最近大幅なテコ入れがあった。
だから不安なら、ここ最近1年以内の本を買ったほうがいい。
またそもそも基礎的な事、基本的な事なら10年以内の本でも
名著であり続ける。だがその数は少ない。
875デフォルトの名無しさん
2017/08/11(金) 23:43:16.47ID:iboA2f8X >>869
たのしいRubyが定番の入門書
たのしいRubyが定番の入門書
876デフォルトの名無しさん
2017/08/12(土) 03:50:23.72ID:oUZskOr3 Rubyの言語仕様をある程度覚えたら、
次にリファクタリングRubyエディションを読むと良い
コードの最も筋の良い書き進め方を会得できるし、一般的なプログラミング作法の本質を学べる
コードをバリバリ書けるようになるし、Rubyを便利に使いこなす理解も深まる
次にリファクタリングRubyエディションを読むと良い
コードの最も筋の良い書き進め方を会得できるし、一般的なプログラミング作法の本質を学べる
コードをバリバリ書けるようになるし、Rubyを便利に使いこなす理解も深まる
877デフォルトの名無しさん
2017/08/12(土) 05:52:30.53ID:w+TtGEkw ary = ["a", "b"]
ary[0] = ary[0] + "x"
puts ary[0] #=> ax
ary[1] =+ "y"
puts ary[1] #=> y
上なら、文字列が連結されて、
下なら、b が消えて、上書きになるのは、なぜ?
文字列の、=+ 演算子は意味が異なるの?
ary[0] = ary[0] + "x"
puts ary[0] #=> ax
ary[1] =+ "y"
puts ary[1] #=> y
上なら、文字列が連結されて、
下なら、b が消えて、上書きになるのは、なぜ?
文字列の、=+ 演算子は意味が異なるの?
878877
2017/08/12(土) 06:04:00.61ID:w+TtGEkw ary = ["a", "b"]
ary[0] = ary[0] + "x"
# ary[1] =+ "y"
ary[1] += "y"
puts ary
表示
ax
by
自己レス
+= だったか。
=+ と逆に書いていたw
でも、コンパイルエラーが出ない
ary[0] = ary[0] + "x"
# ary[1] =+ "y"
ary[1] += "y"
puts ary
表示
ax
by
自己レス
+= だったか。
=+ と逆に書いていたw
でも、コンパイルエラーが出ない
879デフォルトの名無しさん
2017/08/12(土) 06:10:46.47ID:YomJun0W よっぽど仮想学習的な環境でない限りNoMethodErrorが出るよ
irb> a = %w(a b)
irb> a[1] =+ "y"
NoMethodError: undefined method `+@' for "y":String
irb> a = %w(a b)
irb> a[1] =+ "y"
NoMethodError: undefined method `+@' for "y":String
880デフォルトの名無しさん
2017/08/12(土) 08:30:27.74ID:4WztSMRy Ruby2.3からString#+@(immutableならば複製)が追加されている。
https://docs.ruby-lang.org/ja/2.3.0/class/String.html#I_--2B--40
https://docs.ruby-lang.org/ja/2.3.0/class/String.html#I_--2B--40
881877
2017/08/12(土) 08:33:50.03ID:w+TtGEkw paiza.IO で実行したけど、コンパイルエラーにならなかった
882デフォルトの名無しさん
2017/08/12(土) 08:47:10.82ID:4WztSMRy >>881
paizaは2.4系だから。あと細かいけど、インタプリタだからコンパイルエラーと呼ぶのは違う気がする
paizaは2.4系だから。あと細かいけど、インタプリタだからコンパイルエラーと呼ぶのは違う気がする
883デフォルトの名無しさん
2017/08/12(土) 11:48:52.04ID:CSnAjTr3 文字列のimmutable化による変更のひとつとして、Stringクラスに単項演算子+、-が追加されてる。
ttp://qiita.com/iwamot/items/2ddf8de09d5dbcad2df9
こういう事情らしい。
http://d.hatena.ne.jp/ku-ma-me/touch/20151004
Rubyはやっぱりクソ。互換性に対する配慮が甘い。
ttp://qiita.com/iwamot/items/2ddf8de09d5dbcad2df9
こういう事情らしい。
http://d.hatena.ne.jp/ku-ma-me/touch/20151004
Rubyはやっぱりクソ。互換性に対する配慮が甘い。
884デフォルトの名無しさん
2017/08/12(土) 11:53:23.96ID:CSnAjTr3885デフォルトの名無しさん
2017/08/12(土) 11:59:10.11ID:CSnAjTr3886デフォルトの名無しさん
2017/08/12(土) 12:02:12.46ID:45XD5hPK887デフォルトの名無しさん
2017/08/12(土) 12:33:20.77ID:4WztSMRy888デフォルトの名無しさん
2017/08/12(土) 13:33:01.18ID:K4TPp3Ad >3.0以降のデフォルトimmutable化
定数は自動的にfreezeするくらいの対応で良かったな
定数は自動的にfreezeするくらいの対応で良かったな
889デフォルトの名無しさん
2017/08/12(土) 13:41:07.20ID:zBhrUX+c だからそれじゃRailsさんは満足しないんだって
890デフォルトの名無しさん
2017/08/12(土) 13:46:16.09ID:K4TPp3Ad Rails(無理)が通ればRuby(道理)が引っ込む
891デフォルトの名無しさん
2017/08/12(土) 13:57:56.00ID:pblAmUa6 RoRのためのrubyをフォークしろって事だな
892デフォルトの名無しさん
2017/08/12(土) 14:01:19.65ID:zBhrUX+c Railsという単一の言語でいいと思うのよ実際
893デフォルトの名無しさん
2017/08/12(土) 14:25:04.02ID:zLZ79VVH Railsさんを追い出したら島根のお役所へのPRに使えるようなRuby採用事例がほとんど無くなって金貰えなくなるからね
Chefみたいなインフラ系の事例を出されても役所の人「ハァ?」だろうし
Chefみたいなインフラ系の事例を出されても役所の人「ハァ?」だろうし
894デフォルトの名無しさん
2017/08/12(土) 14:51:06.74ID:4WztSMRy RoR上でのみデフォルトでimmutable、ってのも立派な"Rail"じゃないのかなあ。
どうせマジックコメントで切り替えられるようにするんだったらわざわざRuby全体のデフォルトを変えんでもいいでしょうに……
どうせマジックコメントで切り替えられるようにするんだったらわざわざRuby全体のデフォルトを変えんでもいいでしょうに……
895デフォルトの名無しさん
2017/08/12(土) 15:19:12.43ID:K4TPp3Ad896デフォルトの名無しさん
2017/08/12(土) 15:26:53.07ID:zLZ79VVH897デフォルトの名無しさん
2017/08/12(土) 15:28:23.95ID:K4TPp3Ad898デフォルトの名無しさん
2017/08/12(土) 15:29:12.97ID:MaFRFCaQ899デフォルトの名無しさん
2017/08/12(土) 23:34:01.47ID:QBhBJkcV >>870
俺的今日のNo1、カキコ
俺的今日のNo1、カキコ
900デフォルトの名無しさん
2017/08/13(日) 00:56:22.58ID:SYaWjJhn901デフォルトの名無しさん
2017/08/13(日) 01:10:49.40ID:PA7iDDOj これも結局速度のために手動で変な最適化をプログラマに課してるだけのことだよな
こーゆーノリはC言語時代にはよくあったと思うけど
なんせ当時のCPUは今から考えるとものすごく遅かったからなぁ
だけど今時だとCPUも速いしコンパイラの最適化も凄いから
特に何も考えなくても十分に速いので、変な最適化に技巧を凝らすより
読みやすいコード書けってのが主流だよな
だけどRubyはメジャー言語より平気で50倍とか遅いし
コンパイラの最適化も糞なので手動で最適化するんだなwww
3.0GHzの最新CPUを使ってても50〜100MHzのCPU相当の速度になるし
加えてコンパイラの最適化も糞で手動で最適化とか
まるで20年ぐらい前の感じだな
動的型でプログラミングが楽になるはずが
静的な型チェックもなければ速度が遅くて手動で最適化とか
本当に動的型は素晴らしいですね
こーゆーノリはC言語時代にはよくあったと思うけど
なんせ当時のCPUは今から考えるとものすごく遅かったからなぁ
だけど今時だとCPUも速いしコンパイラの最適化も凄いから
特に何も考えなくても十分に速いので、変な最適化に技巧を凝らすより
読みやすいコード書けってのが主流だよな
だけどRubyはメジャー言語より平気で50倍とか遅いし
コンパイラの最適化も糞なので手動で最適化するんだなwww
3.0GHzの最新CPUを使ってても50〜100MHzのCPU相当の速度になるし
加えてコンパイラの最適化も糞で手動で最適化とか
まるで20年ぐらい前の感じだな
動的型でプログラミングが楽になるはずが
静的な型チェックもなければ速度が遅くて手動で最適化とか
本当に動的型は素晴らしいですね
902デフォルトの名無しさん
2017/08/13(日) 01:15:14.97ID:WE0t0sIJ スクリプトで手間暇かけて凝ったアルゴリズムで計算量減らすより
C++でブルートフォースしちゃった方がてっとり早くて速かったりするのはよくある話
スクリプト向きのタスクか否かを感覚的に見抜けることは大切
C++でブルートフォースしちゃった方がてっとり早くて速かったりするのはよくある話
スクリプト向きのタスクか否かを感覚的に見抜けることは大切
903デフォルトの名無しさん
2017/08/13(日) 01:20:36.73ID:PA7iDDOj 今もう2017年だよな
Rubyはこんな最適化のために
今更言語仕様を変えるだとか変えないとかで盛り上がってて
何なんだろうな
これから先もずっとこんな調子なのかね
元の実行速度が遅いから速くするための最適化のために言語仕様をどうのこうの
今はforループを自動で並列展開してマルチスレッドとかSIMDとかで
コンパイラに頑張ってもらって速度を稼ごうとか
そういうこと言ってる時代なのに
やってることがあまりにも原始的というかなんというか
技術的に何も面白くないし、触ってて本当に楽しいんだろうか?
よく考えられた静的型のシステムがあるわけでもないし
化石言語だな
ありとあらゆることをプログラマに丸投げ
Rubyはこんな最適化のために
今更言語仕様を変えるだとか変えないとかで盛り上がってて
何なんだろうな
これから先もずっとこんな調子なのかね
元の実行速度が遅いから速くするための最適化のために言語仕様をどうのこうの
今はforループを自動で並列展開してマルチスレッドとかSIMDとかで
コンパイラに頑張ってもらって速度を稼ごうとか
そういうこと言ってる時代なのに
やってることがあまりにも原始的というかなんというか
技術的に何も面白くないし、触ってて本当に楽しいんだろうか?
よく考えられた静的型のシステムがあるわけでもないし
化石言語だな
ありとあらゆることをプログラマに丸投げ
904デフォルトの名無しさん
2017/08/13(日) 01:31:38.50ID:PA7iDDOj ありとあらゆることが悪い方に作用している様は本当にすごいよ
動的型のおかげでそもそも遅そうなのにろくに最適化もかからないから鈍足
遅すぎるのでプログラマが手動で最適化してください
加えて静的な型チェックもしないのでテストするなりなんなり
プログラマが頑張ってください
動的型って何なんだろうね
動的型のおかげでそもそも遅そうなのにろくに最適化もかからないから鈍足
遅すぎるのでプログラマが手動で最適化してください
加えて静的な型チェックもしないのでテストするなりなんなり
プログラマが頑張ってください
動的型って何なんだろうね
905デフォルトの名無しさん
2017/08/13(日) 02:53:31.36ID:9GyPh5fY 専ブラを使っている人は次の正規表現をNGIDとして突っ込んでおきましょう
\b(ppLsekVC|qMkdrUOQ|IBgoqo2I|AOJFjP\+S|bC2KM4MS|Wy5AX0em|m8GLf68F|hEgnFYnk|HGihyxQL|PA7iDDOj)\b
\b(ppLsekVC|qMkdrUOQ|IBgoqo2I|AOJFjP\+S|bC2KM4MS|Wy5AX0em|m8GLf68F|hEgnFYnk|HGihyxQL|PA7iDDOj)\b
906デフォルトの名無しさん
2017/08/13(日) 04:14:05.84ID:SQfD9dn9 ワッチョイじゃないからあんまり意味ないんだよなぁ
1行読んで心のNGフィルターに突っ込んでるから問題ないけど
1行読んで心のNGフィルターに突っ込んでるから問題ないけど
907デフォルトの名無しさん
2017/08/13(日) 14:33:04.78ID:bHAx/aO4 ま〜た涌いてるのか
はよー親に製造責任とってもらえよ
はよー親に製造責任とってもらえよ
908デフォルトの名無しさん
2017/08/17(木) 15:09:10.89ID:ESEriUZI 趣味で作られた「オレ様の考える最強言語」にちょっと高望みしすぎじゃないの とか言っちゃダメかな
909デフォルトの名無しさん
2017/08/17(木) 15:16:46.98ID:+kyvImyc 初心者スレで暴れまわって機能不全に陥れるとは
Rubyは完全に澱んでるな
Pythonコミュニティとすっかり差が開いてしまった
人気ランキング1位
Pythonは今のうちに習得すべき?『スラスラわかるPython』著者・岩崎さんとPyCon JP理事の寺田さんが語る:CodeZine(コードジン)
http://codezine.jp/article/detail/10329
Rubyは完全に澱んでるな
Pythonコミュニティとすっかり差が開いてしまった
人気ランキング1位
Pythonは今のうちに習得すべき?『スラスラわかるPython』著者・岩崎さんとPyCon JP理事の寺田さんが語る:CodeZine(コードジン)
http://codezine.jp/article/detail/10329
910デフォルトの名無しさん
2017/08/17(木) 18:26:41.54ID:iwOtRZLz >>908
いわゆるスクリプト言語の多くがそうなんだよなあ。
いわゆるスクリプト言語の多くがそうなんだよなあ。
911デフォルトの名無しさん
2017/08/17(木) 20:41:32.26ID:ENaOxomf コマンドライン引数が表示できません。
OSはwin10、rubyのバージョンは2.4.1-2-x64です。
コードはprint_arg_1.rbという名前で、
#!c:/ruby/bin/ruby
print ARGV[0]
コマンドプロンプトには
c:\ruby\samples>print_arg_1.rb A
と入れてみるのですが、何も(エラーも)表示されません。
Aと表示させるつもりなのですが・・・。
ちなみに、powershellに入力した場合はAと表示できます。
OSはwin10、rubyのバージョンは2.4.1-2-x64です。
コードはprint_arg_1.rbという名前で、
#!c:/ruby/bin/ruby
print ARGV[0]
コマンドプロンプトには
c:\ruby\samples>print_arg_1.rb A
と入れてみるのですが、何も(エラーも)表示されません。
Aと表示させるつもりなのですが・・・。
ちなみに、powershellに入力した場合はAと表示できます。
912デフォルトの名無しさん
2017/08/17(木) 20:44:36.46ID:KIRXYCO4 c:\ruby\samples>print_arg_1.rb A
のAの前のスペースが全角だからじゃね
のAの前のスペースが全角だからじゃね
913デフォルトの名無しさん
2017/08/17(木) 21:09:45.66ID:ENaOxomf914デフォルトの名無しさん
2017/08/17(木) 21:12:53.32ID:KIRXYCO4915デフォルトの名無しさん
2017/08/17(木) 21:16:37.74ID:KIRXYCO4 ruby hoge.rb A
頭にrubyをつけてみては
頭にrubyをつけてみては
916デフォルトの名無しさん
2017/08/17(木) 21:28:46.60ID:ENaOxomf917デフォルトの名無しさん
2017/08/17(木) 21:50:18.63ID:eXIxbYLq powershellではどう入力したの
918デフォルトの名無しさん
2017/08/17(木) 22:00:16.19ID:ENaOxomf919デフォルトの名無しさん
2017/08/17(木) 22:07:40.53ID:eXIxbYLq 謎すぎてわからん
920デフォルトの名無しさん
2017/08/17(木) 22:18:52.38ID:CKP1LJFf コマンドプロンプトからwhere ruby
多分rubyがバッチファイル
多分rubyがバッチファイル
921デフォルトの名無しさん
2017/08/17(木) 23:48:20.77ID:+Rt8Y1Dv バッチファイルだとしても引数渡さないとかアホやろ
922デフォルトの名無しさん
2017/08/18(金) 00:04:08.29ID:pRy4OxRt windowsの関連付けのバグじゃないのかな
923デフォルトの名無しさん
2017/08/18(金) 01:34:08.78ID:0sQWyUaj 以下、そういうときの正確な状況を確認する方法。
次のコマンドラインを実行して、関連付けを確認。
assoc .rb
その出力結果を引数にしてftypeを実行して、実行されるコマンドラインを確認。
次のコマンドラインを実行して、関連付けを確認。
assoc .rb
その出力結果を引数にしてftypeを実行して、実行されるコマンドラインを確認。
924デフォルトの名無しさん
2017/08/18(金) 05:42:06.33ID:kayGF/0k powershellで実行してるものと、コマンドプロンプトで実行してるものが別ファイルである可能性くらいしか無いのでは
925デフォルトの名無しさん
2017/08/18(金) 09:35:17.44ID:dcEfP3Wf rubyでOpenglいじってるけどコード書き換えやすくて楽しすぎ
他にも楽しそうなもの無い?
他にも楽しそうなもの無い?
926デフォルトの名無しさん
2017/08/18(金) 10:03:46.81ID:5/NGjmsA Sequel4でSQL server上の日本語てんこ盛りのテーブルに接続できるか試しているんですが
日本語以前にシンボルを使ったアクセスだと全部upcaseされているっぽくて
大文字小文字混在の識別名?が指定できなくて詰んでます。
これどこで設定すればいいんでしょうか?
日本語以前にシンボルを使ったアクセスだと全部upcaseされているっぽくて
大文字小文字混在の識別名?が指定できなくて詰んでます。
これどこで設定すればいいんでしょうか?
927デフォルトの名無しさん
2017/08/18(金) 11:21:40.62ID:MkY1nhvU .\print_arg_1.rb A
.\ は、カレントフォルダだから、相対パス付き
c:\ で始まっていたら、絶対パス
print_arg_1.rb A
これは、パスではない。
print_arg_1.rb というコマンドになるから、そんなコマンドは存在しない
基本は、実行したいスクリプトファイルのあるフォルダへ、
cd で移動して、そのフォルダで、.\ を付けて、
.\print_arg_1.rb A
とする
#!c:/ruby/bin/ruby
Windows でも、シバンが使えるのか。
パス区切り文字は、/ でも認識できるのか
.\ は、カレントフォルダだから、相対パス付き
c:\ で始まっていたら、絶対パス
print_arg_1.rb A
これは、パスではない。
print_arg_1.rb というコマンドになるから、そんなコマンドは存在しない
基本は、実行したいスクリプトファイルのあるフォルダへ、
cd で移動して、そのフォルダで、.\ を付けて、
.\print_arg_1.rb A
とする
#!c:/ruby/bin/ruby
Windows でも、シバンが使えるのか。
パス区切り文字は、/ でも認識できるのか
928デフォルトの名無しさん
2017/08/18(金) 12:56:54.66ID:TX/e1x6q >>925
OpenCVとか?
OpenCVとか?
929デフォルトの名無しさん
2017/08/18(金) 13:02:16.70ID:TX/e1x6q >>927
> Windows でも、シバンが使えるのか。
使えるともそうでもないともいえる。
シェルではなく、Ruby自身が解釈する。
https://docs.ruby-lang.org/ja/latest/doc/spec=2frubycmd.html#shebang
> Windows でも、シバンが使えるのか。
使えるともそうでもないともいえる。
シェルではなく、Ruby自身が解釈する。
https://docs.ruby-lang.org/ja/latest/doc/spec=2frubycmd.html#shebang
930デフォルトの名無しさん
2017/08/18(金) 16:02:30.99ID:eIpnBeVf931デフォルトの名無しさん
2017/08/19(土) 00:44:19.65ID:drv+oAyy rbのファイルタイプを常に
ruby.exeで開くように設定したんだろう
そのときにたぶん"%1"ぐらいは設定されてるのだろうけど
ruby.exeで開くように設定したんだろう
そのときにたぶん"%1"ぐらいは設定されてるのだろうけど
932デフォルトの名無しさん
2017/08/19(土) 01:00:58.21ID:WAJdahb2 pythonのインストーラーが尋ねる2通りの選択
pathに設定するかwindowsシステムにアプリケーションを登録(推奨)みたいなやつがあって謎だったが
今意味が分かった
pathに設定するかwindowsシステムにアプリケーションを登録(推奨)みたいなやつがあって謎だったが
今意味が分かった
933デフォルトの名無しさん
2017/08/19(土) 12:53:30.00ID:9KU7ntuJ 環境変数PATH をいじくったら,
すべてのコマンドの起動に影響するから、大変
すべてのコマンドの起動に影響するから、大変
934デフォルトの名無しさん
2017/08/19(土) 13:10:45.58ID:s/Tmv27m WindowsでのRubyプログラムで
一番大変なのは環境構築だからな
環境変数がどうこうはよく調べておくように
一番大変なのは環境構築だからな
環境変数がどうこうはよく調べておくように
935デフォルトの名無しさん
2017/08/19(土) 13:47:01.70ID:9KU7ntuJ pyenv, rbenv など、仮想環境を使うと、
環境変数PATH の先頭に追加するから、極めて危険
〜python2
〜python3;〜python2
例えば、python コマンドの実行ファイルが、
〜python2 ではなく、先に、〜python3 のパスで見つかるから
そのコマンドが、どの実行ファイルを起動しているのか、くれぐれも注意せよ
環境変数PATH の先頭に追加するから、極めて危険
〜python2
〜python3;〜python2
例えば、python コマンドの実行ファイルが、
〜python2 ではなく、先に、〜python3 のパスで見つかるから
そのコマンドが、どの実行ファイルを起動しているのか、くれぐれも注意せよ
936デフォルトの名無しさん
2017/08/19(土) 15:34:54.77ID:vQyZjPpv ruby って -K で文字コード指定して実行出来るみたいだけど
バージョン指定して実行するようなオプションってあったっけ
バージョン指定して実行するようなオプションってあったっけ
937デフォルトの名無しさん
2017/08/19(土) 15:37:33.84ID:shqQNwwD >>936
ない
ない
938デフォルトの名無しさん
2017/08/20(日) 20:41:41.88ID:UK9Z84hT version指定というか、ruby処理系を指定しての実行なら可能なはず
上ででてきた#!c:/ruby/bin/rubyを応用して、
version毎にディレクトリ作ってパス指定
上ででてきた#!c:/ruby/bin/rubyを応用して、
version毎にディレクトリ作ってパス指定
939デフォルトの名無しさん
2017/08/20(日) 21:16:31.03ID:RkJWvq6Y rbenv 入れろ
940926
2017/08/21(月) 10:32:12.71ID:b3IxGKL2 突き止めました
エクステンションを導入して変換を無効化すればよかったです。
DB.extension :identifier_mangling
DB.identifier_input_method = nil
DB.identifier_output_method = nil
エクステンションを導入して変換を無効化すればよかったです。
DB.extension :identifier_mangling
DB.identifier_input_method = nil
DB.identifier_output_method = nil
941926
2017/08/21(月) 15:46:43.43ID:b3IxGKL2 間抜けなことしてました。
ODBC使うのにsequelが自前でやってると思ったらruby-odbc使ってた。
だからodbc-utf8を先にrequireしないとutf8が通らなくて日本語以前だった。
ほかにもfreeTDSでutf-8だと指定効かないとか気がつかなかった。
bundlerが依存関係全部処理してたから気がつかなかった…
ODBC使うのにsequelが自前でやってると思ったらruby-odbc使ってた。
だからodbc-utf8を先にrequireしないとutf8が通らなくて日本語以前だった。
ほかにもfreeTDSでutf-8だと指定効かないとか気がつかなかった。
bundlerが依存関係全部処理してたから気がつかなかった…
942デフォルトの名無しさん
2017/08/21(月) 19:28:02.56ID:QB5Pvnbo おつかれい
943926
2017/08/21(月) 21:57:25.45ID:b3IxGKL2 ありがと。
さらに問題発覚。というかsequelの手抜きなんだけど
likeを発行するときにsql server向けの互換レイヤはLatin1_General_*を強制的に付け足す。
ハードコードされてて切り替えできない。とりあえずlib/sequel/adapters/shared/mssql.rbにパッチ当てたけど
gitみてもこの辺対処されて無いっぽい。5になれば期待できそうな感じはあるけど。
あーやっとやっつけ集計バッチをこれで置換できるかもしれん
あとはsinatraとhamlとsassか…
さらに問題発覚。というかsequelの手抜きなんだけど
likeを発行するときにsql server向けの互換レイヤはLatin1_General_*を強制的に付け足す。
ハードコードされてて切り替えできない。とりあえずlib/sequel/adapters/shared/mssql.rbにパッチ当てたけど
gitみてもこの辺対処されて無いっぽい。5になれば期待できそうな感じはあるけど。
あーやっとやっつけ集計バッチをこれで置換できるかもしれん
あとはsinatraとhamlとsassか…
944926
2017/08/22(火) 11:19:06.95ID:BnyIu5Np いろいろいじった結果
FreeBSD 11.1R
ruby 2.4.0
sequel 4.48.0
ruby-odbc 0.99998
unixODBC 2.3.4
freeTDS 1.00.131,1
Microsoft SQL Server 2008 R2
の組み合わせで日本語てんこ盛りのデータベースを読むは問題なさそう。作ったり書いたりはこれからだけど基本集計だけだし。
結局utf8周りの設定は一切合切消してもrequire 'odbc-utf8'があれば普通に日本語通ってしまった。
数年前に試したときにうまくいかなかったのも多分これのせいだったんだろう。
FreeBSD 11.1R
ruby 2.4.0
sequel 4.48.0
ruby-odbc 0.99998
unixODBC 2.3.4
freeTDS 1.00.131,1
Microsoft SQL Server 2008 R2
の組み合わせで日本語てんこ盛りのデータベースを読むは問題なさそう。作ったり書いたりはこれからだけど基本集計だけだし。
結局utf8周りの設定は一切合切消してもrequire 'odbc-utf8'があれば普通に日本語通ってしまった。
数年前に試したときにうまくいかなかったのも多分これのせいだったんだろう。
945デフォルトの名無しさん
2017/08/23(水) 08:24:54.57ID:UQYl7YfQ そういば、1.8かどうか忘れたけど、
Arrayの派生クラス同士に+をつかって、新しい派生クラスのインスタンス出力しようとしたら、
派生元のArrayのインスタンスが出力されることがあったな
長い間気づかずどつぼにハマッてたのを思いだした
Arrayの派生クラス同士に+をつかって、新しい派生クラスのインスタンス出力しようとしたら、
派生元のArrayのインスタンスが出力されることがあったな
長い間気づかずどつぼにハマッてたのを思いだした
946デフォルトの名無しさん
2017/08/23(水) 08:33:32.73ID:UQYl7YfQ Arrayの派生クラス同士に
↓
Arrayの派生クラスのインスタンス同士に
↓
Arrayの派生クラスのインスタンス同士に
947デフォルトの名無しさん
2017/08/23(水) 14:36:30.50ID:PKj56klS たいがいの言語でそうなっちゃうでしょ。
まあしかたないね。
まあしかたないね。
948デフォルトの名無しさん
2017/08/23(水) 19:49:57.47ID:XbrvJbom >たいがいの言語でそうなっちゃうでしょ。
そんなことないよ
静的型だったならどこかでコンパイルエラーになって気づけた可能性もあるよ
そんなことないよ
静的型だったならどこかでコンパイルエラーになって気づけた可能性もあるよ
949デフォルトの名無しさん
2017/08/23(水) 20:17:43.31ID:UQYl7YfQ まーた涌きやがったかコイツ
まぁRubyだからこそ直接Arrayクラスのメソッドをself.classをつかったコードに書きえて、
派生先のクラスでも問題なく動かすようにできるわけだけど
当時もそうやって楽に対応できたし、今のverなら書き換える必要も無く対応してるんじゃないか?
確認してないけど
まぁRubyだからこそ直接Arrayクラスのメソッドをself.classをつかったコードに書きえて、
派生先のクラスでも問題なく動かすようにできるわけだけど
当時もそうやって楽に対応できたし、今のverなら書き換える必要も無く対応してるんじゃないか?
確認してないけど
950デフォルトの名無しさん
2017/08/24(木) 04:24:49.42ID:tqCPVr7b このような実例があると
動的型にすると無駄な時間が増えることが
初心者にも分かりやすくてよいですね
動的型にすると無駄な時間が増えることが
初心者にも分かりやすくてよいですね
951デフォルトの名無しさん
2017/08/24(木) 07:03:14.83ID:gO5USKuu 普通、配列のような基本的なクラスからは、クラスを派生させない
継承を使うのは、自分で作ったクラスか、
継承されることが前提のクラスだけ
一般的には、継承より包含を使う
包含の方が、継承よりも柔軟だから、
配列のような基本的なクラスには、合っている
継承を使うのは、自分で作ったクラスか、
継承されることが前提のクラスだけ
一般的には、継承より包含を使う
包含の方が、継承よりも柔軟だから、
配列のような基本的なクラスには、合っている
952デフォルトの名無しさん
2017/08/24(木) 12:21:31.80ID:NrLz+nwx DSLに何言ってんだか
Rubyの書きやすさ書き換えやすさは他の言語にない重要なポイントのひとつだろ
Rubyの書きやすさ書き換えやすさは他の言語にない重要なポイントのひとつだろ
953デフォルトの名無しさん
2017/08/24(木) 12:32:10.15ID:5a7RKQDl >>952
意味不
意味不
954デフォルトの名無しさん
2017/08/24(木) 14:28:41.04ID:gfjynZsV >>948
静的型とか動的型とか全く関係ない
>>945
マニュアルくらい読もうぜ
Array#+ は self + other -> Array
https://docs.ruby-lang.org/ja/2.4.0/method/Array/i/=2b.html
pryでshow-doc, show-sourceすればすぐ分かる内容
show-source Array#+
>>951
言いたいことはわかるがArrayを派生したい場合だってある
Rubyはそういうことを制限しない言語
そのかわりに相応の力量が求められる
静的型とか動的型とか全く関係ない
>>945
マニュアルくらい読もうぜ
Array#+ は self + other -> Array
https://docs.ruby-lang.org/ja/2.4.0/method/Array/i/=2b.html
pryでshow-doc, show-sourceすればすぐ分かる内容
show-source Array#+
>>951
言いたいことはわかるがArrayを派生したい場合だってある
Rubyはそういうことを制限しない言語
そのかわりに相応の力量が求められる
955デフォルトの名無しさん
2017/08/24(木) 14:56:19.91ID:gfjynZsV Arrayから直接派生させるよりも、
EnumerableやForwardable使うほうが普通だとは思うけどね
EnumerableやForwardable使うほうが普通だとは思うけどね
956デフォルトの名無しさん
2017/08/24(木) 15:12:33.89ID:+u51O4Tc 結果収束的には「可能ではあるが極力行わないようになる」こと自体は間違いはない
なんでもかんでもメソッドチェーンにしないのと似たような感覚
ただし(古い表現だが)足元を弾痕穴だらけにしないとわからない感覚なので、未経験者に最初から指示するようなものでもないな
それはそれで「本当は何もできないやらないわかっていない」机上の人だろう
なんでもかんでもメソッドチェーンにしないのと似たような感覚
ただし(古い表現だが)足元を弾痕穴だらけにしないとわからない感覚なので、未経験者に最初から指示するようなものでもないな
それはそれで「本当は何もできないやらないわかっていない」机上の人だろう
957デフォルトの名無しさん
2017/08/24(木) 15:38:18.44ID:NrLz+nwx DSLに何言ってんだか
Rubyの書きやすさ書き換えやすさは他の言語にない重要なポイントのひとつだろ
Rubyの書きやすさ書き換えやすさは他の言語にない重要なポイントのひとつだろ
958デフォルトの名無しさん
2017/08/24(木) 16:33:57.27ID:gfjynZsV >>956
Arrayを継承したいと考えた理由次第だろ
モンキーパッチ、リファインメント、継承、コンポジション
それぞれメリットデメリットあるんだから初心者であっても
そのトレードオフが理解して自分で判断できるようにならないとダメだよね?
基本クラスであってもどういう方式を選ぶのがいいのかは状況次第だから
背景理由を無視して、一つの選択肢を採用したほうがいいっていうのはちょっとっ極端に感じるよ
Arrayを継承したいと考えた理由次第だろ
モンキーパッチ、リファインメント、継承、コンポジション
それぞれメリットデメリットあるんだから初心者であっても
そのトレードオフが理解して自分で判断できるようにならないとダメだよね?
基本クラスであってもどういう方式を選ぶのがいいのかは状況次第だから
背景理由を無視して、一つの選択肢を採用したほうがいいっていうのはちょっとっ極端に感じるよ
959デフォルトの名無しさん
2017/08/24(木) 20:44:43.22ID:tqCPVr7b0 🐒
960デフォルトの名無しさん
2017/08/24(木) 20:49:02.11ID:tqCPVr7b >>954
仮にArrayを継承させたとして
何かのメソッドで思っていた型と違う型が返ってきたとして
静的型ならコンパイルエラーになって即気づける可能性が高いよね
せっかく>>945がRubyが動的型のせいで
> 長い間気づかずどつぼにハマッてたのを思いだした
って告白してくれてるのに
あるメソッドが、どのような仕様になってるかなんて
そんなものはどのような仕様にでも実装できてしまうわけで
(そう書けばそう動く、というだけ)
大事なのは、勘違いしたとき、間違ったときに、直ぐに気づけるかどうか
だからArrayを継承すべきじゃないとかってのは話の本質じゃなくて
長い間気づかずドツボにハマってたのは何故かって部分なんだよ
仮にArrayを継承させたとして
何かのメソッドで思っていた型と違う型が返ってきたとして
静的型ならコンパイルエラーになって即気づける可能性が高いよね
せっかく>>945がRubyが動的型のせいで
> 長い間気づかずどつぼにハマッてたのを思いだした
って告白してくれてるのに
あるメソッドが、どのような仕様になってるかなんて
そんなものはどのような仕様にでも実装できてしまうわけで
(そう書けばそう動く、というだけ)
大事なのは、勘違いしたとき、間違ったときに、直ぐに気づけるかどうか
だからArrayを継承すべきじゃないとかってのは話の本質じゃなくて
長い間気づかずドツボにハマってたのは何故かって部分なんだよ
961デフォルトの名無しさん
2017/08/24(木) 20:50:35.58ID:tqCPVr7b 俺みたいなののほうがマトモなこと言ってるのがもう不思議なぐらいだろ?
962デフォルトの名無しさん
2017/08/24(木) 20:50:57.98ID:tqCPVr7b それぐらいダメってことなんだよ、言語もコミュニティーも
963デフォルトの名無しさん
2017/08/24(木) 21:04:10.31ID:sQWhHmgZ はいはいNGNG
964デフォルトの名無しさん
2017/08/24(木) 21:37:49.84ID:gfjynZsV >>960
言語を使う側の能力の問題を
全部言語のせいにしちゃだめだよ
var result = myArray1 + myArray2
↑みたいに型推論使ってたら似たような事起きるだろ
それは型推論自体がダメだからなのか? 型推論使用禁止にする?
使う道具のメリットデメリットをちゃんと理解して使いこなせてないからだろ
静的型にメリットがあるのはわかるが結局それはトレードオフなんだよ
何を選択するかの問題
言語を使う側の能力の問題を
全部言語のせいにしちゃだめだよ
var result = myArray1 + myArray2
↑みたいに型推論使ってたら似たような事起きるだろ
それは型推論自体がダメだからなのか? 型推論使用禁止にする?
使う道具のメリットデメリットをちゃんと理解して使いこなせてないからだろ
静的型にメリットがあるのはわかるが結局それはトレードオフなんだよ
何を選択するかの問題
965デフォルトの名無しさん
2017/08/24(木) 21:46:32.32ID:tqCPVr7b その場合でもresultをどこかに渡したり
継承で拡張したメソッドを使ったり
実用的なことをしようとした瞬間にコンパイルエラーになる
お前はそのresultを何も使わずにそのまま捨てるのか?
結局、現実的な部分が全くないんだよね
机上の空論、それがRuby
継承で拡張したメソッドを使ったり
実用的なことをしようとした瞬間にコンパイルエラーになる
お前はそのresultを何も使わずにそのまま捨てるのか?
結局、現実的な部分が全くないんだよね
机上の空論、それがRuby
966デフォルトの名無しさん
2017/08/24(木) 21:51:04.51ID:tqCPVr7b しかも俺は
>気づける可能性が高いよね
とも書いてるわけで
現実的にはどこかの段階でコンパイルエラーになる可能性が高い、と
>気づける可能性が高いよね
とも書いてるわけで
現実的にはどこかの段階でコンパイルエラーになる可能性が高い、と
967デフォルトの名無しさん
2017/08/24(木) 21:55:21.82ID:Z79NM4TL スレッドの進行を妨害するのは止めてください
みんなが迷惑を被っています
みんなが迷惑を被っています
968デフォルトの名無しさん
2017/08/24(木) 21:56:03.09ID:yIhxd10m コンパイルが通ってもその後テストを走らせることになるけどな
969デフォルトの名無しさん
2017/08/24(木) 22:02:02.88ID:gfjynZsV >>965
オーバーライドしたメソッド呼び出してもコンパイルエラーにならないだろ
静的型でも同じこと十分起こりえるよ
運良くコンパイルエラーで拾えるケースだけ上げて
静的型使うべきなんていう主張はナンセンス
力量が低いやつは静的型選んだほうがいいよっていうアドバイスなら
まだ理解できるけどね
オーバーライドしたメソッド呼び出してもコンパイルエラーにならないだろ
静的型でも同じこと十分起こりえるよ
運良くコンパイルエラーで拾えるケースだけ上げて
静的型使うべきなんていう主張はナンセンス
力量が低いやつは静的型選んだほうがいいよっていうアドバイスなら
まだ理解できるけどね
970デフォルトの名無しさん
2017/08/24(木) 22:05:10.57ID:Z79NM4TL 再三にわたり伝えましたが、もう一度
スレッドの進行を妨害するのは止めてください
みんなが迷惑を被っています
スレッドの進行を妨害するのは止めてください
みんなが迷惑を被っています
971デフォルトの名無しさん
2017/08/24(木) 22:10:19.62ID:tqCPVr7b 起こりえるが、可能性は低いわけだ
運良くコンパイルエラーで拾える、というより
運悪くコンパイルエラーで拾えないケースもありうる、ということ
運が良くないとコンパイルエラーで拾えないんなら
静的型言語はこんなに普及してないし、もてはやされてもない
現実が全く見えていないんだね
運良くコンパイルエラーで拾える、というより
運悪くコンパイルエラーで拾えないケースもありうる、ということ
運が良くないとコンパイルエラーで拾えないんなら
静的型言語はこんなに普及してないし、もてはやされてもない
現実が全く見えていないんだね
972デフォルトの名無しさん
2017/08/24(木) 22:10:38.73ID:kEm5qs8H973デフォルトの名無しさん
2017/08/24(木) 22:13:45.33ID:gfjynZsV974デフォルトの名無しさん
2017/08/24(木) 22:18:05.33ID:lIOBscyk975デフォルトの名無しさん
2017/08/24(木) 22:19:22.21ID:gfjynZsV >>971
型推論禁止すれば運悪くコンパイルエラーで拾えないケースも潰せるね
型推論禁止すれば運悪くコンパイルエラーで拾えないケースも潰せるね
976デフォルトの名無しさん
2017/08/24(木) 22:20:59.16ID:gfjynZsV >>974
なんでお前が勝手に決めてんの?
なんでお前が勝手に決めてんの?
977デフォルトの名無しさん
2017/08/24(木) 22:23:28.89ID:lIOBscyk >>976
あなたにはもうそれを判断できるだけの客観的知性が残っていないからです
あなたにはもうそれを判断できるだけの客観的知性が残っていないからです
978デフォルトの名無しさん
2017/08/24(木) 22:26:09.58ID:yIhxd10m979デフォルトの名無しさん
2017/08/24(木) 22:39:55.72ID:tqCPVr7b 俺が言うのもなんだけど
ID:Z79NM4TLやID:lIOBscykのが正解だと思うよ
「そんなことは初めから分かってて承知の上で使っているのだから
放っておいてくれ」
って所でしょ
欠点を認められずに使ってる方が異常
ID:Z79NM4TLやID:lIOBscykのが正解だと思うよ
「そんなことは初めから分かってて承知の上で使っているのだから
放っておいてくれ」
って所でしょ
欠点を認められずに使ってる方が異常
980デフォルトの名無しさん
2017/08/24(木) 23:09:32.94ID:Z79NM4TL スレッドの進行を妨害するのは止めてください
みんなが迷惑を被っています
スレッドの趣旨が分からないなら1を読んで下さい
これ以上妨害を続ける場合は、過去の妨害行為時のログを元に弁護士との相談の上、
措置を取ります
みんなが迷惑を被っています
スレッドの趣旨が分からないなら1を読んで下さい
これ以上妨害を続ける場合は、過去の妨害行為時のログを元に弁護士との相談の上、
措置を取ります
981デフォルトの名無しさん
2017/08/24(木) 23:11:07.39ID:h4EzWrOx 自分が何をしてるか全く理解できないんだろうな
レスがつくことそのものに興奮してここがどこかも判断できていない
貴方達そのものを我々は必要としていない
貴方達が書き込んだそのものを私たちは歓迎しない
我々私たちの望みはひとつだけ、二度とここに来るな
レスがつくことそのものに興奮してここがどこかも判断できていない
貴方達そのものを我々は必要としていない
貴方達が書き込んだそのものを私たちは歓迎しない
我々私たちの望みはひとつだけ、二度とここに来るな
982デフォルトの名無しさん
2017/08/24(木) 23:27:57.47ID:tqCPVr7b 何か映画とかで、スラム街とか田舎町の住人に言われそうなセリフ
983デフォルトの名無しさん
2017/08/24(木) 23:38:06.01ID:Z79NM4TL スレッドの進行を妨害するのは止めてください
みんなが迷惑を被っています
スレッドの趣旨が分からないなら1を読んで下さい
これ以上妨害を続ける場合は、過去の妨害行為時のログを元に弁護士との相談の上、
措置を取ります
みんなが迷惑を被っています
スレッドの趣旨が分からないなら1を読んで下さい
これ以上妨害を続ける場合は、過去の妨害行為時のログを元に弁護士との相談の上、
措置を取ります
984デフォルトの名無しさん
2017/08/24(木) 23:39:36.79ID:c/yv4qcw 過去のgem配布サイト復活しないかな
985デフォルトの名無しさん
2017/08/25(金) 05:58:03.30ID:ZShOFEd5 「Effective Ruby」項目21にも書いてある
コアクラスを継承するな。委譲・包含(Forwardable)を使え。
is-a よりも、has-a を使え
たいていの言語では、String型なども継承できない。
final 指定されてる
初心者は、コレクションを継承したがるが、アンチパターン。
継承すれば、バグるだけ
たいていの「Effective 何々」とか、デザインパターンの本にも、書いてある
コアクラスを継承するな。委譲・包含(Forwardable)を使え。
is-a よりも、has-a を使え
たいていの言語では、String型なども継承できない。
final 指定されてる
初心者は、コレクションを継承したがるが、アンチパターン。
継承すれば、バグるだけ
たいていの「Effective 何々」とか、デザインパターンの本にも、書いてある
986デフォルトの名無しさん
2017/08/25(金) 06:40:42.06ID:aRYPlL4U987デフォルトの名無しさん
2017/08/25(金) 07:08:25.93ID:w/d6Mddl Arrayのような多くの人が慣れ親しんだインタフェースを提供したいと考えてるんだが、
それ自体が慣れで運用してしまうから問題、ということなのか?
極端な話myaddとかにした方がいいのか
それ自体が慣れで運用してしまうから問題、ということなのか?
極端な話myaddとかにした方がいいのか
988デフォルトの名無しさん
2017/08/25(金) 07:24:38.55ID:w/d6Mddl >>985
アンチパターン名は?
アンチパターン名は?
989デフォルトの名無しさん
2017/08/25(金) 10:40:58.89ID:ZShOFEd5 JavaScript の、prototype.js なども、コアクラスを上書きして、挙動が変わるから、
皆から、うっとうしがられてる
とにかく、バグるから、個人で、コアクラスを修正してはいけない
やってもいいのは、Date クラスに、便利な関数を追加したり、
Rails とか、使用説明書・メンテナンスもしっかりしている、
有名なフレームワークだけ
皆から、うっとうしがられてる
とにかく、バグるから、個人で、コアクラスを修正してはいけない
やってもいいのは、Date クラスに、便利な関数を追加したり、
Rails とか、使用説明書・メンテナンスもしっかりしている、
有名なフレームワークだけ
990デフォルトの名無しさん
2017/08/25(金) 11:07:17.19ID:8cxOpMBd ↑こいつはRuby畑の人間じゃないな
991デフォルトの名無しさん
2017/08/25(金) 11:27:54.95ID:BwHFndLq >>985
項目21の根拠はなんでしょう?
1. 継承を使うとなるとSuper Classの詳細を知る必要がある。
2. 移譲なら使いたい機能をつまみ食いすれば良いので楽。
こう言う事でしょうかねぇ?
項目21の根拠はなんでしょう?
1. 継承を使うとなるとSuper Classの詳細を知る必要がある。
2. 移譲なら使いたい機能をつまみ食いすれば良いので楽。
こう言う事でしょうかねぇ?
992985
2017/08/25(金) 12:26:40.27ID:ZShOFEd5 例えば、親のArray から、子のDerivedArray を派生させて、
reverse を呼んでも、子クラスを返さず、親クラスを返してしまう
全メソッドを、派生クラスに対応させるのが、無理だから
委譲で、Forwardable モジュールの、def_delegators で、
使うメソッドだけ、宣言する方が簡単
漏れも、10言語以上、数十冊の本を読んでるけど、
配列など、コアクラスを継承した、ソースコードは見た事がないし、
たいていの言語で、継承よりも委譲を使うように書いてある
そういう論文も多い
reverse を呼んでも、子クラスを返さず、親クラスを返してしまう
全メソッドを、派生クラスに対応させるのが、無理だから
委譲で、Forwardable モジュールの、def_delegators で、
使うメソッドだけ、宣言する方が簡単
漏れも、10言語以上、数十冊の本を読んでるけど、
配列など、コアクラスを継承した、ソースコードは見た事がないし、
たいていの言語で、継承よりも委譲を使うように書いてある
そういう論文も多い
993デフォルトの名無しさん
2017/08/25(金) 12:36:03.24ID:BwHFndLq >>992
ところで、論文はどのJournalから?
ところで、論文はどのJournalから?
994985
2017/08/25(金) 13:01:27.87ID:ZShOFEd5 「c++ 継承 委譲」で検索!
ほとんどの論文が、継承よりも委譲
ほとんどの論文が、継承よりも委譲
995デフォルトの名無しさん
2017/08/25(金) 15:26:58.12ID:W3qddKKH クロージャーつかおう
996デフォルトの名無しさん
2017/08/25(金) 15:28:23.63ID:sLUvaIRs a=[[1,2],3,4,5,[6,7],8,[9,10],[11,12],[13,14]]
b=[[1,3,4,5,6,8,9,11,13],[2,3,4,5,7,8,10,12,14]]
aの配列からbの配列を作り出すにはどの様にしたらいいでしょう?
b=[[1,3,4,5,6,8,9,11,13],[2,3,4,5,7,8,10,12,14]]
aの配列からbの配列を作り出すにはどの様にしたらいいでしょう?
997デフォルトの名無しさん
2017/08/25(金) 15:32:56.84ID:BwHFndLq >>996
>a=[[1,2],3,4,5,[6,7],8,[9,10],[11,12],[13,14]]
まずは、
a=[[1,2],[3, 3],[4,4],[5,5],[6,7],8,[9,10],[11,12],[13,14]]
を作る。
>a=[[1,2],3,4,5,[6,7],8,[9,10],[11,12],[13,14]]
まずは、
a=[[1,2],[3, 3],[4,4],[5,5],[6,7],8,[9,10],[11,12],[13,14]]
を作る。
998デフォルトの名無しさん
2017/08/25(金) 15:36:12.98ID:BwHFndLq ar = []
a.each do |e|
if !e.instance_of?(Array) then
ar << [e, e]
else
ar << e
end
まずはこんな感じ!
a.each do |e|
if !e.instance_of?(Array) then
ar << [e, e]
else
ar << e
end
まずはこんな感じ!
999デフォルトの名無しさん
2017/08/25(金) 15:50:59.00ID:4MOWRfGQ >>996
b = a.each_with_object([[],[]]) {|(x, y), acc| acc[0] << x; acc[1] << (y || x) }
b = a.each_with_object([[],[]]) {|(x, y), acc| acc[0] << x; acc[1] << (y || x) }
1000デフォルトの名無しさん
2017/08/25(金) 16:00:09.35ID:HsL9LVKJ10011001
Over 1000Thread このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 118日 13時間 58分 11秒
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 118日 13時間 58分 11秒
10021002
Over 1000Thread 2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【コメ】卸売業者「簡単に安売りできない」 「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 [Hitzeschleier★]
- 中国から訓練の連絡あったが、区域など具体的な内容知らされず=小泉防衛相 [♪♪♪★]
- 空自機レーダー照射、音声データ公開 中国 ★4 [蚤の市★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★2 [少考さん★]
- 【速報】 米国政府、中国が日本の自衛隊にレーダーを照射を批判、同事案で中国を批判するのは初めて [お断り★]
- 【高市早苗総理】食料品消費減税に慎重「今すぐ約束できない」…「物価上昇率は徐々に落ち着いていくと見込んでいる」 [Hitzeschleier★]
- 【高市速報】小泉進次郎「事前に中国軍から飛行訓練を開始すると連絡があったのは事実」 [931948549]
- 【正論】高市さん「『企業献金について与野党で協議する』という答弁は石破個人のものであり、もはや無効」特定野党を完全論破 [519511584]
- 長期国債の金利、一時的に1.98%まで行く [805596214]
- 【悲報】高市早苗政権に文春砲が連発! [115996789]
- (ヽ°ん゚)「ODした」オーバードーズしてそうなもの [377482965]
- 【正論】高市さん「長期金利が上がり続けていくことよりも、日本が成長していく方が大事」 [519511584]
