Ruby 初心者スレッド Part 63

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/04/17(火) 17:46:57.87ID:GYuBFjQi
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で

前スレ
Ruby 初心者スレッド Part 62
https://mevius.5ch.net/test/read.cgi/tech/1511451329/

るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/

Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/

逆引きRuby
http://www.namaraii.com/rubytips/
0108デフォルトの名無しさん
垢版 |
2018/06/08(金) 02:13:44.40ID:q0/KfBvT
openglでグリグリ遊べるソースコード付き書籍を誰か書いてくれ
めっちゃ欲しい
0109デフォルトの名無しさん
垢版 |
2018/06/09(土) 10:45:38.00ID:tgLGNHSh
3Dって基本的な所は色々なサイトで解説されてるから、
GLSLつかってシェーダー使いまくったり、
半透明スプライトのZソート処理のためBSP木組んだり、
HDRや環境光の処理入れて現実に近い描写を行ったりする応用の部分に注力したソースコードを付けて欲しい
0110デフォルトの名無しさん
垢版 |
2018/06/09(土) 14:17:17.52ID:NS1ZqbZ+
>>108
なぜそれをrubyスレで聴く
0111デフォルトの名無しさん
垢版 |
2018/06/09(土) 15:06:29.41ID:DWqXxpSN
>>108
RubyはRailsにしか使われていないので、OpenGL関連なら
RailsをバックエンドにしてフロントはJS+WebGLの方が需要あるだろうね
0112デフォルトの名無しさん
垢版 |
2018/06/09(土) 18:21:51.72ID:Jnz70VEo
バックエンドをRailsにする必要もないなそれw
0113デフォルトの名無しさん
垢版 |
2018/06/09(土) 18:52:24.23ID:tgLGNHSh
>>110
rubyでぐりぐり3Dやるのが楽チンで楽しいから
0115デフォルトの名無しさん
垢版 |
2018/06/09(土) 19:39:13.67ID:DWqXxpSN
あと実行速度もRubyなんかより圧倒的に速い
Railsやる分には言語の実行速度なんかどうでもいいけど、
3Dグラフィックスだと配列操作とか多いからRubyがネックになるシーンもあるでしょ
0116デフォルトの名無しさん
垢版 |
2018/06/09(土) 19:58:51.62ID:/tr9TI1r
>>115
初めっから速度を考えてもしょうがないでしょ
最初はいろいろいじって楽しむのを目的にしてそうだから、そういう意味ではRubyはいいと思うよ
0117デフォルトの名無しさん
垢版 |
2018/06/09(土) 20:36:12.90ID:tgLGNHSh
>>JSとWebGL
GLSL→不完全
BPS木→制約によりものすごく手間がかかる
HDRや環境光→不完全

結果、rubyしかない
0118デフォルトの名無しさん
垢版 |
2018/06/09(土) 22:40:28.04ID:Jnz70VEo
rubyインストールしてない一般人には見てもらえないけどしょうがないねw
http://jp.wgld.org/js4kintro/editor/
0120デフォルトの名無しさん
垢版 |
2018/06/10(日) 02:18:55.33ID:Xfurx7Lt
rubyのコード書き換えてOpenglで遊ぶのめちゃくちゃ楽しいぞ
特に3Dモデリングソフトの自作がお勧め


まぁちゃんとしたのは面倒だから書籍の付録についてくる流用できるコードが欲しい
0121デフォルトの名無しさん
垢版 |
2018/06/10(日) 08:20:17.43ID:GM06vM9h
>>120ももはや無意味な内容を定期的に書き込む荒らしの定義に当てはまってることをそろそろ自覚したほうがいい
0123デフォルトの名無しさん
垢版 |
2018/06/10(日) 13:58:06.96ID:Xfurx7Lt
rubyの話をされるのがそんなに嫌なら無理にrubyスレに来なくても良いんだよ?
0124デフォルトの名無しさん
垢版 |
2018/06/10(日) 14:12:38.84ID:OW7BDOZW
>>123
いつRubyの話をしたんだ?
延々とRubyを使ったエロ画像収集は楽しいとそれだけしか言ってないよね
0125デフォルトの名無しさん
垢版 |
2018/06/10(日) 14:20:02.68ID:Xfurx7Lt
これが粘着荒らしか
0126デフォルトの名無しさん
垢版 |
2018/06/11(月) 02:43:05.98ID:WHdFcHTl
おいクソ言語のクソ虫ども。
多言語のスレ宣伝で汚すなやウザいんじゃボケ!
0127デフォルトの名無しさん
垢版 |
2018/06/11(月) 03:10:28.07ID:COvRwWFX
ruby-openglでGLSLについてまでやってる所はほとんど無いから、
自分の横着しまくったコードじゃなくて書籍の付録レベルのしっかりしたコードを見たい
3Dモデリングソフト自作みたいなテーマの書籍にきっちり設計したコードを付録につけて

