Ruby 初心者スレッド Part 63

レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
垢版 |
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/
2018/08/29(水) 10:17:15.28ID:1N7Xw9cw
>>897
そういうシステム的なところに、バージョン互換がクソのRubyを使うなよ、と思うんだが。
割り切ってPerlで実装するべき。
2018/08/29(水) 10:20:44.10ID:Z5QuCC4F
Rubyはシステムに入ってるバージョンには何も期待できないからなあ
アプリとセットでバージョンをコントロールできない環境なら絶対に使わないことにしてる
2018/08/29(水) 13:28:40.28ID:ND6xKvzt
>>898
Perlもバージョン互換クソだぞ。言語自体はまだマシだが、
多くの標準とされるモジュールが結局ただのcpanライブラリだったりする
Perlとは別に、標準モジュールがメンテされている。
2018/08/29(水) 13:29:42.09ID:ND6xKvzt
>>899
> アプリとセットでバージョンをコントロールできない環境なら絶対に使わないことにしてる

だからDockerがでてきたんだよね。アプリとセットでバージョンをコントロールするための仕組み
Rubyだけに限らない。どんなものでもセットでコントロールできちゃう
902デフォルトの名無しさん
垢版 |
2018/08/29(水) 14:42:17.16ID:3Ovn6h4k
なんかアンチの意見が多いように見えるんですが、Rubyって実際勉強する価値のある言語なんですか?
2018/08/29(水) 14:47:50.70ID:arxyH2m7
書き捨てのコード書くのにとても手早く書けて便利
2018/08/29(水) 15:17:06.91ID:bzaK3e7y
>>902
言語のスキルそのものに価値を求めるなら目下猛スピードで下降中のRubyはお勧めできない
上の人も書いてるけどサブ言語として書捨てスクリプトに使う分には悪くはない
言語に価値を求めるのではなく、価値は自分で生み出すんだよ
905デフォルトの名無しさん
垢版 |
2018/08/29(水) 17:45:09.85ID:BcD2eC3K
>>901
どんなものでもいいと言われてRubyを選ぶバカはいないだろうさすがにw
2018/08/29(水) 18:32:49.25ID:ICSdkcMg
>>902
あるよ
Rubyはラクに短く書けるからね
日用使いにもってこいだし
Rubyやった後で他の言語を使ったときに感じるもどかしさも成長の現われ
2018/08/29(水) 20:00:01.96ID:C3NxYXPh
>>902
利用価値とか将来性とか、そんなしみったれた理由じゃなくて、
「好きか、嫌いか」で選ぶ言語な気がする

自分は文字列処理とかの浅瀬でしか使ってないけど、
なんか書いててノリがいいんだ
2018/08/29(水) 20:05:19.84ID:VZocGD05
>>902
わざわざRubyスレを覗いてまでアンチな意見を出したがる人間がいるということは
それだけ広まってるってことの裏返しだよ
2018/08/29(水) 20:07:31.02ID:9TW3Y4kQ
>>908
Windowsスレみたいだな
910デフォルトの名無しさん
垢版 |
2018/08/29(水) 20:55:22.66ID:sbo9jSpz
やっぱレンタル鯖についてるRubyで組むのが一番楽だし安い
googleとかfacebookみたいなでかいサービス以外はこれで十分やろ
2018/08/29(水) 21:50:09.05ID:ina9uBoN
>>907
文字列処理ってRubyは結構得意だと思うな。ループが書きやすいのもある
PythonやJavaScriptでやっているとストレスがたまるたまるw
2018/08/29(水) 22:03:14.49ID:iK2DqHZ9
>>900
もちろん互換性優先なら標準モジュール縛り。
野良モジュールはいいかげんなのも多いからな。
913デフォルトの名無しさん
垢版 |
2018/08/30(木) 00:32:15.61ID:HMl4aadA
Rubyでグラボ動かすのたーのしい
2018/08/30(木) 02:57:42.53ID:DM4c6T6K
実務未経験からWebエンジニアになった方の体験談を集めてみた。 - プログラミングを仕事に!
http://doryo9999.hatenablog.com/entry/2018/08/27/210644

