X



Ruby 初心者スレッド Part 63
レス数が1000を超えています。これ以上書き込みはできません。
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/
0002デフォルトの名無しさん垢版2018/04/17(火) 17:47:44.88ID:GYuBFjQi
たのしいRuby 第5版、2016

Effective Ruby、2015

メタプログラミング Ruby 第2版、2015

Rubyのしくみ、2014

改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015

リファクタリング:Rubyエディション、2010
0003デフォルトの名無しさん垢版2018/04/17(火) 17:53:45.90ID:eJBGJJjx
たのしいRuby 第5版、2016

Effective Ruby、2015 (中級者向け)

メタプログラミング Ruby 第2版、2015 (中級者向け)

Rubyのしくみ、2014 (中級者向け)

リファクタリング:Rubyエディション、2010 (中級者向け)

プロを目指す人のためのRuby入門 2017

オブジェクト指向設計実践ガイド Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方 2016

改訂2版 パーフェクトRuby 2017
0005デフォルトの名無しさん垢版2018/04/17(火) 18:49:08.77ID:zAA2UPUw
おことわりします
0007デフォルトの名無しさん垢版2018/04/17(火) 22:35:04.31ID:OguVeWqq
Seleniumデザインパターン&ベストプラクティス、2015、オライリー

Rubyによるクローラー開発技法
巡回・解析機能の実装と21の運用例、佐々木拓郎・るびきち、2014


他にも、多言語の著者、山田祥寛・掌田 津耶乃などの本や、
YouTube には、伊藤 淳一の動画が、一杯ある
0008デフォルトの名無しさん垢版2018/04/18(水) 01:41:24.52ID:UfQjex1N
jsがdomをいじる可能性が捨てきれない以上httpレベルで行うライブラリは筋が悪い。
seleniumは本物のブラウザに仕事させる筋がよい方法だがよくも悪くもキッチリ抽象レイヤー分けられてて準備が若干面倒。
対してchrom/chromium専用のpuppeteerは非常に楽。ただブラウザ取っ替え引っ替えできるseleniumほどの汎用性は失われてしまう。
試してみよう
https://try-puppeteer.appspot.com
0011デフォルトの名無しさん垢版2018/04/19(木) 01:29:25.23ID:1cJQKo+w
RubyGemsに公開したいのですが、アップロード出来ないんんです。
だれか教えて下さい。

Ubuntu: 17.10
ruby: 2.3.3p222
gem: 2.7.6
Bundler: 1.16.0

gemfilespecファイル修正済

RubygemsのAPIキーを取得済


rake release



rake aborted!
WARNING: See http://guides.rubygems.org/specification-reference/ for help
ERROR: While executing gem ... (Gem::InvalidSpecificationException)
["WWWCHtmlConverter-0.0.1.gem"] are not files
/var/lib/gems/2.3.0/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => release => build
(See full trace by running task with --trace)

エラーが出てきます。
0012デフォルトの名無しさん垢版2018/04/19(木) 01:43:28.46ID:1cJQKo+w
>>11
ごめん。こっちのログだった

rake aborted!
There are files that need to be committed first.
/var/lib/gems/2.3.0/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => release => release:guard_clean
(See full trace by running task with --trace)
0014デフォルトの名無しさん垢版2018/04/19(木) 04:13:46.67ID:1cJQKo+w
>>13
ありがとうー
これからやってみるー
0015デフォルトの名無しさん垢版2018/04/19(木) 05:53:41.52ID:1cJQKo+w
>>14
ありがとうございます。
出来ました。
0016デフォルトの名無しさん垢版2018/04/21(土) 16:54:31.86ID:cvoYs6G3
ERBってあるけどさ、みんなHashを渡したいって
言ってるけど(実際できるようになったけど)
あれの正しい使い方ってクラスメソッドの中で使うんだよな
0018デフォルトの名無しさん垢版2018/04/24(火) 03:20:27.72ID:iHwVj+7Z
rspecの書き方で

it { is_expected.to be_truthy }

っていうのはワンライナーで英語っぽく読めるように
なってるっていうのはわかるんですが

it { expect(subject).to be_truthy }
も英語っぽいのでしょうか?

ようするに、
it expect subject to be truthy が英語の文章として
成り立っているのか?ってことです。
(subjectの部分がおかしいなら別の名前に置き換えても構いません)
0021デフォルトの名無しさん垢版2018/04/25(水) 22:11:14.10ID:SV4PQS95
timesやらかっこ抜きやら「英文っぽく書けます」ってのは当初作者が著書で自慢してただろ。
都合悪くなったらすぐこれだ。
最後に開き直るのなら、始めから飾らねばよい
0023デフォルトの名無しさん垢版2018/04/25(水) 23:51:29.74ID:b4184ehS
テストをユーザ側の非プログラマが読んで把握、指摘できるようにと言うのが大きいと思う。
日本だとそもそも非プログラマがテストをレビューすることが稀だし、このレベルの英語ですら読むことを放棄するユーザが多いからメリット少ないだろうけど。
0024デフォルトの名無しさん垢版2018/04/26(木) 00:02:46.93ID:u8Kr3aoo
rspecの場合は、テストじゃなくて仕様なので
読めることに意味があるんだよ。

先に仕様を書くだろう?
0025デフォルトの名無しさん垢版2018/04/26(木) 12:50:55.47ID:upDf81+N
Excel の仕様書とテストコードの2つを、同期して管理するのは無理。
2つが同期しないようになってしまう

バグらない大原則は、
1 fact 1 place

ソフトバンクなんて、印刷さえさせない。
印刷物とリポジトリ内のデータが、同期しないから

印刷物を作ると、古い情報をもとに、打ち合わせされるから
0028デフォルトの名無しさん垢版2018/05/08(火) 16:55:33.62ID:75TKeVia
情報公開ω
0029デフォルトの名無しさん垢版2018/05/19(土) 13:59:24.62ID:OcRErBRk
スレ違い荒らしの、Rubyクズ野郎、次見かけた時点で報復にお前の大好きなRubyスレをゲロ画像とうんこ画像で埋めてやるわ。いい加減頭来た
0030デフォルトの名無しさん垢版2018/05/23(水) 19:27:40.33ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

NHWYV
0032デフォルトの名無しさん垢版2018/05/25(金) 09:53:07.86ID:gd/oxjVv
yaml は、複数行コメントが無いし、
json も、コメントできない

結局、Ruby のクラスに、データを書いて、読み込んだ方がわかりやすい

require_relative 'abc'
0033デフォルトの名無しさん垢版2018/05/25(金) 12:56:15.36ID:VJLWwHlN
お前が何と言おうがRubyのDSL(笑)によるツールでまともに処理できないという致命的欠陥があるから、
JSONのように広く使われるようになることは永遠にないよ
0035デフォルトの名無しさん垢版2018/05/25(金) 13:02:59.30ID:VJLWwHlN
あと、読み込むためにRubyスクリプトとして実行する必要があるから、
極めて危険なスクリプトインジェクション脆弱性の原因になる恐れが非常に高い
0038デフォルトの名無しさん垢版2018/05/26(土) 15:58:42.74ID:evf9Cx97
舐めてんのかw

社会のことなにも分からない初心者ですが1000万振り込んでくれませんか?
004037垢版2018/05/26(土) 17:41:17.41ID:ZiYgif6K
解決しました。お手数をおかけしました。
0041デフォルトの名無しさん垢版2018/05/29(火) 03:12:59.89ID:WYJf2Nhe
Ruby技術者認定試験って既にサポートの終わった2.1.xを対象にしているけれど、大丈夫なん?
2.2.xが今年でサポートが終了したのに、それよりも前のもの使ってて、資格としての評価はどうなんだろうと。
0042デフォルトの名無しさん垢版2018/05/29(火) 07:25:50.10ID:t0fuGds+
>>3
の「パーフェクトRuby」の次に追加

パーフェクト Ruby on Rails、2014
動作環境、Rails 4.0.5, 4.1.1

>>7
修正

>YouTube には、伊藤 淳一の動画が、一杯ある
YouTube には、伊藤 淳一、Traversy Media の動画が一杯ある

https://www.mirrorcommunications.com/blog/how-to-install-ruby-on-rails-on-windows-10-with-postgresql

2017/04/22, Windows10, WSL, Ruby 2.4.1, Rails 5.0.1
動画もある
0043デフォルトの名無しさん垢版2018/05/29(火) 08:18:19.24ID:PJjgf8Bj
>>41
そんなの履歴書に書いても「十分な経験とスキルがないからこんな資格に頼るんだな」と思われるだけだよ
「〜で〜の立場で〜使って〜作って〜を成し遂げました」の方が1000倍意義がある
IPAの資格とかなら地力を上げる意味では有効だけど、プログラミング言語の資格なんて全くの時間の無駄
そんな暇があったらランサーズで小遣い稼ぎでもやったほうが遥かに有意義
0044デフォルトの名無しさん垢版2018/05/29(火) 22:03:09.01ID:moEWzQnF
>>43
ランサーズってマジで言ってますか?
あんな情弱御用達サイトが有意義って言葉が入ってると発言内容まるごと説得力零なんすけど
0046デフォルトの名無しさん垢版2018/05/30(水) 17:06:55.98ID:2tcd6pNv
rubyの最適化抑制のオプションを教えて欲しいです。
たとえばgccの-O0(最適化の無効)オプションのような。
0049デフォルトの名無しさん垢版2018/06/03(日) 00:49:00.04ID:APl1l8UR
rubyでOpenglをぐりぐりするの好き
どこかの出版社さんで、ruby中上級者向けのOpenglの本をしっかり設計したソースコードの付録付きで出してくれないかな

自分で横着して書いたコードでも遊べてるけど、
しっかり設計したコード付き書籍がでたら改造や流用目的で買うんだけどな
0050デフォルトの名無しさん垢版2018/06/03(日) 17:19:43.05ID:61rBdT8v
いいかげんお前以外にそんなことをやっている人はいないことに気付こう
終わった言語で今時OpenGL直叩きなんて、そんなことやってるのは世界で数えるほどしかいないから、ニーズなんか全く無いので本なんか永遠に出ないよ
口を開けて餌が来るのを待つのではなく、むしろ君自身が第一人者であるという自覚を持ち、自分で発信しなさい
0053デフォルトの名無しさん垢版2018/06/03(日) 18:15:47.70ID:FIkbW6E2
rspecの勉強しているのですが、subjectやワンライナーって
使うべきじゃないんですか?
0055デフォルトの名無しさん垢版2018/06/03(日) 18:33:25.36ID:FIkbW6E2
なんかrspecを知ってからBDDを知った感じなんですけど(言葉自体は知ってましたが)
rspecの命令ってBDDとしては異端なんですかね?

it、expect よりも、Given、When、Thenの方がいいんでしょうか?
0058デフォルトの名無しさん垢版2018/06/03(日) 19:06:52.47ID:FIkbW6E2
テストに詳しい人っていないな・・・
テストの書き方とかじゃなくて思想的な点で
0059デフォルトの名無しさん垢版2018/06/03(日) 19:25:04.69ID:61rBdT8v
実際Rubyistってテスト書いてないからな
Railsで粗製乱造されるようなよくある単純なCRUDアプリにテストは大袈裟
0060デフォルトの名無しさん垢版2018/06/03(日) 20:45:11.61ID:nux4fYCA
>>59
大嘘乙
テストを書かないならRSpecがここまで使われてはいない

終わった言語とか言ったりしてRubyを貶めたい人間の妄想だよ
0062デフォルトの名無しさん垢版2018/06/03(日) 20:58:01.53ID:nux4fYCA
>>61
使われてないなら頻繁なバージョンアップしてないよ
使われてるからフィードバックがあってバージョンアップしてるんだよ
0064デフォルトの名無しさん垢版2018/06/03(日) 21:07:39.68ID:dimsdMna
>>62
バージョンアップの証拠ではなく
使われている証拠をお願いします。

それがないのであれば訂正してください
テストを書かないならRSpecがここまで頻繁にバージョンアップしてはいないと
0065デフォルトの名無しさん垢版2018/06/03(日) 21:08:46.67ID:nux4fYCA
>>62
使われてないものはバージョンアップされない
フィードバックがあってこそ新たな機能が入ったりしてバージョンアップされる
0068デフォルトの名無しさん垢版2018/06/03(日) 21:27:17.02ID:nux4fYCA
>>67
これで理解できないなら、使われてないことにしたいようにしか見えないよ
Rubyは終わった言語だと言ってた人と同一人物ですか?
0069デフォルトの名無しさん垢版2018/06/03(日) 21:37:46.46ID:8gLBE5WN
>>68自身は当然テスト書いてるんだろ?
バージョンアップだの何だの遠回しな話ししてないで「俺は書いてる」と一言言って何作っててどういうテスト書いてるのか説明して、
質問者に軽くアドバイスしてやればいいじゃないか
0070デフォルトの名無しさん垢版2018/06/03(日) 21:40:00.84ID:Six28wK2
>>62
俺、自作ソフト100回以上バージョンアップしてるけど俺しか使ってないぞ。
使う人が多いからバージョンアップされる、の反例として。
0072デフォルトの名無しさん垢版2018/06/03(日) 21:40:52.10ID:nux4fYCA
>>69
俺がというよりバージョンアップの方がはるかに説得力あるだろ
俺だけが使ってるわけじゃないということが分かるんだから
0073デフォルトの名無しさん垢版2018/06/03(日) 22:38:26.21ID:E53R3BDh
YouTube にある、セレブエンジニアの小松和貴の動画を見れば?
未経験者が月50万円を稼ぐ方法

無料のRails チュートリアルをやって、
フリーエンジニアになるのが最も速いって言ってる

求人も、Ruby の方が、Python よりも多い

クックパッドは、RubyVM の作者・笹田耕一を採用した。
Rubyで世界制覇を目指している!
0074デフォルトの名無しさん垢版2018/06/03(日) 22:43:46.67ID:uRNsS3HD
そういう用途ならpythonがいいよ
0075デフォルトの名無しさん垢版2018/06/04(月) 00:18:16.08ID:efjhcfbb
自営だと月50万じゃ全然いい生活出来ないぞ。その程度でセレブとか草。保障のない将来にまったく備えず月越しの金は持たない主義で消費するならともかく。
サラリーマンの少なくとも二倍、欲を言えば三倍程度稼いでやっと月並みで安心できるかな。
0077デフォルトの名無しさん垢版2018/06/04(月) 01:00:53.56ID:KSC6atc3
まーたID変えて自演でネガキャンしてるのか
ホント懲りないな

散々、住民からボコられてたろ
去年の過去スレにログが残ってるぞ?
はやくrubyコミュで発言して本人確認させたれよ
0080デフォルトの名無しさん垢版2018/06/04(月) 07:09:01.62ID:rwMJMANS
>>65
バージョンアップの頻度は使っている人数の多さの参考にはならない

マメなコントリビューターかそれに近い人だけがたとえ1人でも使っていれば
バージョンアップは自然と進む
0083デフォルトの名無しさん垢版2018/06/04(月) 09:18:16.84ID:gu22rR49
何故いきなり自己紹介!?
0084デフォルトの名無しさん垢版2018/06/04(月) 18:15:56.44ID:TOJuP6eI
pythonに負けたんだ
もう決定的な差が付いてしまった
認めるしかない
0085デフォルトの名無しさん垢版2018/06/04(月) 22:06:35.89ID:uG1oj6Z8
matzはRuby Kaigiで、「Ruby is dead every year」とか言ってたようだねw
死んだとか言いたいやつはどこにでもいるってことだねー
0087デフォルトの名無しさん垢版2018/06/05(火) 02:58:36.42ID:wc4w0SUO
COBOLも現役だったな
0089デフォルトの名無しさん垢版2018/06/05(火) 09:14:15.69ID:vyKZFDS5
さすがに一緒にするのはCOBOLに失礼
世のRailsアプリが明日全部消えても大したことはないけど、
COBOLが消えたら誇張抜きで世界経済崩壊、WWIII突入やで
0093デフォルトの名無しさん垢版2018/06/05(火) 20:03:49.24ID:Jf7FVHT0
Microsoftが買ったから宣伝のためにtypescriptのフレームワークか.netのフレームワークで書き直すやろ。宣伝のために。
0095デフォルトの名無しさん垢版2018/06/05(火) 21:35:04.38ID:wc4w0SUO
ここまで自演で書き込めのはすごい
0096デフォルトの名無しさん垢版2018/06/06(水) 11:51:12.71ID:I9hgDbEz
>>93
アホなバグ埋め込むのやめれ
0098デフォルトの名無しさん垢版2018/06/06(水) 13:52:50.69ID:YRbdpVel
>>97
そう。gitやgithub自体は大した問題にはならない。
だが、それを使ってるユーザーが、自滅するんだよ

(問題ないのに)これは大変だ!大問題だ!逃げろや逃げろ!
そうして自ら破滅の道へと逃げ込むw
0099デフォルトの名無しさん垢版2018/06/06(水) 14:36:22.26ID:+QQoctDg
運営基盤がMicrosoftになったことで、企業も安心して使えるようになりました。
0101デフォルトの名無しさん垢版2018/06/06(水) 15:09:15.51ID:x7s61f1u
rubyistは不安で夜も眠れないんだが?
0104デフォルトの名無しさん垢版2018/06/06(水) 16:32:08.16ID:YRbdpVel
ジョブズ「グアアアア」(死亡)
(部屋の中)
ゲイツ「ジョブズがやられたようだな…」
リーナス「フフフ…奴は四天王の中でも最弱…」
三波春夫「膵癌如きにやられるとはIT業界のツラ汚しよ…」
0106デフォルトの名無しさん垢版2018/06/06(水) 23:13:40.97ID:a2kO+rlN
調べたらここ同様、他のスレも荒らされてる
荒らしはいったい何を考えてるんだ?
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やりたい人って
適材適所とか判断できない人なんだろな
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のようなちゃんとしたプログラミング言語と同列に
扱ってはいけない。
0210 ◆QZaw55cn4c 垢版2018/06/18(月) 01:04:27.72ID:OiAJbwiy
>>207
>定義を与えてから論を進めるのは科学的思考の基本
無定義語というのもありますが
「線」「点」はユークリッドも定義していません

>RubyもPythonも評価は低い。
「あなたの」評価が低いだけなのでは?
0211デフォルトの名無しさん垢版2018/06/18(月) 01:05:11.72ID:N12QMbNB
>>207
長文の割りに中身が少ないな

>コンピュータにとって美しい言語
>アセンブラの方がまだ親しみやすい
LISPは高水準言語だから逆だよ

大多数にとって読み書きしにくいのはそうだろうが
関数型言語の元祖なんだから
コンピュータのための記法ではない
人間のための記法だよ

逆にC/C++のポインタなんかは
アセンブラの低水準の仕組みが残ってる


>大前提として、変数の宣言と型づけができない言語は駄目
それはたんなる趣味

型推論の時代だから動的/静的型付けに
そんなにこだわる意味も薄れてきてる
0214デフォルトの名無しさん垢版2018/06/18(月) 22:30:18.55ID:wpApFxp0
>>211
処理が高水準か低水準かと、記法が人間にとって親しみやすいかとは別物。
アセンブラの名残りと言えば、CだけでなくRubyもPythonも配列の添字が
0から始まる点でそうだろ。日常生活や数学の感覚では1から始まるのが自然。
Pascalは任意の整数、BASICは0か1かを選択できる。

C#では型推論が導入されたが、プログラマの判断で場面に応じて使うことも
できるだけで、従来の型がなくなったわけではないし、従来の型の方が頻繁に使われる。
何でも丸呑みしかできないうわばみとは違う。

Pythonは構造化に関しても不完全というか履き違えたオフサイド・ルールが駄目だね。
HTMLやLaTeXなどの文書マークアップ言語の基本は、構造と書式を混同しないこと。
文書の構成要素に対して書式を直接指定するのではなく、構造を指定し構造に書式を
割り当てるのが作法。プログラミング言語の構造化も同様で、タブやスペースによる
インデントは表層的な書式に過ぎず、本質的な構造は{と}やbeginとendで囲むことにより
明示すべきもの。