バッファオブジェクトの扱いやこういった低級機能もrubyから問題なく扱えるんだから
最近の描写技術をそのまま移植してやれば良い
0128デフォルトの名無しさん
垢版 |
2018/06/11(月) 11:55:36.45ID:tK3aH3wF
rubyでopenglやりたい人って
適材適所とか判断できない人なんだろな
0129デフォルトの名無しさん
垢版 |
2018/06/11(月) 16:38:30.62ID:ZVM87g7D
ゴリゴリやるのならともかく、趣味でいじる分なら使い慣れた言語の方がいいよ
0130デフォルトの名無しさん
垢版 |
2018/06/11(月) 19:12:24.23ID:SGR/GG4c
使い慣れてるのとそれしか使えないのとは全然違うよ
現にこの人はCのサンプル読めないから困ってるんでしょ
0131デフォルトの名無しさん
垢版 |
2018/06/11(月) 19:23:56.19ID:COvRwWFX
おまえ、IDを換え忘れてそのまま他言語のスレ荒らしてる時あるだろ
いい加減、板を荒らすのやめろよ
0134デフォルトの名無しさん
垢版 |
2018/06/11(月) 22:06:32.00ID:COvRwWFX
ruby-openglは基本的にCのラッパーだからkhronos.orgのレファレンス通り
データはArray#pack()でエンコードしてString#unpack()でデコード
openglのgemによってはデータ生成用のメソッドを用意してくれるし配列をそのまま扱える
0135デフォルトの名無しさん
垢版 |
2018/06/12(火) 22:36:51.97ID:xKKzCGli
rubyのホビー的な書籍を出すなら
技術評論社とかマイナビ社、ショーエイ社辺りかな
0136デフォルトの名無しさん
垢版 |
2018/06/13(水) 06:54:42.45ID:QrvaP+Hg
スマホにプログラミング環境入れてまで遊ぶ人なんて極少数だろ
0137デフォルトの名無しさん
垢版 |
2018/06/13(水) 15:22:26.09ID:mbrmHeFX
Unityのrubyスクリプト使用は可能?
0138デフォルトの名無しさん
垢版 |
2018/06/13(水) 17:11:20.11ID:QrvaP+Hg
だから板を荒らすボケ
0139デフォルトの名無しさん
垢版 |
2018/06/13(水) 19:22:03.04ID:U88gdqR4
rubyに都合が悪い事実=荒らしwwww
昨今のソフトの組み込みスクリプティングエンジンにrubyが採用されることはまずありませんwwwww
昔ながらのluaか、多少リソースリッチだとpythonやjsになりますwwwww
0140デフォルトの名無しさん
垢版 |
2018/06/13(水) 19:28:34.15ID:CJjm6Aaw
>>137
IronRubyとやらでDLLをつくれるのなら、可能性がなくもないのでは。
いろいろめんどくさいこともありそうだけど。
0141デフォルトの名無しさん
垢版 |
2018/06/13(水) 19:48:57.20ID:QrvaP+Hg
58 名前:デフォルトの名無しさん 2018/06/13(水) 15:56:44.91 ID:mbrmHeFX
で?

948 名前:デフォルトの名無しさん 2018/06/13(水) 15:53:03.17 ID:mbrmHeFX
わろす


やっぱ荒らしじゃねえか
この分じゃ、擁護のためID変えて出てくるんだろうな
0142デフォルトの名無しさん
垢版 |
2018/06/13(水) 23:05:24.69ID:mk8XKEzh
Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、
JS(ES5), Flash, PHP, C++, Java, C#, Python, Lua に書き出せる