Progate と、無料のRails Tutorial で勉強するのが、Webエンジニアの定番みたい
2018/08/30(木) 03:24:52.09ID:rxoSSaq5
>>912
いや、だからPerlの標準モジュールは
単に野良モジュールをバンドルしただけなんだよ
2018/08/30(木) 15:50:31.69ID:nb0FI+w1
ローカル開発やデプロイはどのツールがおすすめ?
917デフォルトの名無しさん
垢版 |
2018/08/30(木) 16:01:51.81ID:HtWH/5uG
bashから呼び出したりシェル代わりに使ったりするならrbenvが便利だな
2018/08/30(木) 21:34:27.07ID:qmylcsW4
そろそろ夏休み終了の季節か
時間つぶし用のRuby本をどこかの出版社で出してくれ
2018/08/31(金) 08:44:43.00ID:ujTJ+lMf
31日は今日までだが、明日明後日は土日なんだぜ・・・
2018/08/31(金) 09:08:58.06ID:KAgj04IM
ほんとや! じゃあハロワも休みだな
921デフォルトの名無しさん
垢版 |
2018/08/31(金) 12:29:49.35ID:xKsqnbR+
みんなエディタは何使ってるか教えて
私はatom使ってる
テーマが沢山あって楽しい
2018/08/31(金) 13:00:10.64ID:9pMrcfpD
Atomなんかまだ使ってる人いたんだ
MSのVSCodeに完敗して誰も使わなくなり、さらに開発元のGitHubがMSに買収されて完全に終わったエディタだぞ
2018/08/31(金) 13:08:16.29ID:DXKxWv2O
atomもvscodeもどちらも同じマイクロソフト社の
製品なんだから喧嘩するな
924デフォルトの名無しさん
垢版 |
2018/08/31(金) 16:57:57.78ID:xKsqnbR+
VS codeはターミナルの日本語が重なって表示される不具合を治す方法がわからなくてアンインストールしました……
vimとかサクラエディタとか、他にもエディタいっぱいあるけど、VS code派が多いのかな?
2018/08/31(金) 17:22:16.44ID:Ed5vLPgD
いま一番開発が活発なエディターだからね。
2018/08/31(金) 17:23:38.18ID:9pMrcfpD
Ruby以外では今はVSCodeが一世を風靡してる状況
- 大魔王マイクロソフトによって開発されたエディタである。
- VSCodeはTypeScriptという悪魔の言語によって書かれている。
- TypeScriptはこれまた大魔王マイクロソフトが人々を誘惑し静的型に引き摺り込むために開発された言語である。
- TypeScriptはRubyist達に愛されRailsのフロント用公式言語にも採用された聖CoffeeScriptを抹殺した。
こういう宗教的事情があるのでRubyistだけはVSCodeを忌み嫌っている。
2018/08/31(金) 17:24:11.51ID:jDtDUsbL
emacs
928デフォルトの名無しさん
垢版 |
2018/08/31(金) 17:39:56.72ID:958KuBfY
禿丸
2018/08/31(金) 20:50:54.50ID:iqojN4Kg
rubyやってる奴らは自分達が頂点だと思ってる
930デフォルトの名無しさん
垢版 |
2018/08/31(金) 20:59:56.48ID:YgK7xM8R
Rubyアンチが必死に特定のスレをあげてて吹く
ほんと何考えてんだ?
2018/08/31(金) 21:14:42.76ID:SCJF/jOl
荒らしがまた涌き出したのかと思ったら
◆QZaw55cn4c が帰ってきてたのか
いい加減に板を荒らすのやめろよ
2018/08/31(金) 21:15:37.22ID:hdwU5T2H
Rubyは基本emacsだな
Windowsしか使えない時はxyzzy使ってる
2018/08/31(金) 21:19:29.16ID:9vTf/EZ+
>>932
emacs使いならWindowsでも使え。
934デフォルトの名無しさん
垢版 |
2018/08/31(金) 23:28:50.61ID:N52+Kto5
>>929
アスペが多いイメージ
2018/09/01(土) 07:57:54.43ID:kUpkBQ3x
Windows のRubyist は、VSCode を使う