Pythonによる構造と書式の混同は、不作法なだけでなく実地上の問題も生む。
例えば、5ちゃんねるにソースコードをコピペで書き込むと、タブと半角スペースが
除去されてしまい、ifなどの制御ブロックがどこまでなのか全く分からなくなってしまう。
C系やPascalならば書式が失われても構造は残るので、プログラムの動作は変わらないし、
標準的な書式を復元することもできる。

この点では、endを使うRubyはPythonと違ってまともだな。
0216 ◆QZaw55cn4c 垢版2018/06/18(月) 23:08:00.86ID:OiAJbwiy
>>214
>数学の感覚では1から始まるのが自然
日常の感覚はともかく、数学では自然数が必ず 1 から始まるとは限らない、これは一々確認しないといけないもの
0219デフォルトの名無しさん垢版2018/06/19(火) 09:03:02.03ID:9hRUW1Ne
LISPが複雑怪奇で読みにくいってコイツマジで言ってんのかよ
あれだけ直観的な表記なのに
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びいき筋以外のフラットな立ち位置からの情報はないの?
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

お前が書いたそれ、一行で終わるんだわ
0321デフォルトの名無しさん垢版2018/07/07(土) 14:21:22.24ID:IMiijYtR
じゃあネイティブapiのquerySelector使えばいいだけ
>>315みたいなゴミのような書き方はここ10年くらい見たことない
0322307垢版2018/07/07(土) 14:53:16.71ID:WQWh8zSt
5ch を、Selenium Webdriver で、Chrome に読み込んで、
Nokogiri で、DOM を更新して、ページを改変しようとしても、エラーになる

スレの書き込みに、画像リンクがあると、
それをその投稿の次に、表示しようとしているのだが

ずっと、JavaScript が動き続けているからかな?
エラーになる。なんでだろ?