Haxe でも、Ruby バインディングがないのは残念
0143デフォルトの名無しさん
垢版 |
2018/06/13(水) 23:50:04.11ID:rbMxuLTz
泡沫言語に対応する意味なんて無いからな。
HSPバインディングがないのと一緒w
0144デフォルトの名無しさん
垢版 |
2018/06/14(木) 00:14:05.61ID:3olg4Nr1
Sinatara + Thinで開発しててrerunを使おうとしてるんですけど
起動、再起動が30秒ぐらいかかるんですけど普通はこんなことないですよね?
試しにファイルを1つだけにして
rerun 'ruby hoge.rb'
とやっても変わりません
0146デフォルトの名無しさん
垢版 |
2018/06/15(金) 01:21:13.18ID:hDoZBDpZ
少なくてもマシンスペックとOS等の環境を表記しないとエスパーできない
と言いつつも、Rubyではなくその他の環境の設定でとらぶってるんじゃないか?
0147デフォルトの名無しさん
垢版 |
2018/06/15(金) 22:13:02.35ID:ymZBnmIf
「ruby sinatra thin」で検索!

よく知らないけど、thin を一々、起動・終了してるから遅いのかも?
最初から、サービス・デーモンとして起動していれば、起動しっ放し
0150デフォルトの名無しさん
垢版 |
2018/06/16(土) 06:17:26.06ID:YKnMAv2c
プログラミング教育みたいな話が出てるんだから会社化じゃなくて、
教育業界全体に日本生まれのRuby推しする団体を本体そのままで他にもう一つ作れば良いんじゃね?

そうすれば周囲の企業が補助金助成金目当てで活発になるし企業の裾野も広がる
コテ入れも出来るっつー寸法よ
0151デフォルトの名無しさん
垢版 |
2018/06/16(土) 06:25:24.66ID:xpvZKcIC
>>149
ExcelにPython導入らしいからRubyの目はもうない
0153デフォルトの名無しさん
垢版 |
2018/06/16(土) 08:18:58.57ID:tDMWuCuH
久々にRubyInstallersのページ見たら
WITH DEVKIT / WITHOUT DEVKIT に分かれてたがこれは何が違うの?
0154デフォルトの名無しさん
垢版 |
2018/06/16(土) 09:25:47.35ID:0Mci5qtc
英語読めない人か
0158デフォルトの名無しさん
垢版 |
2018/06/16(土) 12:25:38.47ID:U0oUKPso
>>150
言語仕様がいい加減なRubyやPythonはプログラミング教育にとって有害。
CやPascalなどの美しい言語をきっちり教えるべきだな。

>>151
VBAも昔のBASICから引きずった言語仕様におかしな所が残っているが、
大部分は改訂で割とまともな現代的言語となり、Pythonよりははるかに
ましなのに、何でそんな改悪をするのか。
0160デフォルトの名無しさん
垢版 |
2018/06/16(土) 12:55:35.31ID:U0oUKPso
>>159
Cのどこがブスなんだよ。まあ、Cは文字列操作に関しては「高級アセンブラ」でショボいから、
文字列操作を多用するならC系列のC#を使えば良い。
0164デフォルトの名無しさん
垢版 |
2018/06/16(土) 16:13:34.62ID:ImW9Yk87
>>162
C#をJavaなんかといっしょにするな。
ぜんぜん違うだろ。

C#は、C++から発展し、Javaを反面教師とした印象。
オブジェクト参照ベースなのは、別にJavaが最初じゃないしね。
0167 ◆QZaw55cn4c
垢版 |
2018/06/16(土) 17:21:54.04ID:lIlHXhNK
>>158
>CやPascalなどの美しい言語
Pascal はともかく、C のどこが美しいと思ったの?
0169デフォルトの名無しさん
垢版 |
2018/06/16(土) 17:46:35.84ID:l74jUjtd
>>164
> C#は、C++から発展し、Javaを反面教師とした印象。
C++から発展なんかしてないよ。

C++といえば、STL(テンプレート)の使用が必須で
メモリ管理はSTLで行う