>>924
上下矢印を動かすと消える

それか一旦、端末を閉じてから、開き直すとか
2018/09/01(土) 09:16:49.41ID:7X8llEoY
RubyMine除くと選択肢皆無だもんなー今
2018/09/01(土) 09:30:00.05ID:FRKhXQkv
emacs→教祖様も愛用する大正義エディタだが習得コストや環境整備が極めて高い
Atom→今や情弱の代名詞
VSCode→宗教上の問題で使用不可
RubyMine→高い
Rubyistにとっては受難の時代だね
2018/09/01(土) 09:32:22.40ID:FRKhXQkv
あとRubyMine使っちゃうと「ゲロ重いIDEなんかに依存せず軽快にRubyを操る俺かっけえwwドヤァww」ができなくなるという大きな問題があるね
2018/09/01(土) 09:38:16.81ID:FRKhXQkv
あとはSublimeもあるな
VSCodeにあらゆる面で負けてるものに金を払うという理不尽さを受け容れられるなら悪くない選択肢だね
2018/09/01(土) 10:14:24.91ID:RIX4RBZZ
vimスルーかい
2018/09/01(土) 10:16:58.22ID:8XWt4TWp
Vimは最悪でしょ
教祖様に中指立てるようなもんだぞ
2018/09/01(土) 10:19:37.07ID:aR5AJvlP
ruby自体で作られたエディタが無い時点でなあ
2018/09/01(土) 10:37:32.58ID:G2t628Mc
スクリプト言語にむちゃいうな
2018/09/01(土) 11:39:46.11ID:xvMvXv+W
lisp コンパイラが存在するように ruby コンパイラがあってもいいと思うの…
2018/09/01(土) 12:05:20.84ID:nhZwUooY
cloud9でいいじゃん
もはや開発デバイスでwindowsもmacもlinuxも関係ない
いちいちローカルに仮想サーバーなんか作らなくていいし
IDEとしては普通だけど十分
2018/09/01(土) 14:18:19.40ID:30m/ucV3
VSCodeって以前試してみたことあるけど動作が重すぎて論外
2018/09/01(土) 14:26:26.69ID:8XWt4TWp
実際はAtomやRubyMineより遥かに軽いんだよなあ
Ruby製のエディタだと言って>>946に触らせたらクソ軽い最高のエディタだと言いそう
948デフォルトの名無しさん
垢版 |
2018/09/01(土) 15:18:25.24ID:EqLeg0R1
ATOMって人気無いのか……色んなテーマがあるのが面白くて、気分で変えたりするのが楽しい
ATOM以上にテーマのカスタマイズできるエディタないよな?
2018/09/01(土) 15:20:53.49ID:mPcVbgud
テーマは一番どうでもいいところ
950デフォルトの名無しさん
垢版 |
2018/09/01(土) 15:23:45.59ID:EqLeg0R1
>>949
では、一番重要なのは?
2018/09/01(土) 15:27:17.99ID:8XWt4TWp
>>948
VSCode
Atom用のテーマ作ってた人もみんなVSCodeに乗り換えてしまって、VSCodeに移植されてるよ
まあRubyistには無縁なんだけどね
952デフォルトの名無しさん
垢版 |
2018/09/01(土) 15:33:50.66ID:EqLeg0R1
>>951
VS codeでもテーマ変えられるんだ!知らなかった。ありがとう
Atomは重いし下火ならVS codeに乗り換えようかな……
でも、Rubyistには無縁とか、宗教上の問題で使えないってどういうこと?
2018/09/01(土) 15:39:33.85ID:0QGY34UC
キチガイ独自の宗教事情だから気にするな
VS CodeにRuby Solargraph入れるとめっちゃ捗るぞ
2018/09/01(土) 15:48:36.37ID:kUpkBQ3x
暗めのテーマ、Dracula とかか?

Bracket Pair Colorizer
vscode-icons, VSCode Great Icons
indent-rainbow