C:/Ruby24-x64/lib/ruby/2.4.0/net/protocol.rb:229:in `write': An existing connection was forcibly closed by the remote host. (Errno::ECONNRESET)

画像リンクだけを取り出して、新しいページを作った方が良いのか?
0323デフォルトの名無しさん垢版2018/07/07(土) 15:31:07.44ID:rZ44pQg6
コネクションをいったん切ればいいんじゃないの?
サーバー側が同一クライアントの同時複数のコネクションを受け入れないとか?
0324307垢版2018/07/07(土) 16:20:48.78ID:WQWh8zSt
>>315
みたいに、Selenium Webdriver から、JavaScript(JS) で、
Showroom のアバターなどを削除しても、動画はちゃんと見れる

Nokogiri で、DOM を更新すると、ダメなのかな?
DOM を追加するのが、ダメなのかな?

315 では、DOM を削除しているだけだから、エラーが起きないのかな?

5ch は、設計・プログラムも素人レベルで悪いから、ずっとDOMをループし続けているとか、
何かDOMを更新できない理由が、あるのかも知れない

しょせん、他人の書いたアプリは、どうにもならない。
時間を掛けて解析するのも、馬鹿らしい
0325デフォルトの名無しさん垢版2018/07/07(土) 18:51:22.03ID:qW6pJkzR
自演定期
0326デフォルトの名無しさん垢版2018/07/08(日) 17:36:44.46ID:lqYIX4pf
RubyでwinAPI呼んで直接ウィンドウを作ったりしてるけど、
良く考えれば便利だなこれ
0334デフォルトの名無しさん垢版2018/07/08(日) 21:20:42.68ID:lqYIX4pf
GUIライブラリつかわなくても直にあつかえるのって便利だろ
0337デフォルトの名無しさん垢版2018/07/08(日) 23:55:35.27ID:J51ImK5v
たいてい初心者、経験数年レベルのプログラマは自分が知っているプログラミング言語だけで何でもやりたがる。
0339デフォルトの名無しさん垢版2018/07/09(月) 01:51:59.13ID:kOeOAQF1
顔真っ赤にして何言ってんだ?
0340デフォルトの名無しさん垢版2018/07/09(月) 01:59:03.58ID:kOeOAQF1
>>338
というかおまえ、IPの出るスレに何度も書き込んで大丈夫か?
0341デフォルトの名無しさん垢版2018/07/09(月) 23:56:19.18ID:VvXI6zyQ
>>340
IPアドレスが出ていて何か問題なのか?

この手の話はよくわからない。
0345342垢版2018/07/10(火) 15:33:28.47ID:LbQkaO6y
5ch の書き込み内の、画像のURL <a> を、
自動的に開くように、<img> に変換しようと思って

乃木坂板などで、一々、クリックして開くのが面倒だから

5ch ブラウザもたくさんあるけど、Ruby 製のは無いだろうし
0346デフォルトの名無しさん垢版2018/07/10(火) 17:52:47.18ID:eKj/muC/
pythonのはあるよ
0348デフォルトの名無しさん垢版2018/07/11(水) 02:46:20.49ID:Zqsgthqv
>>346
先日言ったけどおまえ、IP表示スレに何度も書き込んでるよな
その上で荒らし行為を続けてるのか?
0350デフォルトの名無しさん垢版2018/07/11(水) 04:33:24.67ID:Zqsgthqv
ID換えて自演してるって何スレも前からずっと指摘されてるだろ
何、なかった事にしてるんだ?
0352デフォルトの名無しさん垢版2018/07/11(水) 05:04:48.52ID:A6luu057
ルーピィ信者「お前のIP抜いたからな!友だちのスーパーハカーに頼んで個人情報晒してやる!」
2000年代のネットかよワロタwww
さすがルーピィまるで成長しないwwwww
0353デフォルトの名無しさん垢版2018/07/11(水) 05:22:07.67ID:Zqsgthqv
おまえが自分でIP表示スレに書き込みしたんだろうが
何寝ぼけてんだおまえ

つーかレス稼ぎでこんな事やるな
0354デフォルトの名無しさん垢版2018/07/11(水) 09:09:50.96ID:A6luu057
だからそのスレがIP表示かどうかなんていちいち気にして書いてねーっつーの
お前が「うわーんスーパーハカー()にコジンジョウホウ()晒されちゃうよ〜」って大騒ぎしてるとして、なーんで他人もみーんなお前みたいにバカ晒してると思い込んじゃうかなぁwww
0355デフォルトの名無しさん垢版2018/07/11(水) 09:33:52.70ID:l7TCKUBX
sinatraでグローバルで変数を定義してもリクエストの度に初期化されてしまうんですが
値を保存し続ける方法はないでしょうか?
0356デフォルトの名無しさん垢版2018/07/11(水) 10:11:19.06ID:lydt4eTq
シナトラのシナをぐーるぐるとって
シナトラのシナをぐーるぐるとって
シロトラにつけたらシマトラ! 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
0357デフォルトの名無しさん垢版2018/07/11(水) 12:33:41.39ID:I//Y0R5O
よく知らないけど、OS の環境変数とか、

sinatra や各アプリの設定ファイル・Database とか
0358デフォルトの名無しさん垢版2018/07/11(水) 13:14:11.39ID:I//Y0R5O
System.getProperty("line.separator")
System.lineSeparator() //JDK1.7

System.out.printf("あ%nい");

Java では、OS に依存しない改行コードを、これで表せるけど、
Ruby ではどうやるの?

Windowsでは”\r\n”、UNIX系では”\n”
0359デフォルトの名無しさん垢版2018/07/11(水) 13:22:47.14ID:L0DC21ns
そんなものは必要ない。
なぜならRubyはUNIXに強く依存しておりUNIX以外で使うことが想定されていないから。
こんなことを言うと被差別ドザ民はRubyInstallerがあると反論するかもしれないが、RubyInstallerはMSYSを使っておりUNIXを内包している。
0360デフォルトの名無しさん垢版2018/07/11(水) 13:28:48.60ID:sci4nRck
RubyがWinとGUIへの親和性が低いのが
ランキング上位言語に勝てなかった要因のひとつ
0362デフォルトの名無しさん垢版2018/07/11(水) 14:43:43.88ID:niqZSUUp
逆に、Pythonだと問答無用でCRLFになって、LFで統一したいと思うとめんどくさくなる。
Javaの様にどっちでも簡単にできる方がいい。
0363デフォルトの名無しさん垢版2018/07/11(水) 15:15:24.15ID:Zqsgthqv
おい、Rubyスレから出てくるなよ
何しれっとIP切替えて他スレに書き込んでるんだ
0364デフォルトの名無しさん垢版2018/07/11(水) 17:36:52.81ID:E99jt7Z3
>>362
ならねーよ馬鹿
0365デフォルトの名無しさん垢版2018/07/11(水) 22:15:05.86ID:Zqsgthqv
また板を荒らしてるのか
0366デフォルトの名無しさん垢版2018/07/11(水) 23:58:57.81ID:Zqsgthqv
IP表示スレに書き込んだ上で荒らし行為とか頭がおかしい
0367デフォルトの名無しさん垢版2018/07/12(木) 00:27:48.19ID:gpOSM7dO
思い込みか決めつけか、どっちにしろ頭おかしいのはお前。
で、具体的にどれよそのIP表示スレとやらは?
犯罪者のお前と違ってまっっっっっったく意識してないからどのスレかなんて覚えてないぞ。
0368デフォルトの名無しさん垢版2018/07/12(木) 05:03:59.31ID:OSngjU1a
過去ログ見たけど最近ずっと荒らされているねここ
毎回「私は荒らしじゃないよ」って言いながらネガキャンしている人いるし
何があったの?
0371デフォルトの名無しさん垢版2018/07/12(木) 06:19:43.21ID:UjZ0bFJI
IP表示して自分で荒らし行為してますって宣言してるからどうしようもない
何度もおかしいって忠告してるのに
0373デフォルトの名無しさん垢版2018/07/12(木) 08:48:15.34ID:ax9CLQnp
>>369
ほんまこれ
なんも荒れてない時にも湧いてくるから意味不明だわ
んできっと俺も荒らしの自演認定されるんだろな
0374デフォルトの名無しさん垢版2018/07/12(木) 14:34:01.53ID:ObTIOCwS
>>368
この様にして毎回荒らされるんです
>毎回「私は荒らしじゃないよ」って言いながら
まさにこの通り
0375デフォルトの名無しさん垢版2018/07/12(木) 15:53:09.16ID:Vvh/EchF
IDを変えられるという事はこれ以降も荒らしが出てくるのか

出てくる度にチェンジって言ってやれば良いんじゃね?
0376デフォルトの名無しさん垢版2018/07/12(木) 19:06:24.92ID:oA3iTrfs
CとRubyの繋ぎで構造体をやり取りしたいんだけど、

require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
extern('int gettimeofday(void *, void *)')
Timeval = struct( ["long tv_sec",
"long tv_usec"])
end

timeval = M::Timeval.malloc
e = M.gettimeofday(timeval, nil)

if e == 0
p timeval.tv_sec #=> 1173519547
end

上のコードよりもっと簡単な方法って何かない?
0379デフォルトの名無しさん垢版2018/07/12(木) 23:05:08.42ID:oA3iTrfs
>>377
>>378

チェンジ
0380デフォルトの名無しさん垢版2018/07/13(金) 20:25:59.28ID:NaTEQMZW
Rubyはじめようと思ったけど
MacにRailsをインストールできなくてつんだかとおもたわ
0383デフォルトの名無しさん垢版2018/07/13(金) 23:44:04.04ID:2LuiASc+
運用情報板でここの荒らしが盛大に自演をミスって自爆
本当に何を考えてんだ荒らしは

>>376
[1,2,3,4].pack("iiii")
みたいな感じで配列をパックして文字列として渡す
0385デフォルトの名無しさん垢版2018/07/14(土) 22:42:07.24ID:Mvzxn60j
ttps://qiita.com/is-lab/items/e0443b79da117ed48294
homebrewとrbenvのインスコ方法はぐぐればすぐ見つかる
0386デフォルトの名無しさん垢版2018/07/15(日) 11:53:49.50ID:3AmTzi+H
つまりいちいちググらないといけない。
すぐ使えない。
0387デフォルトの名無しさん垢版2018/07/15(日) 13:39:49.06ID:jvo4M5NJ
えーそれはさすがに無理だろー!?
無知な状態からググる必要があるのは
Ruby以外のどんな言語でも同じだろー?
0389デフォルトの名無しさん垢版2018/07/15(日) 13:49:38.29ID:MJAsPMzW
>>376
dl/win32の頃はarrayをpackしてわたしてた
require 'Win32API'
api = Win32API.new('foo.dll', 'foo', 'p', 'v')
args = ["\0" * 256, "\0" * 256, "\0" * 256]
api.call(args.pack("p3"))
0390デフォルトの名無しさん垢版2018/07/18(水) 04:03:49.75ID:QgYi3fpw
ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [i386-mingw32]

この式だとシンタックスエラーと表示される。
p { a: 1, b: 2, c: 3}.map{ |k, v| [k,v * 10] }

hash_a =をつけると正常になる。
p hash_a = { a: 1, b: 2, c: 3}.map{ |k, v| [k,v * 10] }

上の式だとなにかに代入しないのでシンタックスエラーになったのでしょうか?
0392デフォルトの名無しさん垢版2018/07/18(水) 07:46:29.71ID:sfr3l4yF
p({ a: 1, b: 2, c: 3}.map{ |k, v| [k,v * 10] })

と書けばいいと思うよ

p(に限らずメソッド名)の後に{が続くとブロック引数と解釈されるので
それに続く記述は式になっていないと構文エラーになる…んじゃないかな
ちゃんとparse.y読んでないからわからんけど
0395デフォルトの名無しさん垢版2018/07/19(木) 13:16:20.54ID:ZMW1ym8c
静的から来たんなら一発でリファクタリング不要なの創れ
0396デフォルトの名無しさん垢版2018/07/19(木) 13:49:54.32ID:qcbfzO+6
つまり動的型付け言語ではなく静的型付け言語を作れと?
TypeScriuptみたいに、TypeRubyを作れってことですかな?
0398デフォルトの名無しさん垢版2018/07/19(木) 14:03:03.18ID:ZMW1ym8c
>>396
がんがれ
0400デフォルトの名無しさん垢版2018/07/19(木) 15:04:37.31ID:QlKeHbXC
作ろうかな。その名も「なんちゃってCrystal」
0401デフォルトの名無しさん垢版2018/07/19(木) 18:03:08.91ID:+Po4h/oD
書き込み時間みたらここまで全て自演か

質問・雑談スレ357@運用情報板
http://agree.5ch.net/test/read.cgi/operate/1530175433/
のスレの星もちって言われてる人が自演でここを荒らしてるので気をつけてね
0403デフォルトの名無しさん垢版2018/07/20(金) 03:08:49.88ID:/pvYBo5v
>>402
お前が例の荒らしなの?
というか人の質問ぶっちしてよくも荒らしてくれたな
失せろ
0404デフォルトの名無しさん垢版2018/07/20(金) 03:16:38.47ID:1XJtiOGK
この人は本物のアレな人なんで、これからもずっと居続けるだろうし、
我々が我慢するしかないのですよ
0405デフォルトの名無しさん垢版2018/07/20(金) 03:37:35.66ID:ez2x5oas
やっぱりそうだったか
ID:/HPmTQSMはNGにつっこんで無視するとして自演はどうする?
いくらでもIDを変えられるだろこいつ
0407デフォルトの名無しさん垢版2018/07/20(金) 04:10:11.54ID:VbQ1skD1
荒らしを擁護する奴とか明らかにネガキャン狙いの奴は自演だろうし、
片っ端からチェンジで良いんじゃね?
0408デフォルトの名無しさん垢版2018/07/20(金) 07:18:12.34ID:jshWd164
初心者質問ですいませんがwebサービスを実装した時の認証って一般的にはどのようにしているのでしょうか

単純なhtmlからajaxでwebサービス叩くのは簡単ですが、認証も伴うとなるとgetやpostでどう実現しているのか不思議に思いまして
0410デフォルトの名無しさん垢版2018/07/21(土) 22:42:46.60ID:R3kyCjkl
今、mrubyってのを組み込み用に作ってるんだよな確か
Cで書かれてる実装の移植じゃダメな理由でもあるの?
0412デフォルトの名無しさん垢版2018/07/21(土) 23:14:05.95ID:BkDv2dG7
> 今、mrubyってのを組み込み用に作ってるんだよな確か

今・・・作っている・・・?

もう何年も前から聞く名前だが
終わらないプロジェクトじゃないかw
0413デフォルトの名無しさん垢版2018/07/21(土) 23:24:14.10ID:PhJqS+u6
誰も何も要求してないから要求仕様というものが無いwwwww
打出の小槌wwwww
0415デフォルトの名無しさん垢版2018/07/21(土) 23:41:32.25ID:H6KFndt4
補助金貰ってるから作ってるポーズだけは続けなきゃいけないんだよ
MRIのコミッタ達が飯食えなくなったらそれこそ終わりだぞ
0416デフォルトの名無しさん垢版2018/07/21(土) 23:43:21.12ID:HTyh/4m5
Rubyと組み込みってあんま相性良さそうに思えない
Windows(GUI)とかAndroidとかもっと進出して欲しかった
0417デフォルトの名無しさん垢版2018/07/21(土) 23:44:35.25ID:HTyh/4m5
あと最近Pythonに押されてる理由の機械学習系のライブラリとか
リソース投入して欲しい分野他にいっぱいあるのに
0418デフォルトの名無しさん垢版2018/07/21(土) 23:45:26.60ID:H6KFndt4
そういう海外の特定企業のプラットフォームに依存したものだと補助金貰いにくいからね
機械学習は今のRubyにはできる人材がいないから無理
0419デフォルトの名無しさん垢版2018/07/21(土) 23:45:28.95ID:R3kyCjkl
>>411
ラズパイやなんかはほぼlinuxの組み込み用ディストリだろ?
別にunix依存でも組み込みで遊べれば良いんじゃないかと個人的には思う

というかなんか荒らしが湧いてるな
0420デフォルトの名無しさん垢版2018/07/21(土) 23:45:36.53ID:Q1eQHcZd
スマフォは端末20億ぐらいが今の所上限、人口から計算するとそうなる。
IOTになると300億ぐらいになると言われている。
だから市場としては組み込みのほうが遥かにデカイんだ。
0421デフォルトの名無しさん垢版2018/07/21(土) 23:48:41.96ID:R3kyCjkl
もしかして来てるのは運用情報板からか?
0422デフォルトの名無しさん垢版2018/07/21(土) 23:53:39.13ID:H6KFndt4
>>420
補助金の申請書に書くには良い説明だね
現実にはそれは詭弁で、何百億もばら撒かれるような大量生産するデバイスに、
ラピッドプロトタイピングを売りにしてるmrubyなんか使われる訳がないんだよね
一方プロトタイピングでコストを気にしないならラズパイ的なLinuxボードでフルのRuby動かせばいいわけで、完全に論理的に破綻してる
0423デフォルトの名無しさん垢版2018/07/21(土) 23:58:26.26ID:R3kyCjkl
ああ、商業的にmrubyを組み込み市場にって事か
ホビー的なものやプログラム教材的なものも含めればそれなりに大きいし
0425デフォルトの名無しさん垢版2018/07/22(日) 00:14:01.72ID:csMVOBEm
Ruby本体のパーサってツール使って書かれてるの?
それとも手作業?

ずいぶん前に何かツールつかって書かれてる、みたいな記事を見た記憶があるんだけど
あやふやで思い出せない
0427デフォルトの名無しさん垢版2018/07/22(日) 00:39:36.44ID:8Nb060qV
あんなに嘘を書き込んでたネガキャン厨が出てこなくなった
何故だ?
0428デフォルトの名無しさん垢版2018/07/22(日) 00:41:39.08ID:8Nb060qV
あ、425の質問か
俺は知らない
0430デフォルトの名無しさん垢版2018/07/22(日) 01:01:34.78ID:ZYdHEl+H
カーネル(?)オブジェクトと一緒にリンクしてローダからジャンプして起動される様な組み込み。それこそファイルシステムも無いようなものもターゲット。
0433デフォルトの名無しさん垢版2018/07/22(日) 13:32:44.36ID:LiIRy0eu
rubyは始まる前に終わってしまった
0435デフォルトの名無しさん垢版2018/07/22(日) 16:27:40.65ID:8Nb060qV
質問を普通に読むと、
パーサジェネレータに食わせるソースを人手で書いてるのかツールで出力してるのか、
聞いているんだと思うんだが

例の荒らしは日本語が不自由なの?
0436デフォルトの名無しさん垢版2018/07/22(日) 17:19:25.94ID:bmpyz9fo
>>435
元の質問ってこれだよね
>>>>425
>> Ruby本体のパーサってツール使って書かれてるの?
>> それとも手作業?

普通に読むと、パーサのコードがジェネレータで自動生成されているのか、
あるいは手書きでゴリゴリとパーサをC言語で書いているのか?という内容で、
>>429>>432が適切なレスを返している(>>431は知ったかぶりのお馬鹿さん)

で、それに対して日本語が不自由と噛み付く>>435の日本語読解力に対して小一時間

ちなみに、Rubyの構文解析(パーズ)に関しては、
以下の文書、いわゆる RHG - Ruby Hacking Guide で詳しく解説されてる
・Rubyソースコード完全解説
 http://i.loveruby.net/ja/rhg/book/
0437デフォルトの名無しさん垢版2018/07/22(日) 17:43:50.81ID:o4y3Fl/D
>>431の本は読んだことないけど、いくらRubyistが書いた本とはいえそんな低レベルな間違いをするとは思えないから実際の記述が気になるな
独自に作ったと書かれてるのってパーサじゃなくて字句解析器のことだろうか
字句解析器は手書きでも比較的簡単に作れるので、パーサは自動生成で字句解析は手書きというのはよくあるよね
0438デフォルトの名無しさん垢版2018/07/22(日) 18:27:03.98ID:NHUbC5Q3
標準ライブラリのRipper クラスで、字句・構文解析ができる。
文法規則から、Bisonでパーサを作る

文法規則(parse.y) → Bison → パーサ(parse.c)

「Rubyのしくみ」に書いてある
0439デフォルトの名無しさん垢版2018/07/22(日) 18:30:21.91ID:mu5XaGiF
Rubyの文法は、改行が文のセパレータだったりなかったりするので、yaccでは書きにくそうな気も。
0440デフォルトの名無しさん垢版2018/07/22(日) 21:20:30.98ID:bmpyz9fo
>>437
>独自に作ったと書かれてるのってパーサじゃなくて字句解析器のことだろうか

Rubyの字句解析器は(次で詳しく書くけど)手書きだから、「独自に作った」には該当しないね

で、>>431の書籍は手元にあるから「独自に作った」部分を推測すると、p68 第3章の
囲み記事にある「YARV命令を間近に見てみる」の内容ではないかと思われる
この記事によると、Rubyの仮想マシン YARV の命令セットはC言語で実装されているが、
実際には insns.def という命令セット記述向け外部DSL(ドメイン特化言語)で書かれており、
Rubyで書かれた独自ツールを用いてC言語ソースが自動生成される、とある


>字句解析器は手書きでも比較的簡単に作れるので、
>パーサは自動生成で字句解析は手書きというのはよくあるよね

うん、よくある
ただし、Rubyに関しては字句(トークン)の意味が文脈によって異なるので、
字句解析器を汎用的なツール(Flex, Lex)で自動生成するのは原理的に無理
だからRubyでは字句解析器をC言語で(=手書きで)ゴリゴリ書いてる
0441デフォルトの名無しさん垢版2018/07/22(日) 21:35:50.53ID:8Bgo+1zG
   /__.))ノヽ
   .|ミ.l _  ._ i.)
  (^'ミ/.´・ .〈・ リ
  .しi   r、_) |  字句解析器はわしが独自に作った
    |  `ニニ' /
   ノ `ー―i´
0442デフォルトの名無しさん垢版2018/07/23(月) 02:58:02.91ID:4FKdTwd5
parse.yって結構な量になるだろ
まじで手書きなの?
0443デフォルトの名無しさん垢版2018/07/23(月) 03:30:44.45ID:+9p86R5q
flexはライセンスの問題があるのに対して、bisonは解決してるので、字句解析だけ手書きという場合もありそう。
0444デフォルトの名無しさん垢版2018/07/24(火) 01:24:57.08ID:USIMmUbR
やっぱり理解してないな
0445デフォルトの名無しさん垢版2018/07/24(火) 11:09:18.60ID:5ghygOWP
def hoge(ary)
  if ary.length > 10

  略
end

def hoge(ary)
  return ary.pop if ary.length > 10
  略
end
0446デフォルトの名無しさん垢版2018/07/24(火) 11:14:14.74ID:5ghygOWP
途中で投稿しちゃったすまん

hoge1を書く時にhoge2みたく1行でぱぱっと書いてしまいたくなるんだけど、あまり良くない書き方かな?
return ary.popの値を別に使うわけじゃないから却って読みにくくなってるかな?
同様にbreak(ary.pop) if 〜 みたいなこともやりたくなる

def hoge1(ary)
  if ary.length > 10
    ary.pop
    return
  end
  略
end

def hoge2(ary)
  return ary.pop if ary.length > 10
  略
end
0448デフォルトの名無しさん垢版2018/07/24(火) 12:11:36.42ID:pu7GMHRK
却ってもなにも普通に読みづらい
やる事がpopとreturnの2つあるんだから素直に別々に書け
0451デフォルトの名無しさん垢版2018/07/26(木) 23:53:19.41ID:a+YNJ8TA
ワンライナーで横着して書くのはすごい便利だぞ
0453デフォルトの名無しさん垢版2018/07/29(日) 03:07:55.01ID:F6Tmnrz5
普通、ワンライナー書いて通ったら、
早めにリファクタリングするだろ

そんな後々まで残しておかないよ
0455デフォルトの名無しさん垢版2018/07/29(日) 10:54:49.57ID:lzRBxehA
どうでもいいだろ
どうせRubyなんか後でメンテできないんだから、後でばっさり捨てても惜しくないくらいの簡易な実装を心掛けたほうがいい
0456デフォルトの名無しさん垢版2018/07/30(月) 15:23:19.49ID:i4fPEMEN
一昔前の Web プログラミング言語のトレンドは動的型付け一辺倒でしたが、
その時代も終わり、静的な型宣言を再評価するフェーズが来ているように思います。
この背景には、おそらく Web プログラミングの規模が年々肥大化しており、
動的検査のコストが増してきたのが理由にあるでしょう。
0457デフォルトの名無しさん垢版2018/07/30(月) 17:43:04.50ID:sQTL1Bwj
JSONに型情報含められたらな
0459デフォルトの名無しさん垢版2018/07/30(月) 22:30:45.90ID:vVxxmyMz
まーたネガキャンしとんのか
ほんと懲りないな荒らしは
0461デフォルトの名無しさん垢版2018/07/31(火) 05:56:12.03ID:CsKbzYRR
ステマ荒らしとか、粘着はどういうアタマしとんねん
0462デフォルトの名無しさん垢版2018/07/31(火) 05:58:46.14ID:A5W680W/
>>461
0464デフォルトの名無しさん垢版2018/07/31(火) 06:37:15.77ID:2+1mdxB2
>>463
変換できたってライブラリを使った時点で破綻するんだから意味ない
jQueryを使ったコードをC++に変換したって動くわけない
0465デフォルトの名無しさん垢版2018/07/31(火) 07:27:58.69ID:CsKbzYRR
ス テ マ 荒 ら し

↑の粘着のセンスって最悪やな
0468デフォルトの名無しさん垢版2018/07/31(火) 09:08:38.32ID:kmul1JEG
粘着さんは自演でネガキャンしないと発作が起きちゃうから、
みんな優しくしてあげて
けっして「ステマ荒らし(ドヤッ)さん」なんて呼んではだめですよ

話は変わるけど、
ブロック内のself省略したらself以外のオブジェクトが割り当てられるようなメソッドってどんくらいあるの?
0471デフォルトの名無しさん垢版2018/07/31(火) 11:15:46.71ID:kmul1JEG
self省略って便利なのは便利なんだよな
いちいちselfって書かなくて良いから
0472デフォルトの名無しさん垢版2018/07/31(火) 11:53:47.74ID:xRXvz4C9
@と勘違いしてないか
0473デフォルトの名無しさん垢版2018/07/31(火) 12:07:44.84ID:3hAWRCkR
自分は静的型の恩恵を受けてRubyを開発しているのに
その言語のユーザーにはそれを与えない、まさに鬼畜の所業
それだけに留まらず、動的型の方が優れていると嘘を教え込み
人の人生観や世界観を台無しにして囲い込み
骨までシャブりつくす姿勢は流石の宗教家
「Rubyをキメると気持ちいい!」
0474デフォルトの名無しさん垢版2018/07/31(火) 12:10:34.26ID:kmul1JEG
質問の間に色々レスがついたからもう一度書くわ

ブロック内のself省略したらself以外のオブジェクトが割り当てられるようなメソッドって何があるの?
スレの上の方になんか関係しそうなコードが書いてあったから疑問に思ったんだけど
0475デフォルトの名無しさん垢版2018/07/31(火) 12:22:51.02ID:H1jTAdrX
意味がわからない文章だが、コンテキストが入れ替わってることを言いたいのかな
そんなメソッドは作っただけ存在するけど
0479デフォルトの名無しさん垢版2018/07/31(火) 13:12:42.46ID:zoworXJJ
>>474
継承を使えば普通だけど、何か別の事柄を期待しているのかな?
  irb(main):001:0> class Foo; def foo; puts 'FOO'; end; end
  => :foo
  irb(main):002:0> class Bar < Foo; def bar; foo; end; end
  => :bar
  irb(main):003:0> Bar.new.bar
  FOO
  => nil

  2行目、メソッド Bar#bar の定義内で self を省略したメソッド foo が
  呼び出されているけど、この時、実際には Bar(= self) ではなく
  Foo が割り当てられる


>スレの上の方になんか関係しそうなコードが書いてあったから疑問に思ったんだけど

アンカって知ってる?
0481デフォルトの名無しさん垢版2018/07/31(火) 13:22:06.05ID:i+0VO+yy
.map{}やらの中のselfの事だろ
なんかこの粘着、時々日本語の読解がおかしくなるよな
0484デフォルトの名無しさん垢版2018/07/31(火) 13:34:24.76ID:zoworXJJ
>>481
>.map{}やらの中のselfの事だろ

具達的なコードで示すか、過去レスのアンカをカキコしる
0485デフォルトの名無しさん垢版2018/07/31(火) 13:36:32.60ID:Sn2VrW8x
@と勘違いしてるっぽい
0488デフォルトの名無しさん垢版2018/07/31(火) 19:21:07.27ID:M5dn2TAr
JavaScript, TypeScript では、this が文脈で変わるので、ややこしい!

それを避けるため、jQuery, Haxe では変わらないようにしている
0489デフォルトの名無しさん垢版2018/07/31(火) 19:49:00.54ID:0cuGom8L
以降もずっと自演が続きます
0490デフォルトの名無しさん垢版2018/07/31(火) 23:54:26.33ID:wYvVLkW6
>483デフォルトの名無しさん2018/07/31(火) 13:32:54.45ID:0cuGom8L
>やっぱり荒らしてるのは星持ちか


このレスがついてから急にレスが付きづらくなったね
0491デフォルトの名無しさん垢版2018/07/31(火) 23:58:45.81ID:PrQlt9wc
図星
0492デフォルトの名無しさん垢版2018/08/01(水) 01:48:47.30ID:i67K/6im
RustってちょっとRuby臭がするんだけど、近づいてみるとC++の時に嗅いだ嫌な臭いがして頭がクラクラする
0493デフォルトの名無しさん垢版2018/08/01(水) 02:22:55.90ID:09aZWOww
ブロック付きメソッドで与えられたブロックを、
メソッド内でしかも別のコンテキスト下で処理したいんだけど方法ってある?
0495デフォルトの名無しさん垢版2018/08/01(水) 03:04:07.48ID:09aZWOww
誰か踏んでみて
0499デフォルトの名無しさん垢版2018/08/01(水) 12:21:49.98ID:FFxaCJen
今からRuby勉強してルビィスト名乗ってドヤ顔できる?
アンタらのように下々どもの言語ディスる能力ほしいんだけど
0502デフォルトの名無しさん垢版2018/08/01(水) 13:36:49.31ID:FFxaCJen
単純により給料がいい言語に移ってるだけでRuby開発はどこもやりたいんだよね?
企業が欲しい言語エンジニアとエンジニアがやりたい言語に違いがあるだけじゃない?
0504デフォルトの名無しさん垢版2018/08/01(水) 18:58:35.84ID:09aZWOww
またステマ荒らし(ドヤッ)さんがネガキャンしてる
0505デフォルトの名無しさん垢版2018/08/01(水) 19:09:54.49ID:hJYNlAh1
>>504
荒らし荒らしいってるお前も荒らしだろ
今見たら俺のレスがステマ荒らし(?)認定されてて笑ったわ
大して荒れてない時でも荒らし荒らしうるせえんだわ
0507デフォルトの名無しさん垢版2018/08/01(水) 19:17:59.50ID:33KC14nX
ステマ荒らし(ドヤッ)さん「RubyスレでRubyをステマするのはずるいブヒー。これじゃネガキャン出来ないブヒー」

ステマ荒らし(ドヤッ)さん「悔しいブヒー。ステマは荒らしブヒー」ブヒブヒ
0508デフォルトの名無しさん垢版2018/08/01(水) 19:23:32.66ID:i67K/6im
rubyはとりあえず作ってみるという作業に向いていて、それで良いものをたくさん生み出したが、
それらは結局他の言語へ移植されていって、rubyでなくてもいい状況になってしまった
ruby3に向けて速くしようと頑張ってるが、それでもたかが知れてるので、
新しい洗練された標準ライブラリを作ることも必要だと思う
0509デフォルトの名無しさん垢版2018/08/01(水) 19:25:48.31ID:33KC14nX
というか荒らしは日中から書き込んでるんだな
もしかして無職?
0510 ◆QZaw55cn4c 垢版2018/08/01(水) 19:35:27.18ID:6NCuGzpD
>それらは結局他の言語へ移植されていって
RoR はどこに移植されましたか?
0514デフォルトの名無しさん垢版2018/08/01(水) 20:24:07.20ID:yeaXvKr1
QZaw55cn4cのトリップって運用情報板で言われてるボランティアとか星もちだろ?

で、何したの?
0517デフォルトの名無しさん垢版2018/08/01(水) 21:00:07.78ID:JsKaYcG1
ああ、やっぱり
IP切り換えて別のスレに書き込む度に>>516が高頻度でついてくる事があったからおかしいと思ってたけど
運営ボランティアの人だったんだ
0518デフォルトの名無しさん垢版2018/08/01(水) 21:02:06.21ID:Al4aQLEL
運営ボランティアの人を頭がおかしい人のように言わない
失礼だろ。奴隷にも人権はある。
0520デフォルトの名無しさん垢版2018/08/01(水) 21:20:37.46ID:hJYNlAh1
「IP切り換えて別のスレに書き込む度に>>516が高頻度でついてくる」って
もう統合失調症の被害妄想だろこれ……
悪いこと言わないから精神科か心療内科で一度診てもらえ
0521デフォルトの名無しさん垢版2018/08/01(水) 21:28:52.30ID:ucbmp5eJ
>>513
ID:6NCuGzpDが星もちだろうがなかろうがどうでも良いだろ
何故そんなに必死なの?
0525デフォルトの名無しさん垢版2018/08/01(水) 22:20:28.02ID:GDPBpnE0
動的型なんかにするから袋小路になるんだよ
これは初めから決まってたことでどうしようもない
経験的に、プログラムは何でも可能な限り静的なほうが良い
これを何でも動的なほうが良いと考えるのは経験が足りてない
スタティック最高
0527デフォルトの名無しさん垢版2018/08/01(水) 22:24:18.58ID:DGfW2k2a
またか

懲りないな
0528デフォルトの名無しさん垢版2018/08/01(水) 22:32:33.91ID:+VbRL20g
>>524
君がRailsのような画期的かつ有効なRubyの使い方を新たに示せば余裕で救えるよ。
Rubyにとって不幸だったのは、Railsの流行によってRubyに入ってきたのが頭悪い連中ばかりで、
Rubyに次のイノベーションを起こせるような人材がいなかったこと。
君がその一人でないというなら、今こそ君自身が君自身の力(コード)でGitHub上で君の能力を示しなさい
0529デフォルトの名無しさん垢版2018/08/01(水) 22:42:05.03ID:DGfW2k2a
自演がほんと好きだな
0530デフォルトの名無しさん垢版2018/08/01(水) 22:43:44.31ID:xKKgG+mq
日本人がふがいなさすぎるんだ
なぜ静的RubyやスケーラブルなRubyを勝手にでもつくろうとせんのだ
ちょっと手直しするだけだったろうに

Rubyをつくるように促した連中はそういう気運を待ってたにちがいないのに
0532デフォルトの名無しさん垢版2018/08/01(水) 22:51:19.29ID:DGfW2k2a
>>531
はそのスレを荒らしてマッチポンプ繰り返すから嫌なんだよ
0534デフォルトの名無しさん垢版2018/08/01(水) 22:57:58.09ID:hrMLhnvx
ボラかどうかの話をしてるだけなのに
荒らしがでてくるからおかしいと思ったけど
コレ、酷くないか?
0535デフォルトの名無しさん垢版2018/08/01(水) 23:06:59.96ID:GZaAdjmn
Rails の影響は、Node.js + Express など、すべての言語のフレームワークへ及ぶ

Ruby は関数型で、Groovy, JavaScript などに似ている。
それに型推論を付ければ、Kotlin, Haxe になる

他にも、Elixir もある

だから、Rubyを学ぶと、数言語できるようになる
0536デフォルトの名無しさん垢版2018/08/01(水) 23:16:24.70ID:3uNc8Mw3
これ以降全て自演
0538デフォルトの名無しさん垢版2018/08/02(木) 06:56:24.03ID:SjibvNdR
そういえばろろそろ無職タイムか
0539デフォルトの名無しさん垢版2018/08/02(木) 22:17:27.97ID:+1EqszfI
Rubyのyaccソースを書いてるツールとか言語開発している環境とかの本出して欲しいな
0541デフォルトの名無しさん垢版2018/08/02(木) 22:25:26.99ID:+1EqszfI
それ、エディター話だろ
たしかyaccソースは複雑になりすぎて内製のツールつかってるんじゃなかったか?
どこかにそういう記事あったよな確か
0544デフォルトの名無しさん垢版2018/08/02(木) 23:36:53.71ID:+1EqszfI
いやいや、内製ツールあるだろう普通に考えて
0545デフォルトの名無しさん垢版2018/08/02(木) 23:42:52.79ID:5ti5JZJP
いやいや、気になるならgithubにコミットログくらい見に行くだろう普通に考えて
そんなだからruby使いがいつまでも馬鹿にされるんだぞ
0547デフォルトの名無しさん垢版2018/08/02(木) 23:45:34.29ID:5ti5JZJP
だから自分で確かめろよw
仮に変なツール使ってたとしても、手でやっても全くの手間変わらないような修正が並んでるよ
0548デフォルトの名無しさん垢版2018/08/03(金) 10:29:43.98ID:WJQL4Ki3
普段から型すら書きたくないって言ってるのに
コミットログなんか見るわけないじゃん
それが必要なことであってもだ
0549デフォルトの名無しさん垢版2018/08/04(土) 09:48:29.21ID:qh8OmSn4
QZaw55cn4cがまたあばれてんのか
ほんと懲りないな
0551デフォルトの名無しさん垢版2018/08/04(土) 14:44:57.22ID:NrQVv38L
スタンドアロンで使えるActiveScriptRubyみたいなのが欲しいな
今風に言えばRubyをくっつけたElectronみたいな奴
0552デフォルトの名無しさん垢版2018/08/05(日) 06:51:56.13ID:S3FmLgSz
rubyはプログラミング集中に邪魔な面倒な約束事を書くのを端折りたい人が使うもんじゃないの?
0554デフォルトの名無しさん垢版2018/08/05(日) 06:58:39.94ID:WWyVTQgE
RubyをGPL感染なしで使うのは難しいから、Rubyをアプリに組み込むような配布形態が流行ることはないよ
0555デフォルトの名無しさん垢版2018/08/05(日) 07:03:15.02ID:rv82PXHz
たしかにGPL汚染でプロプライエタリで使うのは難しくて
Linuxみたいなフリーウェア的思想の方へ
流れていったから現在があるんだろうね

Androidのネイティブアプリも軽視されてると思う
まあこれもできなくはないけど普及してはない
0557デフォルトの名無しさん垢版2018/08/05(日) 10:42:24.03ID:lge76hvQ
この知ったかしてるのってQZaw55cn4c?
0558デフォルトの名無しさん垢版2018/08/05(日) 11:07:51.33ID:6sr+WFQ9
PCやAndroidのアプリにバンドルするならmrubyだろうけど、
さすがにmruby使うのはだいぶ本末転倒だからなあ
そこまでするくらいなら普通にElentronのNode使ったほうがよっぽど生産性高い
0559デフォルトの名無しさん垢版2018/08/05(日) 14:08:26.91ID:gZzT8382
ちょっと前にmrubyを使ってみた事があるけどBignumが標準でないためFixnumとシームレスに変換されなかったりして使いにくい
速度もCRubyに劣るしPC用アプリケーションの処理系としてはあまり向いていないと思う
0560デフォルトの名無しさん垢版2018/08/05(日) 20:32:19.40ID:XPCi/u53
>>535
Expressが影響を受けたのはrailsではなくsinatra。
railsしか使ったことないのバレバレだな。
rubyとjsは全然似てない。jsの関数の万能さ、簡潔さをどうこねくりまわしてもrubyのblock proc lambdaみたいな面白仕様にはならない。
別にjsがすべてに優れてるわけでは全然無いが第一級関数の扱いについてだけは太刀打ちできないだろ。
0564デフォルトの名無しさん垢版2018/08/05(日) 21:11:54.17ID:XPCi/u53
>>561>>562
ようするに全然似てないだろ?
似てるって言ってる>>535に対する反論なのだが。
勝手にjsからの回し者認定して攻撃してこないでよね。
わざわざ優れてるわけでは全然無いとまで書いたのに。
0565デフォルトの名無しさん垢版2018/08/05(日) 21:15:30.39ID:uVIrroLR
> Rubyを学ぶと、数言語できるようになる
こればっかりは全く同意できないな
Ruby使いはRubyに固執して他の言語に手を出そうとしない傾向が他の言語使ってる人に比べて強い
性質的にはVBerに近い
0566デフォルトの名無しさん垢版2018/08/05(日) 22:02:21.04ID:zXVetSzu
JS書きやす〜〜いwwwって人もいるんだな。
オジサン驚いたわ。
0567デフォルトの名無しさん垢版2018/08/05(日) 22:10:40.23ID:aA1uZ2Py
rubyは手に馴染むけど、いろいろなライブラリを使う状況になると、
入力補完が優れた他の言語の方が効率的になっちゃうんだよなあ
0569デフォルトの名無しさん垢版2018/08/05(日) 22:58:55.54ID:AAAWmj32
ところが今はVSCodeがあるからJSクソ書きやすいんだよなあ
更に高い生産性や厳密なチェックを求めるならTypeScriptもある
VSCodeもTSも宗教的にRubyと相性最低最悪なのが悲しいところだが
0570デフォルトの名無しさん垢版2018/08/05(日) 23:13:37.38ID:5cf6E25B
>>568
昔のJSは書きにくかったんだよ。
でも今はJSが書きやすくなったから、
生き残ってるAltJSはTypeScriptだけになったよ
0571デフォルトの名無しさん垢版2018/08/06(月) 00:06:44.28ID:obJKiCah
eachによるカウンタいらずのループとかRubyの大きなアドバンテージじゃね
最近のJavaScriptはカウンタを回さなくてもすむようになったんだっけ?
0572535垢版2018/08/06(月) 00:11:55.08ID:b7eNDjo0
>>560
Node.js は、Sinatra をフルスクラッチで書くのと同じ。
Node.js + Express が、Rails と同じ

JavaScript 第6版、2012、David Flanagan
これは、サイの表紙で有名な、JSのバイブル「サイ本」。
Flanagan は、Rubyの本も出している

プログラミングElixir、2016、Dave Thomas
この人も『プログラミングRuby』という本を書いている

たいてい、有名な言語学者は、Rubyの影響を受けている

Groovy は、Rubyに似てる。
Rubyを静的にすれば、Haxe, Kotlin に似てる
0574デフォルトの名無しさん垢版2018/08/06(月) 00:35:02.13ID:6IatVkYN
>>571
forEach はだいぶ前からあるし、今は for of もある
ていうかRubyのアドバンテージとしてeachしか思いつかないってそれ他の言語知らないどころかRubyもよく分かってないだろ
あんまりRubyだけに固執しないで他のも触ったほうが結果的にRubyの理解も深まるよ
0575デフォルトの名無しさん垢版2018/08/06(月) 00:35:08.07ID:ECWvwsc9
>>571
for of がある
ただrubyのeachはすごいと思う
というかブロックがすごい
breakとかnextとか使えるもん
そんなん出来ひんやん普通
0577デフォルトの名無しさん垢版2018/08/06(月) 00:43:13.56ID:6IatVkYN
クロージャは明らかにJSの方が優れてるでしょ
Rubyは第一級関数ではないという致命的な欠陥がある
0578デフォルトの名無しさん垢版2018/08/06(月) 00:52:57.65ID:kftvtlvL
まぁいくら優れたところがあっても動的型ってだけで
過去の言語のグループに入れられちゃうんだから笑えるね
0579デフォルトの名無しさん垢版2018/08/06(月) 01:04:23.62ID:wLyI8nBX
>>572
あん?糖質か?
だからそのExpressが参考にしたのがSinatraだっつってんだが?Railsじゃなくて!
0580デフォルトの名無しさん垢版2018/08/06(月) 01:41:40.93ID:obJKiCah
Rubyはプロパティとメソッドの区別がないとか。何でも再定義できるとかもアドバンテージじゃね
これはJavaScriptあたりの範疇から外れるけどCライブラリとしゃべるようなケースでこの差は
めっちゃでかいと最近痛感している

>>574
忘れかけていたが・・・改めて調べてみた。for inは罠
0581デフォルトの名無しさん垢版2018/08/06(月) 11:41:48.43ID:xyu7L6lN
またネガキャンしにきたのか
どんだけ自演がすきなんだ?
0587デフォルトの名無しさん垢版2018/08/06(月) 17:22:06.71ID:bv191ZQE
設計部にいたとき英語名刺の部署名がDesign Department になってたよ。
Designだけだと設計という意味で取られるのだろう。
日本人が一般に思い描いてる「デザイン」は英語で言うとAesthetic Design だろう。
0591デフォルトの名無しさん垢版2018/08/08(水) 02:41:46.57ID:TPD1PiP/
まーた嘘ついてるのか
おまえがWindows嫌いなのはわかったってば

自演でWindows嫌い演じても、もう信じる人はおらんよ
0592デフォルトの名無しさん垢版2018/08/08(水) 03:28:06.97ID:4BWTfzpI
     ミミ ヽヽヽヽリリノノノノ  . .|
    ミ   ,,、,、,、,、,、,、,、、 彡 . ..|
     l  i''"        i彡 . .|  オレの新Java
     | 」  ⌒' '⌒  |..   |
    ,r-/  <・> < ・> |  .  .|     これで儲ける
    l       ノ( 、_, )ヽ |  .
    ー'    ノ、__!!_,.、|  .  |
     ∧     ヽニニソ  l    /
   /\ヽ         /   .. ̄|
 /     ヽ.  `ー--一' ノ/ヽ    ノ7_,,, 、    ______
