X



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/
0220デフォルトの名無しさん
垢版 |
2018/06/20(水) 14:14:42.86ID:lDwnd3LP
ルールは少ないが決して直感的ではない
ネストが深くなれば単純に読みづらいし
特殊形式やマクロがあるから意味も取りづらい
0223デフォルトの名無しさん
垢版 |
2018/06/21(木) 07:08:05.87ID:TIqdN2sL
Openglのgemいれて遊んでるけどやっぱり見本になるようなコード付きruby本が欲しい
バッファ操作やシェーダー言語といった基本じゃなくてHDRレンダとかBSP木の実装とか特に
0224デフォルトの名無しさん
垢版 |
2018/06/21(木) 08:49:19.42ID:y5k3a+mj
戦争法ω反対ωω
0226デフォルトの名無しさん
垢版 |
2018/06/23(土) 16:15:21.51ID:SdhvexJI
後半は同意
Vue.jsとか使うんだったらサーバーをRailsで書く旨味はほとんど無いから、
サーバーサイドはNodeのようなよりライトウェイトなものか、信頼性重視でJava/C#/Goあたりが鉄板だよ
中途半端なRubyは役割を失ってしまった
0228デフォルトの名無しさん
垢版 |
2018/06/23(土) 16:44:43.58ID:SSNlEBNF
TypeScriptの流行もRubyにとっては逆風になったよな
あのせいでCoffee推しだったRailsに急に負け組のイメージが付いてしまったし、
TypeScriptに興味があってもサーバーサイドは「型書きたくないでござる」なのに
クライアントでは「The power of typing」という頭のおかしい状況になってしまうからRubyを使ってる限り絶対に手を出せないわけだし
0229デフォルトの名無しさん
垢版 |
2018/06/24(日) 15:39:18.64ID:mk6WJRaX
chunkメソッドなのですが、
hash = {}
(1..99).to_a.chunk{|a|a % 10}.each {|k,v| hash[k]=v}
これで期待した値は
{1=>[1,11,21,31,..91],2=>[2,12,22,32..93],3=>..}
だったのですが、
結果は
{1=>[91],2=>[92],3=>[93]...}

これは90台の値でhashの値が上書きされるということでいいんですよね。

hash = {}
(1..99).to_a.chunk{|a|a / 10}.each {|k,v|hash[k]=v}
p hash
こっちだけど綺麗に
{0=>[1,2,3,4,5,6,7,8,9],1=>[10,11,12,13,14,15,16,17,18,19],2=>...}
と纏めてくれるんだけど。
0230229
垢版 |
2018/06/24(日) 16:08:41.21ID:mk6WJRaX
hash = {}
(0..9).each { |a| hash[a] = [] }
(1..99).to_a.chunk { |a| a % 10 }.each { |k, v| hash[k] = hash[k] + v }
p hash

これでいいのか。
でも、これだとchunkを使う意味がないんだろうな。
0231デフォルトの名無しさん
垢版 |
2018/06/24(日) 18:43:42.85ID:BpQN/QJ/
rubiniusってどうなん?
2018.5.28に3.105がリリースされて、まだ活動しているけれど、使っている人っているのかな?
0232デフォルトの名無しさん
垢版 |
2018/06/24(日) 20:50:57.20ID:WqNjZLae
rubiniusはSqueak/Pharo(Smalltalk)やpypy(Python)ではできてるVMのセルフホスティングを断念して
その存在価値をほぼ失って久しいという印象

今のウリは何なの?
0233デフォルトの名無しさん
垢版 |
2018/06/24(日) 23:29:40.97ID:chBT6m1a
>>229-230
a / 10 では、0〜9 が連続した同じグループだろ

a % 10 では、0〜9 は、すべて異なるグループじゃん。
0, 1, 2... と、グループが切り替わっていく