この辺の拡張機能を使えば、カラフル
955954
垢版 |
2018/09/01(土) 15:53:49.58ID:kUpkBQ3x
Bracket Pair Colorizer

カッコの色が、それぞれ違う。
これが無いと、カッコの対応関係がわからないから、プログラミングできない!
2018/09/01(土) 16:56:03.17ID:30m/ucV3
未だにK2Editorを使っている。いい加減乗り換えたいが動作が重いか機能不足かの二択でいかんともしがたい
2018/09/01(土) 17:18:52.07ID:7ZnGpQEC
メソッドやクラスの定義に飛べたり、クラス名や変数名変えたらプロジェクト内の全てに更新かけてくれるIDEない?
2018/09/01(土) 17:37:20.16ID:xvMvXv+W
>>950
キーバインドを emacs 式に(できれば簡単に)できるかどうか
それ以外はどうでもいい…
2018/09/01(土) 17:42:31.61ID:aR5AJvlP
>>943
ATOMもvscodeも大部分nodejsだったはず
pythonのidleはpython+tkだったか?
960デフォルトの名無しさん
垢版 |
2018/09/01(土) 18:17:59.95ID:wk35+pf/
また荒らしが自演してるのか
2018/09/01(土) 18:48:09.50ID:ylFVE9fX
もう今やEmacsの方がVS Codeより軽いぐらいだからな
VS CodeもAtomよりはよっぽどマシだけど、それでももっさり感は否めない
となるとEmacsか、せいぜいSublime Textって選択肢になってしまう
962デフォルトの名無しさん
垢版 |
2018/09/01(土) 18:57:40.50ID:EqLeg0R1
>>953
solargraph入れたらgemが必要と言われ、gemインスールしてからgem install soragraphしたらエラーが出て解決策が分からない
プログラミング難しいっすね……(二ヶ月目初心者)
2018/09/01(土) 19:24:37.72ID:8XWt4TWp
>>961
ゴリゴリに拡張しまくったemacsやvimなら体感的にはVSCodeの方が速いわ
964デフォルトの名無しさん
垢版 |
2018/09/01(土) 19:42:00.02ID:wk35+pf/
次スレ
Ruby 初心者スレッド Part 64
https://mevius.5ch.net/test/read.cgi/tech/1535797516/
2018/09/01(土) 20:26:57.40ID:0QGY34UC
>>962
コーディングより環境構築がややこしいのはプログラミングあるあるだから…

Windowsでruby installer使ってるならreadmeの最後にも書いてあるけど↓を試してみ
> gem uninstall eventmachine
> gem install eventmachine --platform ruby -- --use-system-libraries
2018/09/01(土) 21:00:02.89ID:30m/ucV3
Rubyのgemに限らず最近の言語はパッケージ的な仕組みを持っているけど、処理内容が隠されてしまうから
意図した結果が得られないときのトラブルシュートが難航するんだよな
しかもパッケージがらみの情報は言語本体の情報より少ない上に初心者だとエラーの見方もわからなかったりしてより厳しい状況になる

これ、最近乱立気味のビルドシステムでも同じことが言えていて、標準的な手順から外れたとたん
ビルドシステムを勉強しエキスパートにならないとにっちもさっちもいかなかったりするし
2018/09/01(土) 21:16:43.59ID:9FO7jpj+
トラブったらissue上げるだけだろ
コミュ障かよ
2018/09/01(土) 21:19:19.18ID:1LBe8Cyr
Win環境でのissueなんか上げても誰も相手にしないぞ
UnixではテストしたWinは知らんでクローズ
969デフォルトの名無しさん
垢版 |
2018/09/01(土) 21:52:28.86ID:wk35+pf/
アンチが嘘つくのは毎度のことだし無視が一番
2018/09/01(土) 22:16:55.51ID:ylFVE9fX
>>968
それでクローズされた具体的なチケットプリーズ
971デフォルトの名無しさん
垢版 |
2018/09/02(日) 07:15:17.60ID:HcdhtgGT
Rubyが書けるようになるとCやJava,Pythonに対してどんなメリットがあるの?
楽しい以外で
2018/09/02(日) 07:17:10.87ID:JtNT42gE
たのしいがRubyの存在意義なのに
それを無視されましても・・・
973デフォルトの名無しさん
垢版 |
2018/09/02(日) 07:49:22.50ID:5WqNet32
漏れなんか、ruby installer から、7-zip 版(9MB)を解凍して、ユーザー環境変数PATH を通すだけ。
バージョンアップは、フォルダを丸ごと削除する