/   (⌒、"⌒ソ⌒ヽ─ '"   `、  ( ィ⌒ -'"",う/壱 / /万:/|
    ~''(_)(_)(_)(_)ソ       ヽノ   ,イ^_.|≡≡|__|≡≡|彡|_____
    ヽ/`、_, ィ/           ヽ─/ ̄//|≡≡|__|≡≡|/壱//万 :/|
   /     /           ) / ≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
         /   ボラクル    i|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
\      ノ             |≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
  \__ /             ノ|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|/
0593デフォルトの名無しさん垢版2018/08/08(水) 04:34:19.88ID:XhOfYtOw
>>590
ほんそれ
意固地
0595デフォルトの名無しさん垢版2018/08/08(水) 23:57:17.94ID:+Ro3I41Z
久々にRubyに立ち返ろうと思ってたんだけど
やっぱり今もWindowsだと環境構築は面倒っぽいな
楽になるツール作ったら需要ある?
0597デフォルトの名無しさん垢版2018/08/09(木) 00:13:57.81ID:ro52D2nE
ツールで何を改善する気なんだ?
個人的な不満はWindowsとのインターフェイスに絡むキャラクタコード
以前に作ったツールはUnicode文字を含むコマンドラインオプションを受け取る方法がわからなくて
WIN32OLEを使ってWIM経由でコマンドラインオプションを取得する暴挙に・・・

コンソールのキャラクタコードはCP932だけど引数はUTF-8で外部のコマンドを実行したいときとかも
どうすればいいんだろうな
0599デフォルトの名無しさん垢版2018/08/09(木) 00:36:42.77ID:fUyWPXJG
今のwindows版は環境ごと入れるので、rubyを使うためにperlやpythonまで入ってくるのが面白い
0600デフォルトの名無しさん垢版2018/08/09(木) 00:39:25.77ID:riLnUYwW
たしかに文字コード面倒
ファイルやデータも古い年代モノから最近のモノまでいろいろ、コードも混在
rubyも最新版ばかりでない、マシンによってバージョンが違う
0602デフォルトの名無しさん垢版2018/08/09(木) 00:53:24.63ID:bbq6MBnq
文字コードが面倒って言ってるやつは
CP932(ShiftJIS)を使おうとしてるから

UTF-8対応のエディタ(Windows 10ならメモ帳でいいんやで?)を
使ってソースコードにはUTF-8以外を一切入れない

コマンドプロンプトはchcpでUTF-8に変更するか
画面への入出力時に(Rubyではなく)nkfなどを使って変換すればいい

Rubyスクリプトへデータの入力はファイルから行って
出力もファイルに出力するなら、別にnkfでの変換もいらない
UTF-8対応のテキストエディタで見ればいい

なんで日本専用の文字コードを使おうとしているのかわからない
それだと他の国で使えないではないか。汎用的に作ったほうが
簡単になることって多いよ
0603デフォルトの名無しさん垢版2018/08/09(木) 01:00:18.00ID:fUyWPXJG
>>602
そういう話じゃないんだなあ
chcpなんて使い物にならないし
rubyの内部の作りの問題なんだよ
nodeやgoやrustはその辺まともに作ってある
0604デフォルトの名無しさん垢版2018/08/09(木) 01:09:23.83ID:0kLiomIS
そうそう
近代的なプログラミング言語は内部エンコーディングがUnicode固定だから本当にIOのときだけエンコーディングを考慮すればいい
一方Rubyは文字列の内部表現がStringオブジェクトごとのエンコーディングに依存していて、
自分の管理外のコードからStringを受け取る場面では必ずエンコーディングを考慮せねばならない
0605デフォルトの名無しさん垢版2018/08/09(木) 01:14:23.18ID:bbq6MBnq
>>603
> chcpなんて使い物にならないし

使い物になってるけど?
実際WSLはchcpでUTF-8したのと同等の環境で動いている。

文字化けする?フォントがおかしい?
だからWSLでまともに使えるようにするために
全部修正したんだってばw
0606デフォルトの名無しさん垢版2018/08/09(木) 01:18:39.80ID:ro52D2nE
>>602
全然判かっていないじゃないか
多くのWindows用アプリケーションはUnicodeもしくはCP932を前提に作られている。たとえコンソールのキャラクタコードを
UTF-8にできてRubyがそれに従ってくれたとしてもほかのアプリケーションとの連携で不具合が発生するのは明らかで
問題は解決しない

それにnkf使えとか1.8時代に逆戻りだろw
0607デフォルトの名無しさん垢版2018/08/09(木) 01:21:35.03ID:bbq6MBnq
多くのWindows用アプリケーションはUnicodeもしくはCP932を前提に作られている
それをRubの外部でnkfなどを使って変換すればいいだけの話だって言ってる
0609デフォルトの名無しさん垢版2018/08/09(木) 01:26:42.15ID:fUyWPXJG
問題なのは、外部がユニコードの世界なのに、windows版のrubyは内部的にそうなってない所がまだあるのよ
内部で情報が欠落しちゃってるから、そこを変えないとまともにはならんわけ
windowsでは内部をUTF-8に決めちゃえばいいんだけどねえ
0612デフォルトの名無しさん垢版2018/08/09(木) 01:30:27.46ID:fUyWPXJG
>>610
だから、コンソールへは普通にユニコードを書き出せてるからそこに問題があるわけじゃないんだよ
0614デフォルトの名無しさん垢版2018/08/09(木) 01:31:25.52ID:bbq6MBnq
nkf CP932に変換するオプション

ってやれば、APIでコソンールに出力した結果が
UTF-8からCP932に変わるぞ。
0615クソ5chのせいで書き込みテストしてた垢版2018/08/09(木) 01:32:23.81ID:bbq6MBnq
>>608
APIでコンソールに出力してるから
なにがどうなの?

ruby なんたら.rb | nkf CP932に変換するオプション

ってやれば、APIでコソンールに出力した結果が
UTF-8からCP932に変わるぞ。
0616デフォルトの名無しさん垢版2018/08/09(木) 01:35:28.21ID:bbq6MBnq
>>612
だから、RubyがAPIでコンソールに出力しようとしたものを
パイプで標準出力に変更して、nkfで標準入力からAPIで読み取って
nkfでSJISに変換してからAPIでコンソールに出力すればいいだけでしょ?
0618デフォルトの名無しさん垢版2018/08/09(木) 01:38:12.71ID:bbq6MBnq
ruby なんたら.rb | [nkf CP932に変換するオプション]

って書くと書き込みできないんだなー
ってあれ?できた?おかしいなw
0619デフォルトの名無しさん垢版2018/08/09(木) 01:39:04.01ID:fUyWPXJG
めんどくせえなあ。SJISに変換とかアホみたいなことしなくても、WriteConsoleWってAPI使ってユニコードで書き出すようになってるんだよ
0620デフォルトの名無しさん垢版2018/08/09(木) 01:39:15.49ID:bbq6MBnq
クソ5chの意味不明な制限で書き込めないときは
わざと5chに負荷をかけて細かく分けて書き込むことにしてる
すべては5chが悪い

>>608
APIでコンソールに出力してるから
なにがどうなの?

ruby なんたら.rb | [nkf CP932に変換するオプション]

ってやれば、APIでコソンールに出力した結果が
UTF-8からCP932に変わるぞ。
0621デフォルトの名無しさん垢版2018/08/09(木) 01:41:07.24ID:bbq6MBnq
>>619
だからchcp 65001してれば、
WriteConsoleWってAPI使ってユニコードで書き出したものを
ちゃんと表示できるし、

chch 65001しなくても
WriteConsoleWってAPI使ってユニコードで書き出したものを
ruby なんたら.rb | nkf [CP932に変換するオプション]ってやれば
ちゃんと表示できるっていってるだろ

WriteConsoleWってAPI使ってユニコードで書き出した
からなんだって言うんだ?
0623デフォルトの名無しさん垢版2018/08/09(木) 01:42:47.80ID:bbq6MBnq
rubyの中でCP932のデータを扱おうとするから
バカを見るんやで? rubyの外側で変換すればいい
文字コードの問題なんてなんもありゃせん
0624デフォルトの名無しさん垢版2018/08/09(木) 01:44:29.76ID:bbq6MBnq
>>622
あのな、

chcp 65001しないと、
日本語のWindowsではコマンドプロンプトが
互換性のためにCP932モードになってるから

WriteConsoleWってAPI使ってユニコードで書き出したものを
そのまま表示すると、UTF-8をCP932だと解釈して文字化けするんやで?

だからchcp65001しろって言ってるんだが
0626デフォルトの名無しさん垢版2018/08/09(木) 01:47:15.18ID:fUyWPXJG
表示できてて、そこは問題じゃないって言ってるのに、そんなに問題があることにしたいのか
0627デフォルトの名無しさん垢版2018/08/09(木) 01:49:18.61ID:bbq6MBnq
>>626
それはRubyのソースコードがCP932になってるから、
俺は最初からRubyをUTF-8で書けと言ってる。

いい加減CP932から離れろよ。
そんなもんRubyの外部で変換すりゃいいだけの話なんだよ

https://www.rubylife.jp/ini/japan/index5.html
> そしてプログラムを保存する時は文字コードをUTF-8に指定して保存します。
>
> 通常はこれでいいのですが、Windowsで標準出力としてコマンドプロンプトを
> 使用している場合、コマンドプロンプトの文字コードがShift_JISのため
> そのまま「print」メソッドなどで出力すると文字化けします。
0628デフォルトの名無しさん垢版2018/08/09(木) 01:50:52.45ID:bbq6MBnq
RubyのせいにしたいのかWindowsのせいにしたいのか知らんが
結局文字コードについてちゃんと理解してないだけじゃねーかw
0630デフォルトの名無しさん垢版2018/08/09(木) 01:59:58.57ID:bbq6MBnq
アホメリケンが1ビットも惜しいとか抜かして
1文字で7ビットのASCIIコードを作ったのがそもそもの問題

最初から全世界の文字が入り切る24bitぐらいに
していればこんな問題は起きなかった
0631デフォルトの名無しさん垢版2018/08/09(木) 02:03:35.96ID:bbq6MBnq
今のUnicodeの全文字数を表すには、17ビットじゃたりないんだな
18ビットあればしばらくは対応できるだろうが十分かと言われると心もとないな
最低でも20ビットぐらいほしいかな
0632デフォルトの名無しさん垢版2018/08/09(木) 02:38:39.80ID:ro52D2nE
>>607
外部ツールを使うこと前提は普通対応しているとか使えるとはいわなくね?
WINEを使えばLinuxでも動くからLinux対応などとうたうWindowsアプリケーションはほとんどないし逆も同様
コードページをUTF-8にしろだのnkfをつかえだのナンセンスすぎる
Windows標準のキャラクタコードはUnicodeか日本ならCP932だし、変換もRubyで完結できるべきだ
0633デフォルトの名無しさん垢版2018/08/09(木) 04:43:02.02ID:V297VUOg
なんや?
アンチはRubyの文字環境の設定もしらんのか?

しったかばっかりしとるツケやな
0634デフォルトの名無しさん垢版2018/08/09(木) 06:35:40.44ID:DDec2yNS
WindowsでRails開発してるけどcloud9使ってるからWindows環境に依存しない
そもそも環境構築すらいらん
クッソ楽だよ
0635デフォルトの名無しさん垢版2018/08/09(木) 07:06:07.44ID:xHgFHFx+
VSCode から、PowerShell を使えば、UTF-8 だから問題ない