chunk は、グループが切り替わる所までが、一連の同じグループ
0235デフォルトの名無しさん
垢版 |
2018/06/25(月) 16:53:20.01ID:dnPuwK4a
プログラミング教育が話題になりはじめたけど、
Ruby噛ませて補助金や助成金をもっと出させたほうが良い
0236デフォルトの名無しさん
垢版 |
2018/06/25(月) 17:53:01.58ID:o35Q9ijA
本当に日本の将来を思うのなら、Rubyは教育分野からは今後きっぱり身を引くべきだと思うけどね
日本のITはクソと言ってる人達が日本のITのガラパゴス化を増長させているという
0238デフォルトの名無しさん
垢版 |
2018/06/25(月) 21:25:37.12ID:hIvBrOlA
まだ?人気だったことあったっけ?
arduinoやmicro:bitは何でプログラミングしますか?
0239デフォルトの名無しさん
垢版 |
2018/06/25(月) 21:48:16.51ID:M/oLTPjd
mrubyは純粋に補助金稼ぎのためにやっているプロジェクトで、実際には誰も使ってないぞ
IoTとか地域の中小企業の活性化とか言って公共団体から金を引っ張ってきやすいんだよ
金の集めやすさでいえば今だとAI関連の方がいいだろうけど、役所のスネ齧ってるような連中の中にそんな高度な人材はいない
0240デフォルトの名無しさん
垢版 |
2018/06/25(月) 22:17:26.05ID:633Q5XzL
日本ってどれだけ税金にたかれるかで
組織が成功できるか決まるからな
仕様がないね
0242デフォルトの名無しさん
垢版 |
2018/06/26(火) 01:48:24.75ID:dX6kXz8Z
やっぱり粘着しとるな
0243デフォルトの名無しさん
垢版 |
2018/06/26(火) 19:05:17.48ID:ZJbD0Mnn
>>239
ほんそれ
0244デフォルトの名無しさん
垢版 |
2018/06/26(火) 22:51:30.68ID:dX6kXz8Z
なんかひろゆきの元に戻るらしいね
荒らしも処刑宣告されてたしこれでひとまず一件落着なのかな
0247デフォルトの名無しさん
垢版 |
2018/06/29(金) 21:19:45.40ID:74QnzxIm
Rubyで型を扱うライブラリ・・・いくつがあるようだが
本来このような言語の肝となる機能は言語側が用意すべきなのにな
だって統一しとかなきゃ厳しいでしょ
なのに教祖様が、絶対に型は書きたくないでござる!だから安心して見てられるわ
まぁ今のRubyの状態で型を導入したらそれこそ寿命を縮めるだけかもしらんし
その意味では正しい判断だが、周りからの要求もあるし、こういうライブラリ作る連中もいるし
止められない流れなんだろうな、グズグズになって腐る感じ

改めて初めから静的型にしておけばよかったのにな
型を書くのがそんなに面倒か?型推論もあるし
型関係のライブラリが乱立するよりよっぽどマシだろうよ
別に後出しジャンケンじゃないぞ
昔から宣言や型を書かない言語は糞って言ってる人たちはいっぱいいたからな
0250デフォルトの名無しさん
垢版 |
2018/06/30(土) 20:29:47.54ID:2e1/6RZt
RubyやPythonはPerlの代替のお手軽スクリプト言語だから、変数宣言と型はない方が
都合が良いだろ。最もお手軽なコマンドラインに与えるワンライナーでもそんなものを
いちいち書かされるのは不便。スクリプト言語の守備範囲を超えた使い方をしようと
する人がいるから叩かれるだけ。本格的なプログラミングにはC系かPascal系を素直に
使えば良い。
0251デフォルトの名無しさん
垢版 |
2018/06/30(土) 20:48:41.99ID:oxrLiD+S
OpenCVもTensorFlowも公式がガン無視の空気言語Rubyが!
OpenCVもTensorFlowも公式が第一級のサポートを提供しているPythonに申し上げる!!
RubyやPythonはPerlの代替のお手軽スクリプト言語だから、変数宣言と型はない方が
都合が良いだろ。最もお手軽なコマンドラインに与えるワンライナーでもそんなものを
いちいち書かされるのは不便。スクリプト言語の守備範囲を超えた使い方をしようと
する人がいるから叩かれるだけ。本格的なプログラミングにはC系かPascal系を素直に
使えば良い。
0252デフォルトの名無しさん
垢版 |
2018/06/30(土) 21:04:14.51ID:z7Yn6z20
型が欲しかったらC#でもJavaでもScalaでも
静的型言語がたくさんあるんだから
それ使えばいいだろうに