この一番重要な所がC#はJavaと同じGCを使うために
プログラミングの仕方がぜんぜん違う

JavaとJavaScriptぐらい違う
0170 ◆QZaw55cn4c
垢版 |
2018/06/16(土) 18:25:43.96ID:lIlHXhNK
>>164
>C#は、C++から発展し
そんなセールストークを信じちゃだめだよ…
0174デフォルトの名無しさん
垢版 |
2018/06/16(土) 19:52:15.97ID:rAQA3aCK
>>172
どっちもかなり複雑な部類だから初学者にはオススメしないな
今ならPythonが初心者向けの情報多くて入りやすいと思う
C系へステップアップするつもりならRubyよりPythonの方がC系に近いしな
0175デフォルトの名無しさん
垢版 |
2018/06/16(土) 20:02:01.24ID:V0Z3yofC
>>153-155
Devkit 無しは、MSYS2/MINGW、GNU コンパイラが無いので、
ソースコードからコンパイルできないけど、サイズは2〜3GB 小さい

WebSocket, Rails, VSCode のデバッグ機能などは使えないけど、
Sinatra は使えるので、ツール作りには十分
(WebSocket のバイナリをネットで探したけど、見つからなかった)

ポータブル版なら、C:\Ruby24-x64
に置いて、ユーザー環境変数PATH に、C:\Ruby24-x64\bin
を追加すればよい

Windows のirb は、日本語がバグるので、
WSL Ubuntu にも、Ruby を入れて、そちらを使う

>>42
の、mirrorcommunications の動画も参照
0176デフォルトの名無しさん
垢版 |
2018/06/16(土) 20:09:17.23ID:V0Z3yofC
たのしいRuby 第5版、2016
みんなのPython 第4版、2017

先に、たのしいを読めば、みんなのも理解できる

C# は、先にこの本で、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014

無料のRails チュートリアルをやると、MVC, Ruby, JavaScript などが学べる。
その後、Python, Java, C# と進むのが、レベルに合ってる

Java, C#, Kotlin は静的言語だから、
動的言語よりもはるかに難しいから、後にすべき
0178デフォルトの名無しさん
垢版 |
2018/06/16(土) 20:25:13.10ID:ImW9Yk87
>>172
その二つは何から何まで異なる。
質問が単純すぎて、回答不能。

それでも答えるとするなら、どっちでも。
クジでもひけばいい。w
0179デフォルトの名無しさん
垢版 |
2018/06/16(土) 20:31:21.18ID:ImW9Yk87
>>169
GCを使う一点で、そんな主張をされても。
そうではないことを事前に明確にするために、オブジェクト参照ベースうんぬんと書いたのに。
0180デフォルトの名無しさん
垢版 |
2018/06/16(土) 20:38:12.74ID:ImW9Yk87
>>170
セールストークかもしれんが、真実でもあると思っている。
実情は、ObjectPascalからの発展だが、そうは言いにくいだろ。w

いずれにしても、Javaは反面教師どまり。
0181 ◆QZaw55cn4c
垢版 |
2018/06/16(土) 20:42:57.89ID:lIlHXhNK
>>180
C++ が劇的に変わったのはテンプレート導入から、C++ のテンプレートは Java や C# の総称型とも違う
>>169 にも表出されているように、C++ は GC は自分で入れたいと思った人がインプリメントするものであって、言語の前提ではありえない

いいたかったことは、C# と Java の差なんて、C++ からみるとゴミのようなものだ
0182デフォルトの名無しさん
垢版 |
2018/06/16(土) 21:08:31.23ID:ImW9Yk87
>>181
あのな。
オレは、C#がJava系列というアホな表現にクレームしているのだ。

> C# と Java の差なんて、C++ からみるとゴミのようなものだ
あたりまえ。
0183デフォルトの名無しさん
垢版 |
2018/06/16(土) 21:23:01.58ID:+IGrD4aM
Ruby界においては、
主にSIに使われる言語=楽しくない言語=敵性言語
で人括りだから、JavaもC#も違いはないんだよ
実際にはWeb系でもバリバリ使われてるんだけどね
0184 ◆QZaw55cn4c
垢版 |
2018/06/16(土) 21:32:45.22ID:lIlHXhNK
>>182
>C#がJava系列というアホな表現にクレームしている