ただし、Windows で、irb は日本語でバグるから使えない。
irb を使う時は、WSL から使う
0636デフォルトの名無しさん垢版2018/08/09(木) 07:30:43.69ID:0kLiomIS
おいおいRubyistはVSCode使っちゃダメだぞ
VSCodeはJSをわざわざ静的型言語に魔改造したTypeScriptによって作られている
そんなものをRubyistが使うということは、静的型の勝利を認めるようなものだ
0638デフォルトの名無しさん垢版2018/08/09(木) 10:40:37.59ID:9RYWVA0H
そんなこと言ったらそもそもさんざんバカにしてきたjavascriptで動いてるVSCodeなんて恥ずかしくて使えないだろw
0639デフォルトの名無しさん垢版2018/08/09(木) 11:09:39.07ID:NXkdt6vr
>>603
chcp 65001 は糞だな
git for windows の bash 使うと utf-8 で統一出来る
0640デフォルトの名無しさん垢版2018/08/09(木) 11:25:09.25ID:hJgBQsKI
故Coffeeが押されてた頃以来しばらくRails触ってないから最新の事情に疎いんだけど、今のRailsでは生JSかbabelが普通?
さすがにまさかTypeScriptは意味不明なダブスタ状態になるからありえないとは思うけど
0643デフォルトの名無しさん垢版2018/08/09(木) 14:22:48.49ID:ohdBTUS2
そもそもWindowsで開発ってエンジニアとして恥ずかしいからやめな
ド素人専用OSだから
0645デフォルトの名無しさん垢版2018/08/09(木) 15:54:50.43ID:cj+buD3F
>>632
> 外部ツールを使うこと前提は普通対応しているとか使えるとはいわなくね?

対応して無くていいよ。Unicode(UTF-8)だけに対応していれば十分
0649デフォルトの名無しさん垢版2018/08/10(金) 00:57:10.05ID:brZGYtP0
RubyInstallersのRuby + Devkit 2.5.1-2(x64) でインストールしたら
トロイの木馬検知したんだけど、これ大丈夫なんか……
0650デフォルトの名無しさん垢版2018/08/10(金) 09:30:05.88ID:YB7aDEkK
基本、主流のレンタルサーバではどこもRuby標準装備だろ
個人でやるならRubyしか手は無いぞ?
0658デフォルトの名無しさん垢版2018/08/11(土) 11:26:47.51ID:XbF2QFnV
宗教以外で今時Herokuを選ぶ理由はないでしょ
PaaSならGCPとかAWS Lightsailとかにしとけ
HerokuとAWS/GCPじゃスキルとしての価値にも差がありすぎる
0661デフォルトの名無しさん垢版2018/08/11(土) 18:57:17.82ID:Llo9t+It
いやしかし機械学習という神風でPythonがRubyを吹き飛ばしたよね
特にこれから始めようとする人で、Ruby選ぶ人って激減なんじゃないかと
0662 ◆QZaw55cn4c 垢版2018/08/11(土) 20:01:06.87ID:vW2Ha+vq
>>661
このお盆休みに Rails をやっているのだけれども…
0665デフォルトの名無しさん垢版2018/08/11(土) 22:08:57.73ID:nLKVRTP/
今更Railsはなあ
第2のPHPとして当分は健在だろうけど、もう美味しい時期をとっくに過ぎてRails専のエンジニアは買い叩かれてるのが現状
0666デフォルトの名無しさん垢版2018/08/11(土) 22:20:15.20ID:3iVckqAr
python用のwebフレームワークもいくつかあるけど、railsの出来には全然かなわんの?
rubyもnumpyとかあればなあ
0670デフォルトの名無しさん垢版2018/08/12(日) 01:48:34.69ID:evL76NL4
>>576,577
関数型プログラミングという視点であれば、JS は良い言語だね
どちらも出発点として関数型言語をベースに設計された言語だから、当然の帰結と言える:
 http://peace.5ch.net/test/read.cgi/tech/1409526637/857/

ただし、あえて「Rubyによる関数型プログラミング」に慣れると
JS にイラッと感じる(=楽しくない)のは:
・条件分岐の if/switch が(式ではなく)文であること
  Ruby であれば if/switch (を含めて「あらゆるすべて」)は式だから、ML や Haskell と同様、
  いちいち一時変数を持ち出さずに書ける
・匿名関数の function() は煩わしい
  匿名関数が多用されるのは map/filter といった関数を引数渡しするケースだけど、
  Ruby であればブロック引数という独特な構文があるから簡潔に書ける
ってことかな(あくまで個人の感想ですが)

ちなみに、これらの感想は以下の文書からの受け売りだったりします:
・Rubyによる関数型プログラミング
 (*1) URL はNGワード規制によってカキコできないので、
 もしも興味のある人は「Rubyによる関数型プログラミング Arnau Sanchez」でググッてください
なお、この文書で筆者は:
 Rubyは基本的には命令型言語であるけれど、 関数型プログラミングへの際立った潜在能力がある
と断じています

(*1):規制されるほど、この文書はム板管理者にとってヤバイ内容が含まれているんですかねぇ?
   2012年と5年も昔に公開された、今のRuby使いにとっては常識的な中身だと思うんですけど
0671デフォルトの名無しさん垢版2018/08/12(日) 01:58:20.16ID:km10YFtC
def式じゃないじゃんjsのfunctionは式だぞ
0672デフォルトの名無しさん垢版2018/08/12(日) 02:01:02.80ID:evL76NL4
>>577
>Rubyは第一級関数ではないという致命的な欠陥がある

JSとは異なり、Rubyだと関数は一級市民ではない」という指摘を
具体的なコードで示したのは、おそらく自分が最初だと思うけど:
 https://mevius.5ch.net/test/read.cgi/tech/1503644351/210/
そこでもカキコしたように「制限」であって「致命的な欠陥」ではないんだよね

>>670でも書いたように、一級市民としての関数が重要になるのは
メソッド(or 関数)の引数値として匿名関数を渡すケースだけど、
Ruby ではまさにその目的のためブロック引数という特殊な構文が用意されている

もし反論があるなら、具体的なコードで示したほうが理性的ではないかと思われます
0673デフォルトの名無しさん垢版2018/08/12(日) 02:10:52.79ID:evL76NL4
>>671
関数型プログラミングを実践すると自然に匿名関数を多用することになるわけですけど、
JS はいちいち function とタイプしないといけないから煩わしい、という意味です

たとえば ML族の Standard ML だと fn、同 OCaml だと fun、Haskell に至っては
¥ が匿名関数を表すキーワードです
ここまで「JavaScript による関数型プログラミング」が普及し常識になった現時点で
振り返れば、function ではなく fn とか fun という予約語にできなかったのか?と

なお、関数宣言のキーワード function は、それが宣言を目立たせる意味で長いキーワードを
採用したと考えれば、納得できるのですけどね
0674デフォルトの名無しさん垢版2018/08/12(日) 02:47:33.34ID:2UQfVx23
Ruby にはブロックスコープがあるし、
関数スコープでは、関数外部からの変数を通さない

Rubyの偽は、false, nil の2つだけ

Rubyは厳格だけど、JS, Python, PHP などは、ややこしい
0675デフォルトの名無しさん垢版2018/08/12(日) 08:39:08.05ID:PenCp7yX
>>673
> JS はいちいち function とタイプしないといけないから煩わしい、という意味です

なるほど。ではこのコードのどこにfunctionがあるのでしょう?

var materials = [
'Hydrogen',
'Helium',
'Lithium',
'Beryllium'
];

console.log(materials.map(material => material.length));
// expected output: Array [8, 6, 7, 9]
0676デフォルトの名無しさん垢版2018/08/12(日) 10:53:04.11ID:avkK3Y0e
ruby狂信者に「他言語では…」って話しすると黙りこくって見下すのは経典に書いてるのか?
どんなruby狂信者に聞いてもどいつも同じ精神なのがものすごく気持ち悪い
アレなんなんだろうな
0678デフォルトの名無しさん垢版2018/08/12(日) 13:15:59.90ID:rtSL/abo
>>664
見下される側なのにな
0679デフォルトの名無しさん垢版2018/08/12(日) 13:22:05.89ID:rtSL/abo
>>670
rubyに関する内容がヤバイんじゃなくて
archive。fo
がだめなだけ
0680デフォルトの名無しさん垢版2018/08/12(日) 15:02:35.22ID:YGBUsYMx
>>675
それ、もうブラウザでも使えるんだっけ?
JavaScriptは新機能を使っていいかどうか、いちいち考えないとイカンのがめんどくさい。
なおRubyも、バージョンのよる差異がうざい模様。
0681デフォルトの名無しさん垢版2018/08/12(日) 15:37:44.45ID:f+bxV/sn
rubyって昔複数引数取る関数
foo bar baz
って書けたよね。
でも今は
foo bar, baz
だよね。
0683デフォルトの名無しさん垢版2018/08/12(日) 16:22:12.92ID:evL76NL4
>>675
失礼しました、ES2015(ES6)で導入されたアロー関数ですね
ということで、>>670 の:
>・匿名関数の function() は煩わしい
という項目に関しては取り下げます


>>680
調べてみると、主要なブラウザの最新版であれば利用できるようです
まあ JS も Ruby も新機能の扱いを「めんどくさい」とか「うざい」と
感じることはあります
ただし、どちらも「後方互換性の維持」という言語進化の基本原則を
遵守しているのは共通していますから「新機能を使わない」という
選択肢も残されているわけです
0684デフォルトの名無しさん垢版2018/08/12(日) 16:28:13.10ID:fdgGBvne
bar が関数じゃなければいい
0685デフォルトの名無しさん垢版2018/08/12(日) 16:28:29.68ID:evL76NL4
>>679
情報提供、ありがとうございます
MANGO板にて特定のページが規制されているのではなく、
サイト全体が規制されていることを確認できました

・NGワード絞り込みスレッド★118
 http://agree.5ch.net/test/read.cgi/mango/1533547792/324-326/
0686デフォルトの名無しさん垢版2018/08/12(日) 16:34:41.05ID:evL76NL4
>>681
昔って、いったいいつの時代なんだろう
自分は 1.6 の時代だからかれこれ20年は使ってるけど、
foo bar baz と書けたという記憶が無い

もしかすると 1.4 とかそれ以前には書けたのかな?
興味深いね
0687デフォルトの名無しさん垢版2018/08/12(日) 18:33:45.33ID:YGBUsYMx
>>683
JavaScriptはともかく、Ruby は「後方互換性の維持」を遵守しないぞ。
バージョンアップは、過去のコードをだいたい壊す。
次も、文字列の原則immutable化が控えているだろ。
0688デフォルトの名無しさん垢版2018/08/12(日) 18:46:02.88ID:f+bxV/sn
それはjs以外たいていみんなそうなんじゃ?pythonしかり。
0689デフォルトの名無しさん垢版2018/08/12(日) 18:50:42.36ID:U04Z7MLo
>>168
今どきにbabelも使わずフロント開発してるところなんて業務系SIerくらいしかないでしょ
0690デフォルトの名無しさん垢版2018/08/12(日) 18:59:19.04ID:U04Z7MLo
>>683 のミス
0691デフォルトの名無しさん垢版2018/08/12(日) 22:37:17.71ID:YGBUsYMx
>>688
互換性維持の優先が高い言語はあるぞ。
C,C++,C#,Perl5はずっと更新されてきてるが、過去のコードを壊したことがほとんどない。
RubyやPythonと違って、システムの重要なところを担ってる自覚がある模様。
0692デフォルトの名無しさん垢版2018/08/12(日) 22:37:51.94ID:evL76NL4
>>687
>JavaScriptはともかく、Ruby は「後方互換性の維持」を遵守しないぞ。

いや、Ruby は(も?)新機能の導入には保守的ですよ
たとえば Ruby の特徴である既存のクラスの振る舞いを後から上書きできる
オープンクラス、これには利点と欠点が共存してるけど、これに対応しようとする
refinement の提案は「後方互換性の維持」を理由に却下され続けたけど、
その壁を乗り越えてようやく 2.1 で採用された

もしも遵守しない例があるなら、具体的なコードで示してね(>>675 みたいに)


>次も、文字列の原則immutable化が控えているだろ。

え、frozen_string_literal オプションがあるでしょ?


>>688
いやぁ、バージョンアップしたら Hello world すら構文エラーになる Python みたいな
言語などとは一緒くたにされたく無いですね

・Rubyの設計上の欠点とは何か?
 https://mevius.5ch.net/test/read.cgi/tech/1413113999/123-126/

Python2 の時点ですら全プログラミング言語でも人気トップ10、スクリプト系言語に限れば
圧倒的に首位を独走というメジャーな言語が、Hello world すら構文エラーになるという
基本原則「後方互換性の維持」を頭から無視したバージョンアップを断行するなんて、
過去のプログラミング言語の歴史を振り返ってもあり得なかった歴史的快挙(暴挙?)ですよ
とうていマイナー言語の Ruby なんかじゃあ到底まねできないですわ
0693デフォルトの名無しさん垢版2018/08/12(日) 22:53:39.94ID:YGBUsYMx
>>692
結局、互換を壊してるじゃん。w
そんなのは保守的と言わないんだよ。
多少の不満は飲み込んででも、過去のコードを重視しないといけない。
オプションで選択できるとか、いいわけにならん。

例が知りたきゃググれ。
スコープとかメソッドとかいろいろあって、思い出すのもバカらしい。

ま、それがRubyの道なんだろうから、それはそれでいいんだよ。
ヘンに言い繕わずに、互換性は低いと冷静に受け入れてれば。
0694デフォルトの名無しさん垢版2018/08/12(日) 23:37:02.17ID:f4ISMjBp
現実無視の机上の空論w
昔のC/C++コードを一切の修正なしで再利用できるケースが実際にどれだけあるというのだ
0695デフォルトの名無しさん垢版2018/08/12(日) 23:42:34.82ID:2UQfVx23
>>683
JS のアローと、function()無名関数は、スコープ・this の挙動が異なる

非同期処理などで異なる。
別のもの

JSは、Rubyの影響を受けて、ドンドン変化していく
0697デフォルトの名無しさん垢版2018/08/13(月) 05:17:38.38ID:LxScEq40
>>693
>オプションで選択できるとか、いいわけにならん。

では、以下のコードを python3 で動かす方法はあるんですか?
 https://mevius.5ch.net/test/read.cgi/tech/1413113999/126/
え、オプションすら存在しないのぉ???
オプションすら許さない >>693氏のオレ様基準に従えば、
いいわけ以前の「後方互換性の断絶」であり「致命的な互換性の問題」ですね


>例が知りたきゃググれ。
>スコープとかメソッドとかいろいろあって、思い出すのもバカらしい。

え、これだけ「Rubyはゴカンセイガァー」と騒いでおいて、
ご自身では具体的なコードすら書けないんですか?
情けないですね、自分ならスコープやらいくつかRubyに関する
「些細な互換性の問題」を示してあげることもできるんですけど


>ヘンに言い繕わずに、互換性は低いと冷静に受け入れてれば。

いやぁ JS と比較すれば互換性は低いですよ
あちらはECMAScriptという国際標準の強い縛りがありますからね
でも Hello world すら動かなくなる最底辺 Python と比較すれば遥かに高い

そもそも具体的なコードも示せないくせに、
ナゼか「上から目線で」オレ様理論を押し付けるのは、
Rubyアンチに共通する性癖ですね
0698デフォルトの名無しさん垢版2018/08/13(月) 08:54:49.38ID:aWjwgJVg
Selenium WebDriver を使って、Nokogiri で、DOM を構築して、
JavaScript(JS) を使って、そのDOMで、body 以下を更新しようとしたが、エラーになる

つまり、DOMの構築には、JSではなくNokogiriを使った。
なるべく、JSではDOMを構築したくない。面倒だから

p inner_body = %(<div class="thread">あ</div>) #=> "<div class=\"thread\">あ</div>"

jsCode = <<"EOT"
var element = document.querySelector('body');
element.innerHTML = "#{ inner_body }";
EOT

driver.execute_script jsCode # JavaScript を実行

ただし、下のように書くと、body以下は正常に更新される。
element.innerHTML = '<div class="thread">あ</div>';

違いは「\"thread\"」の、ダブルクォーテーションのエスケープなのかな?
Nokogiriで構築したDOMを、JSにどうやって渡せば良いのか?
0699デフォルトの名無しさん垢版2018/08/13(月) 09:17:49.80ID:TQG/Mzv/
> Nokogiriで構築したDOMを、JSにどうやって渡せば良いのか?

うん、でもいま面倒なことになってるよね?
0702デフォルトの名無しさん垢版2018/08/13(月) 20:08:09.68ID:1mtdXF6K
それがルビリスト
皆呆れてるだろうが
個人的にすごく良い流れなので
もっと頑張れ
0705698垢版2018/08/13(月) 23:52:36.83ID:aWjwgJVg
p inner_body = %(<div class="thread">あ</div>) #=> "<div class=\"thread\">あ</div>"

以下は、jsCode を、puts, p したもの

(A) element.innerHTML = "#{ inner_body }"; の場合

var element = document.querySelector('body');
element.innerHTML = "<div class="thread">あ</div>";

"var element = document.querySelector('body');\n
element.innerHTML = \"<div class=\"thread\">あ</div>\";\n"

(B) element.innerHTML = '<div class="thread">あ</div>'; の場合

var element = document.querySelector('body');
element.innerHTML = '<div class="thread">あ</div>';

"var element = document.querySelector('body');\n
element.innerHTML = '<div class=\"thread\">あ</div>';\n"

A は、" の対応が崩れるから、ダメ。
一方、B は正常に処理される

どうやれば、変数をBのように展開できるのか?
0707698垢版2018/08/14(火) 00:39:13.09ID:6NKcX7Ow
p inner_body = %(<div class="thread">あ</div>) #=> "<div class=\"thread\">あ</div>"

以下は、jsCode を、puts, p したもの

>>706 の、
(C) element.innerHTML = '#{ inner_body }'; の場合。
>>705 の(B) と全く同じになった!

var element = document.querySelector('body');
element.innerHTML = '<div class="thread">あ</div>';

"var element = document.querySelector('body');\n
element.innerHTML = '<div class=\"thread\">あ</div>';\n"

"#{ inner_body }"
'#{ inner_body }'

まさか、シングルクォーテーションで変数展開できるとは!
神!
0708698垢版2018/08/14(火) 00:47:37.74ID:6NKcX7Ow
5ch ブラウザみたいに、スレに書き込んである画像のURL を、
自動的に、<img> に展開して表示するものを自作している

Selenium WebDriver を使って、Nokogiri で、DOM を構築して、
JavaScript(JS) を使って、そのDOMで、body 以下を更新しようとしている

わざわざ、Sinatra, Vue.js などを使うまでもない。
標準添付ライブラリのERB は、使っても良いかも
0709デフォルトの名無しさん垢版2018/08/14(火) 10:11:41.38ID:UwXfpacN
>>703
なるほど
腑に落ちる意見
0711デフォルトの名無しさん垢版2018/08/14(火) 19:28:42.42ID:0jKmoemw
Action Cableを使用してるアプリってもうある?
0712デフォルトの名無しさん垢版2018/08/14(火) 20:22:35.95ID:cWcfj41B
BIOSが夏時間に対応していると、OSの時刻までずれてしまう
これ比較的最近の話だからな


http://naitaku.hatenablog.com/entry/2017/04/06/012238

> RTCにはタイムゾーンや夏時間を扱う仕組みは一般にはありませんので、
> OS側でタイムゾーンや夏時間を管理することになります。
> (実はRTCに夏時間を扱う仕組みがあって誤発動したというのが今回の原因なのですが)

> RTC の Daylight Savings Enable (DSE) という機能について
> 現代のOSでは上で述べたようにタイムゾーンや夏時間を管理しているのですが、
> 昔(DOSとかの時代?)はOSはそんな賢い機能はなくRTCの時刻がそのままローカルタイムでした。
> そんな時代に夏時間を扱うためにハードウェア的に実装されたのが DSE という機能です。

> またブコメで「日本のタイムゾーンにしていれば夏時間は自動的にオフになるはず」というものがありましたが、
> DSEの設定値はOS上の夏時間の設定とは無関係です。OSは上で述べたように夏時間を管理していますので
> RTCが勝手に1時間進んだり遅れたりすることは想定していないはずです。
> したがって現代のパソコンではDSEは無効になっているのが正しいです。
0713698垢版2018/08/14(火) 23:59:51.71ID:6NKcX7Ow
p inner = %(a"あ"b) #=> "a\"あ\"b"

outer = <<"EOT"
'#{ inner }'
"#{ inner }"
'X'
"Y"
EOT