Ruby3での文字列の不変化くらいであれだけ揉めてたのに
静的型にしたらRubyの良さがかなり死ぬと思う
0254デフォルトの名無しさん
垢版 |
2018/06/30(土) 22:31:49.44ID:1DUVGupI
>>253
動画配信サイトってこと?
インフラ技術の方が重要だからAWSを学ぶべき
RubyやPHPでフロントと簡単なCRUDサーバー作れるだけの技術者なんか掃いて捨てるほどいるから、あえて君がレッドオーシャンに乗り込む必要はない
0255デフォルトの名無しさん
垢版 |
2018/07/01(日) 00:06:44.00ID:+TAM62F7
掲示板+動画みたいなサイト作って一儲けしたい
構想はある
0256デフォルトの名無しさん
垢版 |
2018/07/01(日) 01:49:25.70ID:YZ+qvhoO
Ruby は基本。そこから、Elixir。
Rust もやってる

C++ の標準化委員会の江添亮もいるし、HDL など、
ニコニコはすべての言語をやってる

「たのしいRuby 第5版、2016」を読めば、
ファイル操作・テキスト処理など、一通りできるようになる

無料のRails チュートリアルもやれば、MVC の基本がわかる
0257デフォルトの名無しさん
垢版 |
2018/07/01(日) 02:51:31.23ID:cI0QDxC9
>>253
>>255
動画サイトは通信料がものすごい負担だから
大企業じゃないとまず勝負にならないと思うよ

個人運営の動画配信サイトなんてあんま見たことないでしょ?
ユーチューブのまとめとかじゃなくて自前配信では
0261デフォルトの名無しさん
垢版 |
2018/07/01(日) 21:53:00.05ID:4BWRO6SX
Rubyを採用するシステムは今後増えるの?
0262デフォルトの名無しさん
垢版 |
2018/07/01(日) 22:10:32.82ID:InQHnS3f
>>261
センスないやつだな減ってってんだよ
0265デフォルトの名無しさん
垢版 |
2018/07/02(月) 01:15:45.91ID:v1kLQBFZ
>>264
それRailsはまだ死んでないと言ってるだけで、Rubyの採用が減っている説に対する反証にはなってないよね
以前に比べて減っていないor増えている証拠を提示しないと
0266デフォルトの名無しさん
垢版 |
2018/07/02(月) 01:18:33.48ID:G4Zx9Hgj
>>265
ごめんな、それはただの詭弁なんだわ
減ってない根拠が出されてたんだから、次は減ってると主張する方が根拠出さなきゃ嘘がどんどん
明らかになっていくよ
0268デフォルトの名無しさん
垢版 |
2018/07/02(月) 01:21:20.88ID:G4Zx9Hgj
>>267
ごめんな、減ってると主張する側の論拠がないんだわ
そこがない以上、話がかみあわんと思うわけさ
0270デフォルトの名無しさん
垢版 |
2018/07/02(月) 01:37:58.55ID:G4Zx9Hgj
>>269
The more a language tutorial is searched, the more popular the language is assumed to be.
ちゃんと訳した上で言ってるのかな?
0271デフォルトの名無しさん
垢版 |
2018/07/02(月) 01:39:37.89ID:v1kLQBFZ
英語読めない人のために補足しとくと、
>>269の下ではRubyは驚くべき速度で人気を失っており避けるべき言語の筆頭とされている
0273デフォルトの名無しさん
垢版 |
2018/07/02(月) 01:58:30.86ID:G4Zx9Hgj
まぁ、引用できるわけないんだけどね。一切そんなこと書かれてないから

ついに捏造までやるようになったんだねー
書かれてない英文を翻訳したかのように書き込むと
0274デフォルトの名無しさん
垢版 |
2018/07/02(月) 02:36:31.45ID:IqIVlqOF
smalltalkやlispやprolog、algol、cobolが死んでないようにrubyも死んでへんで!!!
0275デフォルトの名無しさん
垢版 |
2018/07/02(月) 02:47:20.79ID:9wGdj7CA
クックパッドは、Rails で最大のサイト。
RubyVM の作者・笹田耕一も入社した

