プログラミング言語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
■ このスレッドは過去ログ倉庫に格納されています
2017/04/29(土) 02:01:58.34ID:urVXnFrH
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の見え見えの釣り針にひっかかる粘着なんておらんやろ
って思ってたけど、見事に食い付いてるな
マジスゲー
って思ってたけど、見事に食い付いてるな
マジスゲー
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 橘こぉた来いや!!!
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- 隣の部屋のデブがこっちにまで聞こえる声量でアクビするのがストレスなんだけどマジで死んでくれないかな
- 【乞食速報】プロクオリティ ビーフカレー 96食 4262円 [268244553]
- 【悲報】小泉防衛大臣、中国のレーダー照射事件をNATO事務総長に報告 [834922174]
- 【すこん部🏡】白上フブキ🦊配信中❗【ホロライブ▶】