以下は、outer を、puts, p したもの

'a"あ"b'
"a"あ"b"
'X'
"Y"

"'a\"あ\"b'\n
\"a\"あ\"b\"\n
'X'\n
\"Y\"\n"

つまり、#{ inner } だけが変数展開されているだけ。
ヒアドキュメント内の、', " は、そのまま表示されているだけだった
0714デフォルトの名無しさん垢版2018/08/15(水) 08:50:55.79ID:WdeJX/bN
Ruby FFIを使ったエクステンションの作り方
http://kazegusuri.hateblo.jp/entry/2014/03/02/192729

FFI(Foreign function interface)
コンパイルがいらない、多言語を呼び出すためのインターフェイス

RubyにおけるFFIは、libffi

こんなのがあるのか

Windows で、クリップボード機能を使おうとして、
win32-clipboard gem の文書を見ていて、FFIを見つけた
0716デフォルトの名無しさん垢版2018/08/15(水) 23:20:26.11ID:0fz536jj
なにか嫌なことでもあったのかな
0717デフォルトの名無しさん垢版2018/08/16(木) 08:21:45.86ID:IiF9TGTT
str.chomp!.strip!

末尾の改行を削除して、先頭末尾の空白を削除するのを、メソッドチェーンで書いたけど、
chomp! は、改行がない場合に、nil を返すのでエラーになる

メソッドチェーンに出来ないから、分けて書くしかない

str.chomp!
str.strip!

nil を返す可能性があるものは、メソッドチェーンに出来ない
0719デフォルトの名無しさん垢版2018/08/16(木) 09:05:20.86ID:IiF9TGTT
拡張子で、画像ファイルかどうかを判別する際に、
大文字の拡張子を、downcase で小文字に変換して判別していますが、これで良い?

それとも、String#casecmp を使う方が良いの?
どう書けば良いの?

file_extname = ".JPG"

# . を削除して、小文字にする
file_extname.delete!(".").downcase!

extnames = %w(png jpg jpeg gif) # 画像の拡張子
extnames.include? file_extname # 含まれている?
0721デフォルトの名無しさん垢版2018/08/16(木) 13:00:48.11ID:JKxb8y7B
>>719
file_extname.delete!(".").downcase! は
file_extname.delete!(".")&.downcase!
とでもしないとfile_extnameにドットがない時にエラーになる
ドットから始まることが分かってるなら
hoge = file_extname[1..-1].downcaseとでもすべきだし
ドットから始まることが分かってないなら
file_extname[/\.\K[^.]+$/]的なことでもしないとだめ
そもそもfile_extnameを破壊的に変更するのがそもそも気持ち悪い

extnames = %w[jpg gif png]
path = '/hoge/fuga/hage.jpg'
file_extname = File.extname(path)
extnames.include?(file_extname[1..-1].downcase) if file_extname[0] == '.'
0722デフォルトの名無しさん垢版2018/08/16(木) 13:13:38.65ID:JKxb8y7B
ていうかこのくらいの処理なら正規表現で書くわ

files = [
'/hoge/fuga/piyo.jpeg',
'/hoge/fuga/piyo.piyo.JPg',
'/hoge/fuga/png',
'/hoge/fuga/gif.txt'
]

files.each {|f| p f.match?(/\.(?:jpe?g|gif|png)\z/i) }
#=> true
true
false
false
0723デフォルトの名無しさん垢版2018/08/16(木) 17:05:40.50ID:dflIWUnx
Ruby de GUI for Windows
RScript(ActiveScriptRuby)→良くも悪くもHTA、要インストール、最新版に追従していない
wxWidgets(wxRuby)→高機能、環境構築が面倒、機能によっては罠があったり不安定だったり、コントロール類のデザインに手間がかかる
Tcl/tk(Ruby/Tk)→導入が容易、機能面はwxRubyに劣る、コントロール類のデザインに手間がかかる
fiddle(WindowsAPI)→何でもできる、配布サイズが小さい、茨の道
(Webブラウザ組み込み型→現状なし?、出てきたとしても配布サイズの肥大化は不可避)
0725デフォルトの名無しさん垢版2018/08/16(木) 20:14:41.09ID:R55yZ6lr
拡張子発明したやつ天才だわ
名前にファイルの種類を埋め込むとか一見ダサそうだけど理にかなってる
一方でマックバイナリは糞だわ
0726デフォルトの名無しさん垢版2018/08/16(木) 20:28:51.12ID:yarUS0V8
RubyやRailsの認定試験は役に立つ?
0727デフォルトの名無しさん垢版2018/08/16(木) 20:33:53.69ID:R55yZ6lr
拡張子の何が凄いって
あくまでそれが何であるか種類を表しているだけで
どう扱われるかはOSの設定次第ってところ

これがRubyみたいな古い考えの頭のやつがやると
ファイルは自身がどう扱われるべきか知っているべき
とかアホみたいなこと考えだして
マックバイナリみたいな糞が出来上がる
だが実際には拡張子ぐらいが一番使いやすい
0729デフォルトの名無しさん垢版2018/08/17(金) 23:46:41.00ID:Ho6XjkKO
シンボルリテラルってなんのためにあんの?
0730デフォルトの名無しさん垢版2018/08/18(土) 00:19:00.23ID:Aune6CZV
>>729
メタプログラミングのため
ソース上に現れる変数名やメソッド名とかってソースを解析する時点で全て把握できてるわけだから、
それを予め数値に置き換えてしまうことで効率よく扱おうという伝統的なコンパイラ技法があるんだけど、
Rubyはメンバ検索の動作を独自に定義できたりするので、その置き換え後の数値をRuby上のデータとして扱えなければならない
そのために用意されてるのがシンボルオブジェクトでありシンボルリテラルである
一方で、数値じゃなくて変更不能な文字列を使えばそんなもん要らなくね?という説もあって、実際Matzもそうすべきだったと失敗を認めている
というわけで、今となっては変更不能でちょっと不便な文字列のようなもの、以上の意味はない
0731デフォルトの名無しさん垢版2018/08/18(土) 00:44:14.43ID:Aune6CZV
ちなみにRails専用DSLに成り下がって以降のRubyではRailsの影響でシンボルをキーにしたHashを引数に渡すということがよく行われるけど、
これはクォーテーションより:の方が書くのが楽だからとか、
文字列よりシンボルをキーに使ったほうがハッシュの検索が速いと信じられていた(今のRubyではこれは正しくない)からといった
あまり本質的でない理由によるもので、シンボルじゃなくて文字列でも何の問題もないよ
0732デフォルトの名無しさん垢版2018/08/18(土) 01:15:49.75ID:oFUm5YlZ
>>729
不変性と同値時の同一性が保証された文字列は便利でよく使うから

不変だと特にハッシュのキーとして安全に運用できる
多数出現する同値を同一にできるとメモリが節約できる
0733デフォルトの名無しさん垢版2018/08/18(土) 13:39:59.13ID:L9SCjUBJ
>シンボルじゃなくて文字列でも何の問題もないよ
うわあああああw
0734デフォルトの名無しさん垢版2018/08/18(土) 14:45:55.55ID:h7OdrOPI
frozenになるだけでオブジェクトは別に作られるのかと思ったらこれじゃ本当にSymbolと変わんねえなw
でもSymbolもなんだかんだ好きだけど

ruby --enable=frozen-string-literal -e 'p 1000.times.map{"foo".object_id}.uniq'
#=> [20966820]
0735デフォルトの名無しさん垢版2018/08/18(土) 14:49:31.46ID:h7OdrOPI
あもともとfrozenな文字列は使いまわしてたのか
$ ruby --disable=frozen-string-literal -e 'p 1000.times.map{"foo".freeze.object_id}.uniq'
[20983260]
0736デフォルトの名無しさん垢版2018/08/18(土) 16:08:23.94ID:Aune6CZV
>>733
MatzがしれっとSymbolをStringのサブクラスに変更しようとしたの知らんのか
結局互換性の問題でMRIメンバーから大反対されて却下されたけど、
今Rubyを完全に再設計するならまず間違いなくシンボルリテラルは単なる文字列になり、Stringは常に変更不可になる
Railsのパフォーマンス改善のためにRubyに導入されたシンボルGCなんて、
それこそ本来のシンボルの意味からすると全く必要ないはずの馬鹿げた機能だ
もはや誰が見てもSymbolは事実上単なる文字列
0737デフォルトの名無しさん垢版2018/08/18(土) 18:57:05.66ID:IyhzoKxX
最下位bit使って
整数の範囲を減らしてまで
シンボル空間作ったのに
互換性無いですかそうですか
0738デフォルトの名無しさん垢版2018/08/18(土) 21:19:08.78ID:NYofKyoT
>>731
>メタプログラミングのため

後半の内容とは何ら関係しない
覚えたてのメタプログラミングって単語を使いたいだけちゃいますか


>Railsの影響でシンボルをキーにしたHashを引数に渡すということがよく行われるけど、

Railsで最初にRubyに触れた人にとってはそう感じるだろうけど、
ハッシュのキーとしてシンボルを使うのはRails以前から普通だったよ


>>736
>Railsのパフォーマンス改善のためにRubyに導入されたシンボルGCなんて、

シンボルGC導入のきっかけは(ブルートフォース攻撃に対する)セキュリティ対策だよ
パフォーマンス改善のために導入された文字列のfrozenデフォ化とごっちゃにしてる
0741デフォルトの名無しさん垢版2018/08/19(日) 01:31:27.62ID:wM6XArJ0
Selenium WebDriver, Nokogiri を使って、文字列からHTML を作って、
それをJavaScript で実行して、DOM を更新しているけど、
こういう原始的なやり方で良いのかな?

もっと、ERB とか、Vue.js みたいな、UI コンポーネント指向の書き方はできないのかな?

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

# 画像ノード
img_wrapper_str = <<"EOT"
<div class="img_wrapper"><img></div>
EOT

picture_urls.each do | pict_url | # 画像のURL
img_wrapper = Nokogiri::HTML::DocumentFragment.parse img_wrapper_str

img = img_wrapper.at_css "img"
img.set_attribute('src', pict_url) # 属性

img_wrapper.parent = content_wrapper # 親
end

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

driver.execute_script jsCode # JavaScript を実行
0742デフォルトの名無しさん垢版2018/08/19(日) 08:45:22.44ID:vb2L7br6
すいません、プログラミングの世界に最近初めて入ったんですけど
C++やろうとしたら別のスレでRubyとjava勧められたのでやろうと思ってるのですが
Rubyはプログラム初心者に向いてますか?
それと実行環境はVisualStudioを使えますか?
この2点教えてください
0743デフォルトの名無しさん垢版2018/08/19(日) 08:50:30.37ID:5Q8kr7ts
>>742
Rubyは開発陣がWindowsアンチばかりでWindowsとRubyは極めて相性が悪い
初心者云々以前に、Macに乗り換える気がないならRubyは論外
WinでスクリプトならPythonにしよう
絶賛落ち目中のRubyよりよほど将来性があるし初心者にもわかりやすいしWinで使いやすいしVisual Studioでもサポートされている
0745デフォルトの名無しさん垢版2018/08/19(日) 09:52:05.30ID:wM6XArJ0
RubyInstaller for Windows がある。
エディタは、VSCode

ただし、Windowsで、irb を使うと、日本語でバグるから、
irb だけは、Windows10 なら、WSL でLinux(Ubuntu)側から使う

paiza.IO, codepad などのサイトで、ブラウザからプログラミングするのが簡単。
他には、progate という学習サイトもある

環境構築には、数十のLinux コマンドも覚えるべき。
絶対・相対パス、環境変数PATH の仕組みなども知らないと無理

ruby -v
例えばこういう、ruby のようなパス無しのコマンドを入力すると、
どういう仕組み・順序で、PC 内から、そのコマンドの実行ファイルのある場所を探し出すのか?

つまり、こういうOS の知識がないと、
コマンドプロンプト・PowerShell などのシェルを使えない

ほとんどの人は、これらの勉強ができず環境構築ができないから、
環境構築のいらない、Excel エンジニアになるしかない!

つまり、プログラマーにはなれない人!
0746 ◆QZaw55cn4c 垢版2018/08/19(日) 10:20:51.08ID:bW/fB7v7
>>742
C++ をやるんだったら Java にすればいいと思います
0747デフォルトの名無しさん垢版2018/08/19(日) 10:58:48.68ID:vb2L7br6
>>743
そうなんですか。Win10使ってるんですけどやめたほうがいいですか...
別スレでC++始めるならまずたのしいRuby 第5版、2016 とスッキリjavaやってからにしとけって言われたので
聞いてみたのですがあまりよろしい選択ではなかったですか。
色々調べてみるとrubyは簡単な言語の上位にランクインしてたので覚えやすいのかなって思ってたんですが

PythonはVisualStudioで出来るんですね。いいこと教えていただきありがとうございます。
>>745
一応VisualStudioでRubyもやれるんですか
LinuXはOS?ですか?あまり良くわからないんですが、かなり敷居は高そうですね……
paiza等もブラウザで出来るみたいなんですが入力とかクラスとかの機能が使えないみたいで
色々不自由しそうで、なるべく実行環境整えたいのですが、今の段階では厳しいですか。
教えていただきありがとうございます。
0749デフォルトの名無しさん垢版2018/08/19(日) 11:07:38.97ID:f0B2PJq7
>paiza等もブラウザで出来るみたいなんですが入力とかクラスとかの機能が使えない
そんなことはない普通に使える
実行環境構築に自信がないならブラウザコンソールからJavascriptやっとけ
0750デフォルトの名無しさん垢版2018/08/19(日) 11:08:29.44ID:vb2L7br6
>746
別スレで教えていただきjava環境導入出来ました。ありがとうございます!
せっかくお勧めの入門書2冊教えてもらったので両方の言語やろうかなって思って聞いてました
少しでもC++の理解が簡単になるならやっとこうと思ったんですけど無意味ですかね
0752デフォルトの名無しさん垢版2018/08/19(日) 11:20:28.30ID:vb2L7br6
>>748
そこまで本格的にやる予定ではなくて,
別スレでプログラム0から始める奴がC++からやっても理解できない。
たのしいRuby 第5版、2016 とスッキリ分かるjavaやってからにしろ!って言われて
少し遠回りしてでもやろうと思ってたんですが、今聞いた感じだとあまり入門者がやる言語ではないみたいですかね…
pythonとjavaとりあえずやってみます。ありがとうございました
0753デフォルトの名無しさん垢版2018/08/19(日) 11:28:00.78ID:oQXHWYB7
C++やるつもりならなおさらPythonがおすすめだな
Pythonは設計思想が比較的C系に近いからC++やJavaにも馴染みやすいよ
RubyはRubyが最高だと信じて閉じ籠って他の言語やりたがらない人が多い
0754745垢版2018/08/19(日) 11:42:35.15ID:wM6XArJ0
「たのしいRuby」「スッキリjava」は薦めたのは、俺だよ

Windows のユーザー・システム環境変数の設定画面を使えないと無理。
この画面の環境変数PATH を、穴のあくほど見つめる。
新しく何を追加したのか

絶対・相対パスの違い。
これがわからないと、VSCode で、PowerShell から実行できない

cd, ls などの、基本的な20ぐらいのLinux コマンドも覚えるべき。
PowerShell でも、そのまま使えるから。
例えば「cd ..」これの意味がわからないと、PowerShell を使えない。
コマンドプロンプトはややこしいから、なるべく使わない方が良い

C++ なんて、5年以上先の話。
環境構築できないと無理

paiza.IO, codepad などのサイトで、ブラウザからプログラミングするのを薦める。
progate という学習サイトで学習する人も多い
0756745垢版2018/08/19(日) 11:50:54.76ID:wM6XArJ0
「たのしいRuby」「みんなのPython」「スッキリjava」の3冊を読めばよい

「たのしい・みんなの」の2冊は双子。
ただし必ず、たのしいから読むこと!
みんなのから読むと、わからないから苦戦する

ただし、みんなのは、AI・機械学習しない人には、無駄が多い。
ウェブ系なら、たのしいRuby

HTML, CSS, JavaScript も必要
0757デフォルトの名無しさん垢版2018/08/19(日) 11:59:42.65ID:EuNb7t2q
今からJavaをするくらいなら、C#をしたほうが一億倍はいいと思うが。
とくにWindowsなら。
0758デフォルトの名無しさん垢版2018/08/19(日) 12:01:03.16ID:AHbKk0RR
>>742
プログラミング言語は道具だ。道具を使って何をしたいか(目的)が重要なのではないのかな
逆に目的が決まれば適したプログラミング言語も自然と絞られてくる
なんとなくならメジャーなのをやっておけとしか・・・
0759745垢版2018/08/19(日) 12:04:48.91ID:wM6XArJ0
例えば、C++ のロベールを読むよりも、

「たのしいRuby」「みんなのPython」「スッキリjava」の3冊を3回読む方が、
はるかに速く読めるし、得るものも大きい。
50時間もあれば、全部読める

一方、C++ で50時間使っても、ほとんど何も作れない。
やってみればわかるけど、時間の無駄

C/C++ などポインタがある言語は、すぐにバグるから、すごく時間を損する
0760745垢版2018/08/19(日) 12:52:39.81ID:wM6XArJ0
https://rubyinstaller.org/

Ruby Installer を使うなら、2.4 系を使う。
2.5 系は、まだ新しいから使わないように

irb は日本語でバグるから、使わないように。
使うなら、WSL でLinux(Ubuntu)側で、irb を使う

VSCode もインストールして、Rubyの拡張機能も入れてみれば?
0763デフォルトの名無しさん垢版2018/08/19(日) 13:35:43.71ID:plhuPGbS
web上では見たことあるけど
出版物上で観るのは初めて感
0766745垢版2018/08/19(日) 14:30:49.79ID:wM6XArJ0
言語の初心者用の本は、PCの初心者用の本じゃない!

言語の本はあくまで、その言語を知らないだけで、
環境変数とか、絶対・相対パスとか、cd, ls などの基本コマンド、
PowerShell の使い方などは、知っている事が前提

こういうOS の知識を、教えている本はない。
それを書けば、言語を説明するページが減るから、書かない

つまり言語の本は、PCの初心者を対象としていない!
既に、OS の知識はあって、その言語だけを知らない人向け
0768745垢版2018/08/19(日) 14:46:26.87ID:wM6XArJ0
762 みたいな本を書いている奴は、勉強を何もわかっていない。
なぜ生徒が、プログラミングを嫌うか

言語には、勉強する順番がある。
小学生にいきなり、大学教育をしても無駄。
小中高大学と、個人の成長には、勉強する順番が重要。
知識を下から、積み重ねていかないといけない

1. 動的・軽量言語
Ruby, Python, JavaScript

2. 静的言語
Java, Kotlin, C#

3. ポインターのある言語
C, C++

今の大学教育では、C から教えているから、皆プログラミングはしょーもないってやめる。
これは、Rubyの女神・女優の池澤あやかが言ってる
0769デフォルトの名無しさん垢版2018/08/19(日) 15:14:41.19ID:CsoxUTBy
>>768
教養時代に必修科か準必修科目でRubyやったぞ
薬学とか農学部進学予定の奴までやってたのはかわいそうだったけど
0770デフォルトの名無しさん垢版2018/08/19(日) 15:33:42.02ID:aRJ7Tr37
>>753
つまり、Python信者は他言語スレまで出張してPython推しするほど必死だと
0772デフォルトの名無しさん垢版2018/08/19(日) 16:00:26.64ID:wM6XArJ0
ラズパイでは、Python も良いけど

ウェブ系では、Ruby が強い。
Rails から、Vue.js, React も使える
0775デフォルトの名無しさん垢版2018/08/19(日) 16:35:26.45ID:plhuPGbS
プッ
0777デフォルトの名無しさん垢版2018/08/19(日) 17:01:32.24ID:aRJ7Tr37
>>743
つまりPython推しのためであれば、他言語スレでの荒らし行為も正当化されると
いやあPython信者って怖いですね
0778777垢版2018/08/19(日) 17:02:42.12ID:aRJ7Tr37
アンカミスを訂正:
 X:>>743
 O:>>776