大規模サイト以外では、やっぱり、Rails

Python Django 超入門、掌田津耶乃、2018

Rails の本は何十冊もあるけど、Django の本は、初めて出た。
Django は、ようやくスタート地点に立った所
0276デフォルトの名無しさん
垢版 |
2018/07/02(月) 09:27:20.76ID:BmG8Ktfn
Railsは下火かもしれんが
このフレームワークは最大のコミュニティを持っているので
困ったときに質問すれば他の誰かがだいたい答えを持っているのが大きい。
英語読み書きできるとこのアドバンテージはデカイ。
0277デフォルトの名無しさん
垢版 |
2018/07/02(月) 11:49:58.89ID:BcUDQh/y
Rubyが下火という話であって誰もRails下火とは言ってない。
Rails以外のRubyの応用用途が減ってって既にRails専用のDSLに落ちぶれている。
Rails使いたいから仕方なくRails以外に使いようがないクソ言語を覚えなければならない状況。
そんな感じなので最近はむしろRubyのせいでRailsが忌避されてる。
Railsは被害者。
0279デフォルトの名無しさん
垢版 |
2018/07/02(月) 14:11:25.05ID:1MsCi84i
Web系のスタートアップ企業はRuby使ってるとこ多いからRubyは今後増えるよ
0281デフォルトの名無しさん
垢版 |
2018/07/02(月) 17:00:46.05ID:53959ojp
あれだけ炎上騒ぎをおこしたrailsをまだ使うとかにわかには信じがたいな
Rubyびいき筋以外のフラットな立ち位置からの情報はないの?
0282デフォルトの名無しさん
垢版 |
2018/07/02(月) 19:48:05.70ID:HxZ/kndY
ruby(rails)は自分でもなんとか扱えるから、外注や人を雇う必要ない。
じゃないの?
0284デフォルトの名無しさん
垢版 |
2018/07/03(火) 01:37:17.55ID:dVWXwhE2
>>229
まだ観てるかしらんけど
(1..99).group_by{|e| e % 10}
=> {1=>[1, 11, 21, 31, 41, 51, 61, 71, 81, 91],
2=>[2, 12, 22, 32, 42, 52, 62, 72, 82, 92],
3=>[3, 13, 23, 33, 43, 53, 63, 73, 83, 93],
0285デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:57:05.42ID:gFgZc5FG
0EE
0287デフォルトの名無しさん
垢版 |
2018/07/05(木) 11:44:02.79ID:ggCUEqXy
RubyとPythonではどちらが有望と思う?
0290デフォルトの名無しさん
垢版 |
2018/07/05(木) 12:40:16.97ID:HxzHDfUH
今後はウェブアプリでもPythonの方が良さそう?
どっち勉強するか迷う
0293デフォルトの名無しさん
垢版 |
2018/07/05(木) 13:14:56.34ID:Mlujh05Y
いつまで自演でネガキャンしとんねん
いい加減、板荒らすのやめろやボケ
0294デフォルトの名無しさん
垢版 |
2018/07/05(木) 13:21:36.70ID:r0ar2IDe
作りたいウェブアプリの性質による
ページ遷移だけのクラシックな業務システムっぽいアプリならRailsは最強
クライアントに寄せてモダンな画面をグリグリ動かしたいんだったら最近はNode.jsとTypeScriptかな
0295デフォルトの名無しさん
垢版 |
2018/07/05(木) 23:59:32.75ID:28cP6wKp
Pythonにしかできないことは結構あるけど
Rubyにしかできないことはまったくない
0296デフォルトの名無しさん
垢版 |
2018/07/06(金) 01:36:51.46ID:sgP3sBfE
Python Django 超入門、掌田津耶乃、2018

Django の本は、フレームワークの巨匠・掌田が初めて出したばかり。
一方、Rails の本は、何十冊も出ている

Ubuntu 18.04 で、snap というパッケージマネージャーができたので、
Rails の動く環境一式丸ごと、配布できるようになったので、
Redmine みたいなRailsアプリが、たくさん配布されるはず

snap は、依存も含めて、アプリの仮想環境丸ごと含む
0298デフォルトの名無しさん
垢版 |
2018/07/06(金) 04:21:46.00ID:F9o4Pz4O
> フレームワークの巨匠・掌田

笑わせんなw 掌田って初心者本しか書けないやつじゃねーかw
0304デフォルトの名無しさん
垢版 |
2018/07/06(金) 10:35:38.66ID:F9o4Pz4O
× インデントでブロックを表現するとかじゃね?
○ ブロックを表現するのにインデントを使うしかない
0307デフォルトの名無しさん
垢版 |
2018/07/06(金) 11:31:52.50ID:sgP3sBfE
Selenium Webdriver・Nokogiri を使って、5ch のスレを読み込んでいますが、
5ch は、JavaScript(JS) で動的にHTML を作っているため、
同時に、Selenium Webdriverも使っています

driver.navigate.to "5ch のスレのURL"

doc = Nokogiri::HTML(driver.page_source)
elements = doc.css("div.post") # すべての投稿

これだけで、JS読み込み後のHTML を取得できていますが、
この書き方で、常に取得できるのでしょうか?
それとも、たまたま取得できただけですか?
0308デフォルトの名無しさん
垢版 |
2018/07/06(金) 11:41:52.45ID:XiAowgcv
headless chromeをpuppeteerで操作すればchromeが解釈した通り完全に同じjs適用後DOMそのまんま取れるのにね。
それどころかそのページのjsのDOM操作進行途中に任意のタイミングのDOM状態のスナップショットすら取れる。
オワコン言語とオワコンライブラリ使ってる人たちはする必要のないムダな苦労をしてて笑えるw
0309デフォルトの名無しさん
垢版 |
2018/07/06(金) 15:50:44.43ID:ZeoS3uJb
今はやりの(需要急上昇中の)ブロックチェーンやAI、ディープラーニングを
扱いやすい言語はどれなのでしょう
0310デフォルトの名無しさん
垢版 |
2018/07/06(金) 16:03:07.01ID:LdCqv7/c
まずブロックチェーンはPythonですね。
それからAIはPythonです。
最後にディープラーニングはPythonでしょうね。
実際に本屋の棚ご覧になったら分かると思いますよ。
実用に重きを置いた言語なのでPython “で” 学ぶ○○というようなタイトルの本が山ほど出てます。
言語 “を” 学ぶどこかの楽しい()プログラミング言語とは違うんですね〜w
0311デフォルトの名無しさん
垢版 |
2018/07/07(土) 00:44:31.15ID:2pBJ38ue
>>310
Pythonの得意な分野はPythonですね、って言ってるだけな感じが…
AIとディープラーニングなんて隣り合わせの分野だし
0312デフォルトの名無しさん
垢版 |
2018/07/07(土) 02:53:10.15ID:qW6pJkzR
Rubyがサーバ取っちゃった事ってそこまで発狂するほどの事?
主流のレンタルサーバはRubyを常備してるけど

あ、これにかこつけて荒らしてるのか
0315307
垢版 |
2018/07/07(土) 08:17:33.38ID:WQWh8zSt
>>308
Ruby・Selenium Webdriver からも、JavaScript(JS) を実行できる。
以下では、Showroom のアバターなどを削除している

できれば、Ruby で書いて、JS で書く割合を減らしたい。
JS は面倒くさい。JS で書くぐらいなら、Haxe にするわ

# 要素の削除
jsCode = <<'EOT'
var elements = document.getElementsByClassName( 'footer-menu' ) ;
elements[0].parentNode.removeChild(elements[0]) ;

var elem = document.getElementById('js-avatar');
elem.parentNode.removeChild(elem);
EOT

# JavaScript を実行
driver.execute_script jsCode
0317デフォルトの名無しさん
垢版 |
2018/07/07(土) 10:14:41.30ID:9yAkMIuA
>>315
それはお前が面倒くさい書き方しか知らないからでは?

# 要素の削除
jsCode = <<'EOT'
$( '.footer-menu, #js-avatar' ).remove();
EOT

お前が書いたそれ、一行で終わるんだわ
■ このスレッドは過去ログ倉庫に格納されています

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