最初に、gem で、bundler を入れたら、
gem install bundler

後は、Gemfile に書いて、bundle install してる。
rack-test, rspec, selenium-webdriver, nokogiri, mechanize, sqlite3

ただし、7-zip版は、MSYS2 コンパイル環境が入っていないから、コンパイルできない。
websocket のexe が無いから、これに依存しているgem がインストールできない。
websocketのexe(バイナリ)は、どこかに公開されていないのか?

VSCode でデバッグできないし、solargraph も動かない
2018/09/02(日) 10:54:21.03ID:Y9KYS1Vl
>>971
そのへんよりはRubyのほうが書きやすいことは間違いない。
楽しいかどうかは外しても、楽ではある。
975デフォルトの名無しさん
垢版 |
2018/09/02(日) 11:12:49.38ID:l7vq29kF
>>965
だめでした……
・eventmachineはインスールされていませんでした
・ご指摘のコマンドを入力しましたが、"failed to build gem native extention."のエラーが出ました

しかし、Rubyを再インストールするなど紆余曲折の末、gem install solargraphを試したら、無事インストールすることができました!ありがとうございました!
これでVS codeが使えます!
976デフォルトの名無しさん
垢版 |
2018/09/02(日) 11:27:53.59ID:l7vq29kF
>>954
このへんの拡張機能も入れました!見やすくなってすごくいいです!
ATOM派だったけど心が揺らいできました!VS codeもいいですね!
2018/09/02(日) 11:46:37.22ID:Ja2P7X0l
>>971
CやJava,Pythonを書けるようになってから
Rubyのことをチラッとでも勉強してみると、
>>974もいっているように、
「このへんの処理やるならRubyのほうがラクに書けるな」
って部分がわかるかと。

いきなりRubyだけ学んでも、ありがたみがわかりにくいと思う。
978954
垢版 |
2018/09/02(日) 13:17:29.30ID:5WqNet32
VSCode の拡張機能なら、以下も必需品。
VSCodeのスレも参照

Code Runner
右クリックメニューから、実行できる

Live Server
ファイルを保存するだけで、ブラウザへ反映される
2018/09/02(日) 20:10:06.87ID:4CYRjCOp
irb -m
とするbcモードというのがあって分数や行列の計算ができるそうですが、
irb(main):001:0> 1/2 + 5/7
=> (17/14)
irb(main):002:0> 5/6 * 2/4
=> (5/12)
このように分数が計算できて便利ですが、
行列の表現の仕方がわかりません。
irb(main):001:0> [[1,2],[3,4]] + [[4,3],[2,1]]
=> [[1, 2], [3, 4], [4, 3], [2, 1]]
単純な結合になってしまいます。
980デフォルトの名無しさん
垢版 |
2018/09/02(日) 21:16:55.54ID:XrvM+5pA
行列ってライブリ使うんじゃなかった?
Rubyで回転行列とかやってたときに標準添付のライブラリ使ったような覚えがある
というか、bcモードなんてあるのか
981デフォルトの名無しさん
垢版 |
2018/09/02(日) 21:19:49.31ID:XrvM+5pA
アレ?
2018/09/02(日) 22:00:59.43ID:elP7igYW
レンレンー、アーレーアレ
983デフォルトの名無しさん
垢版 |
2018/09/02(日) 22:21:48.16ID:QcUTaH+n
>>971
楽しい以外は特に無いが。なにか問題が?
2018/09/02(日) 22:26:54.89ID:elP7igYW
その言語じゃないとできない。みたいなことは殆どないよ。
大抵の言語でできることは他の言語でもできてしまう。
2018/09/02(日) 22:54:00.92ID:IfPBe/3n
>>980
だいぶ前に無くなった。
2018/09/02(日) 23:40:33.06ID:/9nCrt4M
>>979
bcモードはload mathn, fraction or matrix are availableってことだから
Matrix[[1,2]] + Matrix[[3,4]]ってしないとダメ
bcモードじゃないときはrequire 'matrix'する必要がある
2018/09/03(月) 18:35:42.70ID:emnxf15g
その用途ならoctave-cliのがいいよ
988デフォルトの名無しさん
垢版 |
2018/09/04(火) 01:29:42.70ID:GmOeUrEr
アンチ必死すぎだろ
989デフォルトの名無しさん
垢版 |
2018/09/04(火) 22:49:10.90ID:JkSql3w1
漏れは、Selenium WebDriver, Nokogiri で、