0779デフォルトの名無しさん垢版2018/08/19(日) 20:07:29.27ID:xR7/CWZ6
俺はPythonよりRubyの方がずっと好きだけど
(Railsプログラマーを目指してるんでもなきゃ)
これから何か始めようって人には断然Pythonを薦めるし
自分のお気に入りだからってむやみにRubyを薦める奴の見識は疑うね
0781 ◆QZaw55cn4c 垢版2018/08/19(日) 21:12:05.24ID:bW/fB7v7
>>780
CASL なんて覚える気になりません、といって、x86 のいい教科書がありませんね
誰か書いてほしい
0782デフォルトの名無しさん垢版2018/08/19(日) 22:30:32.56ID:aRJ7Tr37
>>779
つまり:

 俺はRubyよりPythonの方がずっと好きだけど
 (機械学習プログラマーを目指してるんでもなきゃ)
 これから何か始めようって人にRubyを薦めることもあるけど
 自分のお気に入りだからってむやみにPythonを薦める奴の見識は疑うね

ってことですね
Python信者の皆様、お勤めご苦労様です
0783デフォルトの名無しさん垢版2018/08/19(日) 22:56:05.02ID:xR7/CWZ6
>>782
そりゃひねくれすぎだろ…お前いったい何と戦ってんの?

ただでさえRubyの評判は落ち目なんだから
狂信者が必要以上に貶めるのはやめにしてほしいわ
0784デフォルトの名無しさん垢版2018/08/19(日) 23:09:03.67ID:wM6XArJ0
>>780-781
2人のイリノイ大学生が使った、LLVM に世界が飛びついたけど、
日本では既に情報処理資格に、仮想アセンブラ CASL2 があった

LLVM/Clang 実践活用 ハンドブック、出村成和、2014

詳説 Cポインタ、2013、オライリー・ジャパン

OSのすべての機能を学びたいなら、ムック本の
Linuxエンジニア養成読本、第3版、2016
0785デフォルトの名無しさん垢版2018/08/19(日) 23:56:53.17ID:/dQ+RHN7
>>752
プログラミングの基本って、
・変数への代入、関数(メソッド)の使い方
・配列、ハッシュ(連想配列)とかのデータ構造
・値の比較と条件分岐(if文とかswitch文)
・繰り返し処理(do while文とか)
こういうのだけど、これはどの言語にもあるものだから、
一度覚えればほぼそのまま使い回しがきく。
(if文じゃなくてif式、とか若干の違いを言語ごとに覚えるだけ)

あとは「オブジェクト指向」の考え方というか、
概念みたいなのを理解できてれば、
どの言語に移ってもそんなに苦労せず使えるようになる。

で、そういう基本は、C++でもJavaでもRubyでもPythonでもJavaScriptでも、
どれやったって学べるわけだけど、
最近は3DCGのアプリとか、機械学習とかのジャンルで
Pythonが採用されるケースが多いので、
ゼロから始めるなら使い道の多いPython、みたいな意見がどうしても多くなる。
(Rubyは使いやすい言語だけど、Webサイト構築以外での採用例があまりない)

けど、「自分のやりたいこと」がなにかを決めた上で、
「それを最短距離でできる言語はどれか」を
詳しい人に教えてもらって始めるのが一番おすすめ。
(自分のやりたいことがC++でないとできないなら、最初からC++をやるべき)

特にやりたいことがなければ、
本屋で各言語の入門書をいろいろ立ち読みして、
自分が理解できそうな言葉で書いてあるやつを選んで始めれば、と思う。

ちなみにPythonもJavaも、初心者が学ぶ言語としては
悪くない選択肢です。
0790デフォルトの名無しさん垢版2018/08/20(月) 10:03:01.56ID:1nsldRzy
まぁ古参はC、下手したらアセンブラからの経験者で
トレンドに合わせてステップアップしながら言語を覚えただろうから
初心者が何の言語から勉強するべきかなど分かるはずもないんだよな

シンプルで覚えることが少なく今なお第一線級で活躍している言語なら間違いなくC言語
C言語ほどシンプルで実用性のある言語はない
OSが書かれてる本物の言語ってだけでもモチベーションになる
全ての実用言語の元になってると言えるし、最初にやるには良い言語だ
良くも悪くも

一方で楽しさ優先なら間違いなくC#でポトペタ開発でしょ
めちゃ楽しいが、WPFなどの背景にある仕組みの複雑さに挫折するかも
でも触ってて楽しいだろうなぁ、画面作るだけならマウスだけで出来るし

あぁRubyとかPythonとかは寄り道みたいなものだから最初にしなくてよいよ、ハマるから
動的型のスクリプト言語など色物なのに、最初にやるとか、どうかと
俺は絶対おすすめしないね、プログラミング言語の本流じゃないからね
特にここ10年は静的型が本流ってみんな知ってるだろ、いじわるめが
0791デフォルトの名無しさん垢版2018/08/20(月) 10:13:16.57ID:1nsldRzy
あと、環境設定がどうとか、約一名盛り上がっているようだが
そういう人にはVisualStudioがおすすめだろう
これだけ完成度の高いソフトが無料で使えるのは凄すぎる
トータルで言えば、初心者におすすめなのは
VisualStudioとC#でポトペタ開発って事になるのかな
でもまあ、C#もバージョンがどんどん上がって今やとても複雑な言語だからなぁ
ソフトウェア業界が10年20年かかって常識にしてきたことを
一気に追体験しようというのはなかなか酷だわな
本当はC言語とWin32APIあたりから始めるのがシンプルで理想なんだが
モチベーションがつづくかな、それさえ気にしなければよい選択なんだが
どちらにせよ、RubyやPythonのような本流主流じゃない言語を最初にやるのは止めたほうが良い
筋が悪い、悪かった、というか悪いお手本みたいな言語だから
0792デフォルトの名無しさん垢版2018/08/20(月) 10:21:38.59ID:1nsldRzy
手続き型言語でプログラム書くなら、どのみちメモリのことは意識しなければならないし
ポインタが分からないって時点でプログラマには向いてないというか何というか
ただ、結局、安全かどうかなんだよ
その点C言語は安全とは言い難いが
意図せずヌルポするのはヌル安全の機能が無い言語ではどれも同じようなものじゃろ

その観点から言うと、単なるタイポすらコンパイル時にチェックしてくれない
動的型言語は初心者に進めるのは止めたほうがよい
初心者ほどタイポするだろうからな
それが言いたかった
0796デフォルトの名無しさん垢版2018/08/20(月) 15:18:21.21ID:qTCaqW3V
>>792
> 単なるタイポすらコンパイル時にチェックしてくれない動的型言語

(きっとRubyのdid_you_meanはおろか70年代のLispにすらあったDWIMも知らないんだろうな…)
0798デフォルトの名無しさん垢版2018/08/20(月) 15:30:49.82ID:1nsldRzy
とにかく、初心者はプログラムを間違えるものなんだよ
一発で動くことは先ずない
それならコンパイルの時点でよりたくさんのエラーを検出してくれた方が学習が捗るだろ?
初心者にRubyなんか薦めるなって事だ
その人を蹴落としたいなら別だが
0801デフォルトの名無しさん垢版2018/08/20(月) 16:43:09.37ID:GIvuOFoC
>>799
重要なのはプログラム実行前ってことだよ
静的とも言う。

実行した後はいろんな状態があり得るが
実行前というのは状態は一つだ。

つまりいろんな状態にしなければわからないというのは
問題を発見するまでに果てしなく時間がかかるということ
だからなるべく実行前にわかるようにするのが良い
0802デフォルトの名無しさん垢版2018/08/20(月) 16:47:09.67ID:fD9Nu4LZ
いやeval getsするだけで可能性は可算無限でしょ
eval gets
p A
# input
A = 'hoge'
とかどうすんのよ
0806デフォルトの名無しさん垢版2018/08/20(月) 18:09:19.60ID:1nsldRzy
何だったらコンパイル時どころか
最近のエディタだったら書いてる途中でリアルタイムで文法チェックするからな
間違ってたら波線とか出る
そういう状況なので、なるたけ多くのことが静的にわかったほうが良いんだよ
実行時にエラーにするなら馬鹿にでもできる!!って思うし
やってみてダメでしたってな、バカっぽいでしょ
事前に分かるから賢い
0809デフォルトの名無しさん垢版2018/08/20(月) 18:50:47.34ID:fD9Nu4LZ
このスレって質問者をほっぽりだして変なのがしゃしゃり出てくること度々あるよな
0811デフォルトの名無しさん垢版2018/08/20(月) 20:37:42.02ID:GIvuOFoC
>>810
いや、自分で書いたコードの話なんだけど?
Smalltalkは自分の書いたコードがすでに動いてないと
そういうエラーはでないでしょ。
0812デフォルトの名無しさん垢版2018/08/20(月) 20:43:46.47ID:NYBtZzEL
>>811
バカなの?コンパイル時って言ってるやん何度も

ともかくスペルミスくらいなら動的型言語でも静的にチェック可能なの

わっかんないやつだなー
0813 ◆QZaw55cn4c 垢版2018/08/20(月) 20:48:48.89ID:VU5jvdn2
>>812
>スペルミスくらいなら動的型言語でも静的にチェック可能なの
型宣言がないのに、そんなことが可能なのでしょうか?
0814デフォルトの名無しさん垢版2018/08/20(月) 20:56:45.04ID:GIvuOFoC
ローカル変数だけだったりしてねw

近くの情報は周辺を見ればいいだけだから問題はすぐに分かるんですよ。
遠くの情報、例えばインターフェースが一致しているかどうかが
わからないと使い物になりませんね
人間がやると大変なものこそコンピュータにやらせないと
0815デフォルトの名無しさん垢版2018/08/20(月) 21:35:34.32ID:1nsldRzy
なんで静的型の後追いみたいなことで苦労してるんだろうね
初めから静的型言語使えばよいだけなのにね
怠惰を求めて勤勉に行き着くってやつなのかね
動的型全体がそうだよね
処理系書いてる連中も、言語使ってる連中も
楽しようとして最終的に苦労する
なにこれコワイ
0816デフォルトの名無しさん垢版2018/08/20(月) 21:43:42.44ID:NYBtZzEL
>>813
構文木にできれば(ローカルに限らず)未宣言の変数だとか未知のメソッド呼び出しだとか程度なら
簡単に分かる
Lispみたいに構文も単純なら構文ミスも指摘して修正候補を提示することも可能(例:InterlispとかのDWIM)
0817 ◆QZaw55cn4c 垢版2018/08/20(月) 21:52:27.57ID:VU5jvdn2
>>816
>未宣言の変数だとか
動的型付け言語ってそもそも変数宣言はないのでは?
0818デフォルトの名無しさん垢版2018/08/20(月) 22:15:42.75ID:NYBtZzEL
>>817
変数を宣言させるかとそれに型情報が付くかどうかは別の話だよ
変数宣言をさせたら動的型言語じゃなくなるという法はない
宣言を課さない言語でも初回代入を宣言と見なす場合もある
0819 ◆QZaw55cn4c 垢版2018/08/20(月) 22:20:21.86ID:VU5jvdn2
>>818
>変数宣言をさせたら動的型言語じゃなくなるという法はない

たしかにそのとおりですが、
でも実際問題、変数宣言をしてかつ動的型付けである言語は存在しますか?
0820デフォルトの名無しさん垢版2018/08/20(月) 22:29:16.58ID:1nsldRzy
そんなの珍しくないよ
JavaScriptとかな
変数宣言には二つの役割があって、一つは型を宣言することだけど
もうひとつスコープを宣言するって役割もある
だから動的型言語でも素直なレキシカルスコープが欲しければ変数宣言があってもよい
一方で変数への最初の代入を変数宣言の代わりにする言語は
だいたいスコープがバグってる
ただの変数への代入か、新たな変数を宣言したのか、区別がつかないからなwww
それでnonlocalだの@だの、ダサいだろ?
ま、そういうわけで、やっぱり変数宣言は有ったほうが良いし
どうせ変数宣言するなら型を書いても良い気がするし
動的型言語が衰退するのは当たり前だったわ
なんせ、ありとあらゆるスジが悪いんだよ
0822 ◆QZaw55cn4c 垢版2018/08/20(月) 22:42:40.49ID:VU5jvdn2
>>821
def f(xyz)
"Hello, #{abc}!"
end

というメソッド定義があって
本当なら変数として xyz のところを間違えて abc と書いてしまった
というシチュエーションでも、エラーがでないでしょう?
0823デフォルトの名無しさん垢版2018/08/20(月) 22:52:22.44ID:KNimMRpP
>>822
あのさぁ…宣言を課すこととミスを検出できるか(するか)どうかはまた別の話なんだが?

今は「変数宣言をしてかつ動的型付けである言語は存在しうるか?」って話なんじゃないの?
0824 ◆QZaw55cn4c 垢版2018/08/20(月) 22:58:45.39ID:VU5jvdn2
>>823
「宣言を課す」というのは「宣言をしていない変数は変数として認識しない」という意味なのでは?
0827デフォルトの名無しさん垢版2018/08/20(月) 23:55:25.50ID:PXXr8Lzz
>>824
Rubyはそうしていないというだけで、コンパイル時に
abcが未代入(代入操作で宣言を兼ねるRubyでは未宣言にあたる)である事実や
あるいはメソッドとして未定義である事実をもってxyzとすべき記述のミスでは?との判断を下し
そうであれば修正を促すことは可能だろう?

予め釘を刺しておくけど、ミスの可能性があることとコンパイル可能であることとはまた別の話だからな!
0828デフォルトの名無しさん垢版2018/08/21(火) 00:12:58.46ID:TQPukUfs
>>824
もしかして
Rubyでは無引数(括弧なし)のメソッド呼び出し記述は同名のローカル変数のアクセス記述を遮蔽してしまう
っていう仕様をしらないとかいうオチ?

もしこのルールがなければ>>822はキミの想定通りエラーのはずだよ
0829デフォルトの名無しさん垢版2018/08/21(火) 00:21:47.25ID:kxzeRRBS
JavaScript では、var の有無で、皆ハマった。
だから、ES2015(ES6) で、let, const を作って、ブロックスコープも作った

this の挙動もおかしい。
だから、Haxe のthisは、常にインスタンスを指すように変えられた

Python でも、nonlocal とか、頭おかしいw

Ruby では、関数スコープ・ブロックスコープの2つがあるから、バグりにくい

a = 1

def f
puts a # ここで、未定義の変数を参照してエラー
puts a = 2
end

f()
0830 ◆QZaw55cn4c 垢版2018/08/21(火) 00:34:00.24ID:Wpz7rvAB
>>827
>代入操作で宣言を兼ねる
これは危険ですね
なぜなら、変数が未代入かどうか、正確には、変数が未代入「でないか」どうか、をソースコードのセマンティクスから判断するのは困難だと思うのです
0831デフォルトの名無しさん垢版2018/08/21(火) 01:41:26.90ID:WMlArXdo
>>827
Rubyは、未定義メソッドの呼び出しが可能なんじゃないか?
そのためのフォールバック用メソッドがあったはずだが。
0832デフォルトの名無しさん垢版2018/08/21(火) 01:47:26.07ID:kxzeRRBS
メタプログラミング Ruby 第2版、2015

で紹介している、Module#define_method(), method_missing() とかだろ?
0835デフォルトの名無しさん垢版2018/08/21(火) 05:20:08.29ID:dhW5/kUC
>>831
そうそう。だからRubyじゃコンパイル時にわからないんだよ。
例えば以下のように、一行目にexitしてしまえば
その下にいくら変なコードがってもコンパイル時にチェックなんかできない

exit
aaa = 1312
class Hoge
 def hoge
 end
end
h = Hoge.new
h.hage
i = IIII.new


言い換えると、動的言語ではファイル単位でしかコードを見てないので
少なくともファイル外にある情報はわからない
検出できるのは文法エラーぐらいだよ
残念なことにね。それが現実。
0836デフォルトの名無しさん垢版2018/08/21(火) 07:09:45.22ID:9qt5lkVf
だからさぁRubyが駄目ってとこを動的型言語の限界だと一般化しないでくれ
話がまったく噛み合わない
0837デフォルトの名無しさん垢版2018/08/21(火) 07:32:38.20ID:9qt5lkVf
>>831
だからミスの可能性がある(そしてその指摘や修正の提案が可能である)ことと
コンパイル可能な(つまり状況が整えば実行可能になる)コードであることとは
また別の話だって釘を刺してるだろうに…
0839デフォルトの名無しさん垢版2018/08/21(火) 07:40:39.17ID:9qt5lkVf
>>830
Ruby限定の欠陥の話がしたいのか動的型言語一般の限界の話をしたいのかをまず表明してくれ
>>813からの流れは動的型言語一般の話ってわけじゃなかったのか?
0840デフォルトの名無しさん垢版2018/08/21(火) 08:20:58.17ID:dhW5/kUC
まああれだ、Smalltakerさんがちゃんとコードで説明してくれればいい

ここでオンラインでSmalltalkを実行できる
https://www.tutorialspoint.com/execute_smalltalk_online.php

ここに
Transcript show: 'Hello, world!'.

Transcript show: 4 sqrt printString.

と書くと、「Hello, world!2.0」と表示される

ここに
Transcript show: 'Hello, world!'.

Transcript show: 4 sqrtaaa printString.
と書くと、「Hello, world!」と表示されてから
エラーが表示される。

コンパイル時にチェックが行われるというのなら4という数字に
sqrtaaaというメソッドはないから実行時前にエラーを検出できるはずだ

そうならないので、未定義メソッドの検出はできない。
反論はコードでどうぞ
0842デフォルトの名無しさん垢版2018/08/21(火) 12:52:50.65ID:eDZ5kOgA
>>840
Smalltalkの“confirm, correct, or cancel”を試したいならこれはIDEを前提とした機構なので
GNU SmalltalkのようにUNIXとの連携を重視したCUI前提の変わり種のSmalltalkには実装されておらず使えません
またPharoのように今風のシンタックスハイライトのついでに色で警告する方式がデフォになった処理系でも抑制されています
“confirm, correct, or cancel”が動く様子やその仕組みを検証したいのであればVisualWorksかSqueakあたりがよいでしょうね

SqueakならSqueakJSというWebブラウザで動作する処理系があり、これならすぐに動かせるのでお薦めです
今回のような古くからの機構に興味があるのなら DEMOS の Mini で起動できる Mini Squeak 2.2 あたりが軽くてよいのではないでしょうか
(ワークスペース変数導入後、変数名のミススペルチェックはワークスペースでは機能しないためこの点でも今回の検証には古い方がよいでしょう)
https://squeak.js.org/

起動後まずデスクトップクリック→open...→transcriptでトランスクリプトウインドウを呼び出しておき、それから
どこでもよいので(Welcome to Mini Squeak 2.2 の適当な場所でも、open...→workspaceで新しいワークスペースを開いてもOK)

Transcript cr; show: 'Hello, world!'.
Transcript cr; show: 4 sqrt printString

とタイプして入力後、2行ともドラッグして選択してから右クリック(あるいは左手のスクロールバーとの境界にポインタを合わせて左クリック)
→do it (d) で>>840のコード(cr; は出力を見やすくするために入れました^^;)が動かせます
sqrtaaaに変えて再びdo itすれば、Hello, world!と表示される*前*に“confirm, correct, or cancel”と促されるはずです


関連してLispのDWIM(これも実行前の静的時チェック)はInterlispのマニュアル第15章で取り上げられていますので参考まで
https://archive.org/stream/bitsavers_xeroxinternceManualOct1983_52302609?ui=embed#page/n389

>>796
> 70年代のLispにすらあったDWIM