なるほど
じゃあ、私は「C# は C++ から発展した」にクレームをつけましょうか、C# と C++ とは根っこの考え方からすっかり違いますね
0185デフォルトの名無しさん
垢版 |
2018/06/16(土) 22:00:40.71ID:JGo+xYn1
>>174
確かにその通りだと思う
C# といふ手続き型言語で対比するなら、
純粋手続き型スクリプト言語であるPython を学ぶべき

Ruby(あるいは JavaScrupt) なんて、関数型言語の Lisp をベースとして
手続き型の Perl 風の構文糖で包んだオタク言語でしかない:
 https://peace.5ch.net/test/read.cgi/tech/1409526637/857
 ・Lisp から Ruby への設計ステップ
  https://peace.5ch.net/test/read.cgi/tech/1409526637/857
 ・JavaScript: 世界で最も誤解されたプログラミング言語
  http://web.archive.org/web/20130120204931/http://d.hatena.ne.jp/brazil/20050829/1125321936
0186デフォルトの名無しさん
垢版 |
2018/06/16(土) 22:33:18.65ID:GZN3o+zY
>>185
Rubyのルーツは様々あるし、Matzも時々語ってるけど、どれがベースというのはないんじゃないかな
Eiffelという話もあるし、Perlを意識したというのもあるし、なんとも言えない
Lispからもいくらか拝借してるだろうけど、Lispとはちょっと似ても似つかない
0188デフォルトの名無しさん
垢版 |
2018/06/16(土) 22:54:58.96ID:l74jUjtd
>>179
> GCを使う一点で、そんな主張をされても。

これによってぜんぜん違うものになるぞ
なぜならオブジェクトっていうのはすべからくメモリを使う。
だからメモリの確保と解放はプログラム全体に散りばめられる

Javaはメモリ(≒オブジェクト)を解放するコードが必要ないわけだが、
C++だと必要ないかもしれなし、必要あるかもしれない。
必要ある場合は、それに応じて解放の書き方が複数あるし、
必要ない場合は、また別のポインタの保持方法が多数存在する。

これによりプログラム全体が大きく違ってくる
0190デフォルトの名無しさん
垢版 |
2018/06/17(日) 00:29:17.70ID:wTKR8Tiz
おまえらはデバッグする時ってdebug.rbをつかってる?
それともprintデバッグで済ましてるの?
0191デフォルトの名無しさん
垢版 |
2018/06/17(日) 03:35:56.68ID:Gbap2Nj9
他言語の話で荒らしてる奴はdebug.rbとか知ってるの?
0193デフォルトの名無しさん
垢版 |
2018/06/17(日) 15:07:18.29ID:NZRREY9d
JS のlodash の、メソッドチェーンを実現するには、
tap・chain などで、コンテナ内を走査できる

Ruby でも同じ。
enum.tap { |item| p item }

Windows では、irb を使うデバッガー・コンソールは、
日本語でバグるから、tap などで確かめるか、

WSL Ubuntu の方で、irb などを使う
0194デフォルトの名無しさん
垢版 |
2018/06/17(日) 15:23:16.00ID:wTKR8Tiz
それ、pデバッグ
0195デフォルトの名無しさん
垢版 |
2018/06/17(日) 16:33:06.43ID:YZJ2jt3n
>>184
考え方うんぬんは、言語の発展とは必ずしも関係があるわけではないので、その指摘は的はずれ。

何度も書いたが、オブジェクト参照ベースは、当時からとくに珍しいものではなく、C#がそれを取り入れたからといって、C++から発展したものでないという主張は成立しない。
たとえば、C++で、言語やライブラリの機能を使って、オブジェクト参照ベースの実装や関数的プログラミングを行ったとしても、やはりC++には違いない。

また、C#は、using節やジェネリクスなど、C++の影響ともいえる要素が見受けられる。