自分のPC の画像フォルダにある、様々なサイズの画像を、
すべての画像の高さを、画面の80% に揃えてから、ブラウザで見てる
990989
垢版 |
2018/09/05(水) 14:18:39.75ID:TWmx8fnR
Selenium WebDriver, Nokogiri を使って、
自分のPC の、Pictures 内の画像ファイルだけを、ブラウザで見る。
MyUtility クラスで、画像の拡張子だけを抜き出す

picture_paths = Dir.glob( 'C:/Users/Owner/Pictures/*' )
.select { |fpath| FileTest.file?( fpath ) && MyUtility.check_picture_extname?( fpath ) }
.sample( 5 ) # random choice

index_url = "file:///" + File.join(__dir__, 'index.html')
driver.navigate.to index_url

doc = Nokogiri::HTML(driver.page_source)
content_wrapper = doc.at_css("#content") # 全体の枠

picture_paths.each do | pict_path | # 各画像
# 画像ノード。改行を削除する
img_str = <<"EOT".gsub(/\n/, "")
<img src="#{ pict_path }">
EOT

img_node = Nokogiri::HTML::DocumentFragment.parse img_str
img_node.parent = content_wrapper # 親
end

inner_content = content_wrapper.inner_html.to_s.gsub(/\n/, "") # 改行を削除

jsCode = <<"EOT"
var elem = document.getElementById("content");
elem.innerHTML = '#{ inner_content }';
EOT

driver.execute_script jsCode # JavaScript を実行
2018/09/08(土) 10:05:16.90ID:guC9gvMf
2.5環境でruby/dbiがエラーはいて動かないのでsequelを勉強してます。

sql serverにネットワーク越しにrubyodbcでodbc接続してますが
なぜかdecimal型が全部string型で帰ってくるし既存のテーブルだと
intで戻ってくるはずのまでそんなものだから延々調査してたんですけど元凶はrubyodbcでした。
odbcで帰ってくる値をrubyの型に変換するときに特定の型以外全部stringで返す仕様でした。

昨日tinytds接続にしたらdecimalはbigdecimalで帰ってきました。
2018/09/09(日) 16:50:08.91ID:yaYW83OX
>>990
img_str = %(<img src="#{pict_path}">)
でよくない?
それにgsub使うよりdelete("\n")の方が分かりやすい
あと文字リテラルに"と'が無差別に混ざっているのが気持ち悪い
993989
垢版 |
2018/09/09(日) 17:20:05.47ID:0ym3cmgA
改行を削除しないと、タグの間に、改行ノードを作るかも知れないので、ややこしい

HTML の属性は、" で囲むから、それを文字列にするには、' の方がよい

"〜"属性"〜"
"属性" を含む文字列を、" で囲んで、" の対応関係が崩れて、ハマったから

'〜"属性"〜'
これなら、OK
2018/09/09(日) 17:23:45.20ID:yaYW83OX
いやだからさ
index_url = "file:///" + File.join(__dir__, 'index.html')
こことかおかしいじゃん
2018/09/09(日) 17:39:30.58ID:3HCWUffr
>>994
ROMってろよ
2018/09/09(日) 17:39:49.42ID:3HCWUffr
>>994
5ch中毒かよ
2018/09/09(日) 17:40:12.76ID:3HCWUffr
>>994
他スレで醜態晒してROMってる言うたのにまだいるのな
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況