同書にもあるとおりDWIMは1960年代からです
“DWIM, the Do-What-I-Mean error correction facility, was introduced into this system in 1968 by Warren Teitelman”
0843デフォルトの名無しさん垢版2018/08/21(火) 12:54:39.77ID:qWx5Zods
>>809
どこにでもいる
0845デフォルトの名無しさん垢版2018/08/21(火) 13:05:22.31ID:qWx5Zods
「間違ってRubyを始めてしまった人へ贈るPython入門」
もいいな
0846デフォルトの名無しさん垢版2018/08/21(火) 18:59:29.56ID:WMlArXdo
Pythonは、試してみたい気持ちもあるものの、よろしくないところもいくらか知ってるので、微妙なんだよなー。

そういえば、ボスが引退するそうだが、なにか変わんのかねえ。
0847 ◆QZaw55cn4c 垢版2018/08/21(火) 19:15:33.64ID:Wpz7rvAB
>>839
個人的には ruby を改良しようといろいろ画策しています、宣言付き ruby とか
動的型付け言語にて変数宣言を導入すればずいぶんと使い勝手も変わるだろうと想像しています
そういう視点でおねがいします
0849デフォルトの名無しさん垢版2018/08/21(火) 20:58:28.00ID:zx3sEUVJ
>>847
Rubyは変数宣言を省略したことが原因の仕様がらみのトラブルが少なくない
そんな犠牲をはらっても(型も含め)宣言を書かせないことがMatzの優先事項の上位にあるわけ
キミの「改良」案は何を今更だしそもそもMatzや取り巻きが耳を貸す可能性はゼロだろうね
0852デフォルトの名無しさん垢版2018/08/22(水) 00:20:47.79ID:h82tfzI1
結局、言語を改良していくと、Haxe になる

マルチ言語・マルチプラットフォーム、
this の挙動を変えて、型推論・パターンマッチ・引数付き列挙

Ruby は、JS, Python などど違って、関数スコープ・ブロックスコープがあって、
関数スコープは強固だから、変数を内側へ通さない

だから変数宣言が無くても、バグらない

ES2015(ES6)でも、ブロックスコープが採用された。
変数宣言も、以前からのvar に加えて、const, let も作られた
0853デフォルトの名無しさん垢版2018/08/22(水) 05:07:26.61ID:O2PM/1qE
>>852
なんで関数スコープとかいう小さい話してるんだ?
小さいものであれば、少し頑張れば対応可能なのは
わかってるんだよ。もっと広い範囲、オブジェクト間の通信とか
プロジェクト全体のレベルでバグが発生するから型がいるんだよ
0857デフォルトの名無しさん垢版2018/08/23(木) 12:08:41.61ID:29gBK1aD
言い出しっぺの法則
0860デフォルトの名無しさん垢版2018/08/26(日) 10:37:18.06ID:0HcSjLFv
教えてください!
[パーフェクトRuby]と[プロを目指す人のためのRuby入門 ]はどちらがオススメですか?
当方3ステップ本を学習中、仕事でRubyを使えるようになりたいと思っています。
よろしくお願いします!!
0861デフォルトの名無しさん垢版2018/08/26(日) 12:09:12.86ID:mLZLsxB6
>>860
仕事でRubyやりたいならRails以外の選択肢はないからいきなりRailsやるのがいいよ
Rails DSLは別言語なレベルにまでカスタマイズされてるから、最初に素のRubyをやるとかえって混乱するのでお勧めできない
あとはLinux使ったWebサイト運用構築のインフラ本を一冊と、AWSの本一冊かな
WebやるわけじゃないんならPythonで勝ち馬に乗ろう
0862デフォルトの名無しさん垢版2018/08/26(日) 12:46:28.68ID:w0D5YFHr
この順番で読む。
Rails は、無料のRails チュートリアルをやってもよい。
Rails の前に、Sinatra をいじくりまわすのも良い

たのしいRuby 第5版、2016

Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、
間違いやすいポイントを解説

改訂2版 パーフェクトRuby、Rubyサポーターズ、2017


改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング、黒田努、2014

パーフェクト Ruby on Rails、2014
動作環境、Rails 4.0.5, 4.1.1
0863デフォルトの名無しさん垢版2018/08/26(日) 13:00:08.38ID:2ZbuD4Bs
>>859
いらなくなったとき
0864デフォルトの名無しさん垢版2018/08/26(日) 18:33:30.03ID:kjnpmDtT
>>860
>[パーフェクトRuby]と[プロを目指す人のためのRuby入門 ]はどちらがオススメですか?

どちらもオススメだけど、難易度であれば [プロ] よりも [パーフェ] のほうが高い
[パーフェ] は幅広く高度な話題を扱うプロ必読の本だけど、
説明もプロ向けで簡潔だから初心者では読んでも意味不明な魔術書と感じるかもしれない
それに対して、[プロ] は話題を厳選して丁寧に分かり易く解説している印象を持った

だから初心者へのオススメコースであれば以下の順序になる:
・たのしいRuby
・プロを目指す人のためのRuby入門
・パーフェクトRuby
0865デフォルトの名無しさん垢版2018/08/26(日) 18:47:00.00ID:kjnpmDtT
>>861
>仕事でRubyやりたいならRails以外の選択肢はないからいきなりRailsやるのがいいよ

質問者は「Webをやりたい」と希望しているわけでもないのに
ナゼかRailsを勧める話が噛み合わない返答、日本語が不自由な人ですか?


>Rails DSLは別言語なレベルにまでカスタマイズされてるから、
>最初に素のRubyをやるとかえって混乱するのでお勧めできない

つまり:
  Pythonは手続き型プログラミングに特化して設計された言語だから、
  >>861のようなPythonプログラマには、手続き型にオブジェクト指向と関数型が融合された
  素のRubyをやると混乱した苦い経験が過去にあったのでお勧めできない、
という解釈できますね


>WebやるわけじゃないんならPythonで勝ち

つまり:
  トレンディーにセンシティブなナウいヤングメンにはPythonがお勧め
ということですね、たいへんわかりやすいです
0866デフォルトの名無しさん垢版2018/08/26(日) 19:39:05.79ID:clMe+MHZ
>>864
プロを目指す人のためのRuby入門は本当に入門用、yieldやProcの解説までで終わり。
パーフェクトRubyはメタプログラミングとかGemの作り方とか実践的なことまで書いてある。
0872デフォルトの名無しさん垢版2018/08/26(日) 21:48:43.66ID:SaWTBVer
>>871
TypeScriptはJavaScriptに引っ張られる部分がどうしてもあるからね
さすがに似たようなもんではないと思う
JavaScriptの一大メリットである環境整備のしやすさもTypeScriptにはないし

初学者ならRubyは学びやすいと思うしいいと思うよ
たのしい本とかしっかりした書籍もあるしね
0873デフォルトの名無しさん垢版2018/08/26(日) 23:11:11.23ID:2xrJOS4Z
趣味でやるならRubyは書くの楽しいしお勧めできる
手に職付けるつもりなら全くオススメしないけど
0874デフォルトの名無しさん垢版2018/08/26(日) 23:26:48.25ID:w0D5YFHr
「プロを目指す人のためのRuby入門」の著者・伊藤淳一は、YouTube の動画がよい。
無料のRails チュートリアルをやった人は、彼の動画を見るのもよい

Junichi Ito

Rails 5.1で作るVue.jsアプリケーション 〜Herokuデプロイからシステムテストまで〜
https://youtu.be/ycOeM2umXkY

プロになる人は「Effective Ruby」は読んでおけ。
どの言語でも「Effective 何々」というのは、プロの必須本
0875デフォルトの名無しさん垢版2018/08/27(月) 00:26:10.32ID:r5tUtp1V
Rubyはそのコード効率の良さからちゃちゃっと書けるのがメリット
試作や使用頻度の低いツールの作成に重宝する
0876デフォルトの名無しさん垢版2018/08/27(月) 08:02:06.98ID:QAQ5xX6o
試作(笑)
そういやsassも最初はrubyで作られていたが、
遅いって言うんで、C言語で再実装されて
今じゃそっちが主流になったな
0878デフォルトの名無しさん垢版2018/08/27(月) 12:19:20.56ID:Fz9xVlti
遅くなりましたが、返信頂きありがとうございます!3ステップ本でも苦戦しているので、これをいったん終わらせてから[プロを目指す]をやろうと思います
>>861
>>864
0879デフォルトの名無しさん垢版2018/08/27(月) 12:21:01.46ID:Fz9xVlti
>>874
動画があるのは知りませんでした!
[efective]も読もうと思います!ありがとうございます!
0881デフォルトの名無しさん垢版2018/08/27(月) 13:17:39.90ID:Q4eMB8Ps
ばずわーど
0884デフォルトの名無しさん垢版2018/08/27(月) 13:27:08.09ID:8Kt1o08C
やってみたでいいと思うよ
そこから学んだことを基礎にして別の言語に行くもよし、そのまま使い続けるもよし
0885デフォルトの名無しさん垢版2018/08/27(月) 17:37:57.10ID:LsIvpBlS
>>874
この動画みたけど酷いな…
そもそもvueのソースは全部コピペでなんの説明もない
設定ファイルで何をしているのかゴニョゴニョ言ってるだけですぐ画面移動するしまったくわからん

単に作業やってますよ的なだけだな
初心者には意味不明の動画だよ
0886デフォルトの名無しさん垢版2018/08/27(月) 22:24:37.18ID:r5tUtp1V
コーダーになりたいのかプログラマになりたいのかによって変わるんじゃね
コーダーならRoR案件をやる以外でRubyを覚えるメリットはあまりないだろう
プログラマだったら複数の言語を操れるのが普通
ソフトウェアエンジニアだったら適材適所で言語を選択できないと
0890874垢版2018/08/28(火) 00:34:49.08ID:TEJeUOom
>>885
Vue.js や、Rails チュートリアルをやった人からすれば、
Rails 5.1で、Vue.jsが動くことが確認できたから、画期的!

たった1人でも、実行できた実績があると、皆が後に続くから、価値がある

新しいものをいじくりまわして動かしてしまう、先駆者!
0892デフォルトの名無しさん垢版2018/08/28(火) 14:51:47.47ID:fwITIoXO
レンタル鯖だと軒並みRubyで組む事になる
いまどき自前で鯖用意して高いコスト払う人っているのか?
0893デフォルトの名無しさん垢版2018/08/28(火) 14:56:24.45ID:vxybgpo1
phpならともかくrubyならなんのかんのでvpsにせざるを得ないだろ。
構築めんどくせぇ…
0894デフォルトの名無しさん垢版2018/08/28(火) 15:06:29.72ID:gFwi/D9L
>>890
アホかこいつ
Vue.jsはブラウザ側で独立して動作するライブラリであり、バックエンドのAPIとAjaxで通信する
Vue使うならRailsはそのAPIを提供するだけであり、VueとRailsは直接的には何の関係もない
触れちゃいけない人なのは承知してるがさすがに目に余る
0895デフォルトの名無しさん垢版2018/08/28(火) 16:34:41.02ID:6kEMX7h9
P
Hyara
P
Hyara
ぱっぱらぱー
0896デフォルトの名無しさん垢版2018/08/28(火) 22:11:45.77ID:5S/Bzcf+
>>893
嘘ついてもすぐバレるんだからアンチスレから出てくるなよ
0897デフォルトの名無しさん垢版2018/08/28(火) 23:47:09.36ID:TEJeUOom
chef, vagrant は、Ruby で書かれている。
誰かが作った、レシピを探せば?

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

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

自分は文字列処理とかの浅瀬でしか使ってないけど、
なんか書いててノリがいいんだ
0908デフォルトの名無しさん垢版2018/08/29(水) 20:05:19.84ID:VZocGD05
>>902
わざわざRubyスレを覗いてまでアンチな意見を出したがる人間がいるということは
それだけ広まってるってことの裏返しだよ
0910デフォルトの名無しさん垢版2018/08/29(水) 20:55:22.66ID:sbo9jSpz
やっぱレンタル鯖についてるRubyで組むのが一番楽だし安い
googleとかfacebookみたいなでかいサービス以外はこれで十分やろ
0911デフォルトの名無しさん垢版2018/08/29(水) 21:50:09.05ID:ina9uBoN
>>907
文字列処理ってRubyは結構得意だと思うな。ループが書きやすいのもある
PythonやJavaScriptでやっているとストレスがたまるたまるw
0913デフォルトの名無しさん垢版2018/08/30(木) 00:32:15.61ID:HMl4aadA
Rubyでグラボ動かすのたーのしい
0917デフォルトの名無しさん垢版2018/08/30(木) 16:01:51.81ID:HtWH/5uG
bashから呼び出したりシェル代わりに使ったりするならrbenvが便利だな
0921デフォルトの名無しさん垢版2018/08/31(金) 12:29:49.35ID:xKsqnbR+
みんなエディタは何使ってるか教えて
私はatom使ってる
テーマが沢山あって楽しい
0922デフォルトの名無しさん垢版2018/08/31(金) 13:00:10.64ID:9pMrcfpD
Atomなんかまだ使ってる人いたんだ
MSのVSCodeに完敗して誰も使わなくなり、さらに開発元のGitHubがMSに買収されて完全に終わったエディタだぞ
0924デフォルトの名無しさん垢版2018/08/31(金) 16:57:57.78ID:xKsqnbR+
VS codeはターミナルの日本語が重なって表示される不具合を治す方法がわからなくてアンインストールしました……
vimとかサクラエディタとか、他にもエディタいっぱいあるけど、VS code派が多いのかな?
0926デフォルトの名無しさん垢版2018/08/31(金) 17:23:38.18ID:9pMrcfpD
Ruby以外では今はVSCodeが一世を風靡してる状況
- 大魔王マイクロソフトによって開発されたエディタである。
- VSCodeはTypeScriptという悪魔の言語によって書かれている。
- TypeScriptはこれまた大魔王マイクロソフトが人々を誘惑し静的型に引き摺り込むために開発された言語である。
- TypeScriptはRubyist達に愛されRailsのフロント用公式言語にも採用された聖CoffeeScriptを抹殺した。
こういう宗教的事情があるのでRubyistだけはVSCodeを忌み嫌っている。
0928デフォルトの名無しさん垢版2018/08/31(金) 17:39:56.72ID:958KuBfY
禿丸
0930デフォルトの名無しさん垢版2018/08/31(金) 20:59:56.48ID:YgK7xM8R
Rubyアンチが必死に特定のスレをあげてて吹く
ほんと何考えてんだ?
0931デフォルトの名無しさん垢版2018/08/31(金) 21:14:42.76ID:SCJF/jOl
荒らしがまた涌き出したのかと思ったら
◆QZaw55cn4c が帰ってきてたのか
いい加減に板を荒らすのやめろよ
0934デフォルトの名無しさん垢版2018/08/31(金) 23:28:50.61ID:N52+Kto5
>>929
アスペが多いイメージ
0935デフォルトの名無しさん垢版2018/09/01(土) 07:57:54.43ID:kUpkBQ3x
Windows のRubyist は、VSCode を使う

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

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

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

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

カッコの色が、それぞれ違う。
これが無いと、カッコの対応関係がわからないから、プログラミングできない!
0956デフォルトの名無しさん垢版2018/09/01(土) 16:56:03.17ID:30m/ucV3
未だにK2Editorを使っている。いい加減乗り換えたいが動作が重いか機能不足かの二択でいかんともしがたい
0957デフォルトの名無しさん垢版2018/09/01(土) 17:18:52.07ID:7ZnGpQEC
メソッドやクラスの定義に飛べたり、クラス名や変数名変えたらプロジェクト内の全てに更新かけてくれるIDEない?
0958 ◆QZaw55cn4c 垢版2018/09/01(土) 17:37:20.16ID:xvMvXv+W
>>950
キーバインドを emacs 式に(できれば簡単に)できるかどうか
それ以外はどうでもいい…
0960デフォルトの名無しさん垢版2018/09/01(土) 18:17:59.95ID:wk35+pf/
また荒らしが自演してるのか
0961デフォルトの名無しさん垢版2018/09/01(土) 18:48:09.50ID:ylFVE9fX
もう今やEmacsの方がVS Codeより軽いぐらいだからな
VS CodeもAtomよりはよっぽどマシだけど、それでももっさり感は否めない
となるとEmacsか、せいぜいSublime Textって選択肢になってしまう
0962デフォルトの名無しさん垢版2018/09/01(土) 18:57:40.50ID:EqLeg0R1
>>953
solargraph入れたらgemが必要と言われ、gemインスールしてからgem install soragraphしたらエラーが出て解決策が分からない
プログラミング難しいっすね……(二ヶ月目初心者)
0965デフォルトの名無しさん垢版2018/09/01(土) 20:26:57.40ID:0QGY34UC
>>962
コーディングより環境構築がややこしいのはプログラミングあるあるだから…

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

これ、最近乱立気味のビルドシステムでも同じことが言えていて、標準的な手順から外れたとたん
ビルドシステムを勉強しエキスパートにならないとにっちもさっちもいかなかったりするし
0968デフォルトの名無しさん垢版2018/09/01(土) 21:19:19.18ID:1LBe8Cyr
Win環境でのissueなんか上げても誰も相手にしないぞ
UnixではテストしたWinは知らんでクローズ
0969デフォルトの名無しさん垢版2018/09/01(土) 21:52:28.86ID:wk35+pf/
アンチが嘘つくのは毎度のことだし無視が一番
0971デフォルトの名無しさん垢版2018/09/02(日) 07:15:17.60ID:HcdhtgGT
Rubyが書けるようになるとCやJava,Pythonに対してどんなメリットがあるの?
楽しい以外で
0973デフォルトの名無しさん垢版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 も動かない
0974デフォルトの名無しさん垢版2018/09/02(日) 10:54:21.03ID:Y9KYS1Vl
>>971
そのへんよりはRubyのほうが書きやすいことは間違いない。
楽しいかどうかは外しても、楽ではある。
0975デフォルトの名無しさん垢版2018/09/02(日) 11:12:49.38ID:l7vq29kF
>>965
だめでした……
・eventmachineはインスールされていませんでした
・ご指摘のコマンドを入力しましたが、"failed to build gem native extention."のエラーが出ました

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

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

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

Live Server
ファイルを保存するだけで、ブラウザへ反映される
0979デフォルトの名無しさん垢版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]]
単純な結合になってしまいます。
0980デフォルトの名無しさん垢版2018/09/02(日) 21:16:55.54ID:XrvM+5pA
行列ってライブリ使うんじゃなかった?
Rubyで回転行列とかやってたときに標準添付のライブラリ使ったような覚えがある
というか、bcモードなんてあるのか
0981デフォルトの名無しさん垢版2018/09/02(日) 21:19:49.31ID:XrvM+5pA
アレ?
0983デフォルトの名無しさん垢版2018/09/02(日) 22:21:48.16ID:QcUTaH+n
>>971
楽しい以外は特に無いが。なにか問題が?
0984デフォルトの名無しさん垢版2018/09/02(日) 22:26:54.89ID:elP7igYW
その言語じゃないとできない。みたいなことは殆どないよ。
大抵の言語でできることは他の言語でもできてしまう。
0986デフォルトの名無しさん垢版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'する必要がある
0988デフォルトの名無しさん垢版2018/09/04(火) 01:29:42.70ID:GmOeUrEr
アンチ必死すぎだろ
0989デフォルトの名無しさん垢版2018/09/04(火) 22:49:10.90ID:JkSql3w1
漏れは、Selenium WebDriver, Nokogiri で、

自分のPC の画像フォルダにある、様々なサイズの画像を、
すべての画像の高さを、画面の80% に揃えてから、ブラウザで見てる
0990989垢版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 を実行
0991デフォルトの名無しさん垢版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で帰ってきました。
0992デフォルトの名無しさん垢版2018/09/09(日) 16:50:08.91ID:yaYW83OX
>>990
img_str = %(<img src="#{pict_path}">)
でよくない?
それにgsub使うよりdelete("\n")の方が分かりやすい
あと文字リテラルに"と'が無差別に混ざっているのが気持ち悪い
0993989垢版2018/09/09(日) 17:20:05.47ID:0ym3cmgA
改行を削除しないと、タグの間に、改行ノードを作るかも知れないので、ややこしい

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

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

'〜"属性"〜'
これなら、OK
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 144日 23時間 54分 18秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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