蛇足だけど、C#がリリースされてからは、Javaはその後追いをよくしてる印象。
最近にいたってはOracleのやる気もあやしげ。。。
0198デフォルトの名無しさん
垢版 |
2018/06/17(日) 17:00:14.29ID:MTrYKi4d
C# は J++ の影響を受けたのであって Java の影響を受けたのではない!
という展開を期待。
0199デフォルトの名無しさん
垢版 |
2018/06/17(日) 17:01:08.44ID:wTKR8Tiz
やっぱpデバッグが一番手っ取り早くて楽だよな
debug.rbでステップ毎にコマンド入れて値を見るのも便利だけど
0200 ◆QZaw55cn4c
垢版 |
2018/06/17(日) 18:13:10.48ID:mtjEdwIk
>>195
>考え方うんぬんは、言語の発展とは必ずしも関係があるわけではないので、その指摘は的はずれ

まあ「言語の発展」について、なにかしら定義があるわけでもないですし

でも、「Java と C# は同系」といわれて反発したり
「C# と C++ は同系」といわれて疑問を呈したり
することからみると、なんらかの感覚は存在するわけで、それをなんとか定義づけることにまで持っていければおもしろいかも、とは考えています

役に立つかどうかは疑問ですが
0202デフォルトの名無しさん
垢版 |
2018/06/17(日) 18:25:18.06ID:wTKR8Tiz
故意にdebug.rbの話を避けて自演を継続中か

debug.rbって中身見たらメソッドをフックしたり、お手本になりそうなコードが多いよ
一度読んでみな
0206デフォルトの名無しさん
垢版 |
2018/06/17(日) 23:02:43.39ID:YZJ2jt3n
>>200
もう一度書くが、「C#がJava系列」は違うと言ったのであって、「C#とJavaは同類」くらいなら否定しない。

これで通じないのなら、言語の認識か日本語の感覚が異なるのだろう。
もう疲れたので、そろそろおわり。
0207デフォルトの名無しさん
垢版 |
2018/06/17(日) 23:07:46.86ID:fWXMJUJM
>>187
LISP(笑) あれはコンピュータにとって美しい言語だろ。人間にとっては奇怪な呪文の
羅列でしかなく、アセンブラの方がまだ親しみやすい。PostScriptみたいで、人間が
直接書くためのものじゃないね。計算機科学者が作った実験的言語で、実用性は低い。
同じ1950年代生まれの言語では、数式通りの記法が売りのFortranが実用として
支持された。後続の主流言語BASIC、Pascal、CもFortran系列。

1960年代生まれのBASICは、当時のFotranでは.gt.だった比較演算子を数式通りの
>にしたし、文字列処理を簡潔で分かりやすく記述可能にしたから、高級言語の
発達史の中で評価されて良い。構造化されないうちに普及してしまったので、色々
叩かれることになってしまった。VBAは構造化されているし、オブジェクト指向も
取り入れ、Microsoft Officeの大きく複雑なデータ構造を分かりやすく扱える。
昔のBASICから引きずったおかしな部分も残っているが、総合的に評価すればそんなに
駄目な言語ではない。

大前提として、変数の宣言と型づけができない言語は駄目だね。だから、Rubyも
Pythonも評価は低い。VBAは昔のBASICとは違ってDim i As Integerにように
宣言できるし、Option Explicitと書けば宣言を強制できる。プログラミングに限らず、
自然科学でも変数は定義してから使うものだし、人文・社会科学でも例えば法律では
用語を定義してから使う。定義を与えてから論を進めるのは科学的思考の基本で、
それができないRubyやPythonは俺様脳内的プログラミングでしかなく、教育上有害。

プログラミング教育ではC系かPascalを学ばせ、「aって何? お前の脳内なんか
知らないよ」とか「型が違う変数にそのままでは代入できないぞ。ボヤボヤするな」
とかコンパイラに叱られながら、正しいプログラミング作法を身に着けさせるのが
良い。プログラミングが嫌いになる子が出てくるかも知れないが、そういう子には
適性がないので、ちょうど良い篩い落としになる。

RubyやPythonはちょっと高機能な関数電卓や、ちょっと高機能なバッチファイルとして
利用するものであって、C系やPascalのようなちゃんとしたプログラミング言語と同列に
扱ってはいけない。
■ このスレッドは過去ログ倉庫に格納されています