たのしいRuby 第5版、2016 Effective Ruby、2015 メタプログラミング Ruby 第2版、2015 Rubyのしくみ、2014 改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015 リファクタリング:Rubyエディション、2010
たのしいRuby 第5版、2016 Effective Ruby、2015 (中級者向け) メタプログラミング Ruby 第2版、2015 (中級者向け) Rubyのしくみ、2014 (中級者向け) リファクタリング:Rubyエディション、2010 (中級者向け) プロを目指す人のためのRuby入門 2017 オブジェクト指向設計実践ガイド Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方 2016 改訂2版 パーフェクトRuby 2017
■ 間違い探し >>2 と >>3 には間違いがいくつかあります どこが違うか探してみましょう Seleniumデザインパターン&ベストプラクティス、2015、オライリー Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例、佐々木拓郎・るびきち、2014 他にも、多言語の著者、山田祥寛・掌田 津耶乃などの本や、 YouTube には、伊藤 淳一の動画が、一杯ある
jsがdomをいじる可能性が捨てきれない以上httpレベルで行うライブラリは筋が悪い。 seleniumは本物のブラウザに仕事させる筋がよい方法だがよくも悪くもキッチリ抽象レイヤー分けられてて準備が若干面倒。 対してchrom/chromium専用のpuppeteerは非常に楽。ただブラウザ取っ替え引っ替えできるseleniumほどの汎用性は失われてしまう。 試してみよう https://try-puppeteer.appspot.com 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) エラーが出てきます。 >>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) 「rake aborted there are files that need to be committed first」で検索!
ERBってあるけどさ、みんなHashを渡したいって 言ってるけど(実際できるようになったけど) あれの正しい使い方ってクラスメソッドの中で使うんだよな
rspecの書き方で it { is_expected.to be_truthy } っていうのはワンライナーで英語っぽく読めるように なってるっていうのはわかるんですが it { expect(subject).to be_truthy } も英語っぽいのでしょうか? ようするに、 it expect subject to be truthy が英語の文章として 成り立っているのか?ってことです。 (subjectの部分がおかしいなら別の名前に置き換えても構いません)
なんでわざわざ英文っぽく書かにゃならんのだとこういうのみるといつも思う
timesやらかっこ抜きやら「英文っぽく書けます」ってのは当初作者が著書で自慢してただろ。 都合悪くなったらすぐこれだ。 最後に開き直るのなら、始めから飾らねばよい
>>20 意味が通じるなら日本語でもいいと思うけど? テストをユーザ側の非プログラマが読んで把握、指摘できるようにと言うのが大きいと思う。 日本だとそもそも非プログラマがテストをレビューすることが稀だし、このレベルの英語ですら読むことを放棄するユーザが多いからメリット少ないだろうけど。
rspecの場合は、テストじゃなくて仕様なので 読めることに意味があるんだよ。 先に仕様を書くだろう?
Excel の仕様書とテストコードの2つを、同期して管理するのは無理。 2つが同期しないようになってしまう バグらない大原則は、 1 fact 1 place ソフトバンクなんて、印刷さえさせない。 印刷物とリポジトリ内のデータが、同期しないから 印刷物を作ると、古い情報をもとに、打ち合わせされるから
>>26 要約するとツールスクリプト書くのに便利と。 スレ違い荒らしの、Rubyクズ野郎、次見かけた時点で報復にお前の大好きなRubyスレをゲロ画像とうんこ画像で埋めてやるわ。いい加減頭来た
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 NHWYV
yaml は、複数行コメントが無いし、 json も、コメントできない 結局、Ruby のクラスに、データを書いて、読み込んだ方がわかりやすい require_relative 'abc'
お前が何と言おうがRubyのDSL(笑)によるツールでまともに処理できないという致命的欠陥があるから、 JSONのように広く使われるようになることは永遠にないよ
訂正 ✕DSLによる ○DSLを使用した設定ファイルには、
あと、読み込むためにRubyスクリプトとして実行する必要があるから、 極めて危険なスクリプトインジェクション脆弱性の原因になる恐れが非常に高い
>>35 JavaのStrutsが似たような問題で脆弱性頻発って感じだっけ 舐めてんのかw 社会のことなにも分からない初心者ですが1000万振り込んでくれませんか?
そこまでじゃないだろ。w 10万くらいじゃないか。
Ruby技術者認定試験って既にサポートの終わった2.1.xを対象にしているけれど、大丈夫なん? 2.2.xが今年でサポートが終了したのに、それよりも前のもの使ってて、資格としての評価はどうなんだろうと。
>>41 そんなの履歴書に書いても「十分な経験とスキルがないからこんな資格に頼るんだな」と思われるだけだよ 「〜で〜の立場で〜使って〜作って〜を成し遂げました」の方が1000倍意義がある IPAの資格とかなら地力を上げる意味では有効だけど、プログラミング言語の資格なんて全くの時間の無駄 そんな暇があったらランサーズで小遣い稼ぎでもやったほうが遥かに有意義 >>43 ランサーズってマジで言ってますか? あんな情弱御用達サイトが有意義って言葉が入ってると発言内容まるごと説得力零なんすけど rubyの最適化抑制のオプションを教えて欲しいです。 たとえばgccの-O0(最適化の無効)オプションのような。
>>46 MRI なら RubyVM::InstructionSequence.compile_option >>47 ありがとうございました。 調べてみます。 rubyでOpenglをぐりぐりするの好き どこかの出版社さんで、ruby中上級者向けのOpenglの本をしっかり設計したソースコードの付録付きで出してくれないかな 自分で横着して書いたコードでも遊べてるけど、 しっかり設計したコード付き書籍がでたら改造や流用目的で買うんだけどな
いいかげんお前以外にそんなことをやっている人はいないことに気付こう 終わった言語で今時OpenGL直叩きなんて、そんなことやってるのは世界で数えるほどしかいないから、ニーズなんか全く無いので本なんか永遠に出ないよ 口を開けて餌が来るのを待つのではなく、むしろ君自身が第一人者であるという自覚を持ち、自分で発信しなさい
>>49 kindle 出版してください、私は買います >>50 終わった言語のスレを何で覗いてるんですかねぇ rspecの勉強しているのですが、subjectやワンライナーって 使うべきじゃないんですか?
終わった言語を使うべきじゃない。 Rest in peace...
なんかrspecを知ってからBDDを知った感じなんですけど(言葉自体は知ってましたが) rspecの命令ってBDDとしては異端なんですかね? it、expect よりも、Given、When、Thenの方がいいんでしょうか?
TDD、ATDD、BDD、SDD いろいろありすぎだな
>>54 終わった言語のスレを何で覗いてるんですかねぇ テストに詳しい人っていないな・・・ テストの書き方とかじゃなくて思想的な点で
実際Rubyistってテスト書いてないからな Railsで粗製乱造されるようなよくある単純なCRUDアプリにテストは大袈裟
>>59 大嘘乙 テストを書かないならRSpecがここまで使われてはいない 終わった言語とか言ったりしてRubyを貶めたい人間の妄想だよ RSpecってそんなに使われていたのか? どれ、証拠見せてよ
>>61 使われてないなら頻繁なバージョンアップしてないよ 使われてるからフィードバックがあってバージョンアップしてるんだよ >>62 バージョンアップの証拠ではなく 使われている証拠をお願いします。 それがないのであれば訂正してください テストを書かないならRSpecがここまで頻繁にバージョンアップしてはいないと >>62 使われてないものはバージョンアップされない フィードバックがあってこそ新たな機能が入ったりしてバージョンアップされる gemってほとんどrspecでテスト書かれれるよね
>>65 それで使われている証拠はどうなったのですか? >>67 これで理解できないなら、使われてないことにしたいようにしか見えないよ Rubyは終わった言語だと言ってた人と同一人物ですか? >>68 自身は当然テスト書いてるんだろ? バージョンアップだの何だの遠回しな話ししてないで「俺は書いてる」と一言言って何作っててどういうテスト書いてるのか説明して、 質問者に軽くアドバイスしてやればいいじゃないか >>62 俺、自作ソフト100回以上バージョンアップしてるけど俺しか使ってないぞ。 使う人が多いからバージョンアップされる、の反例として。 >>66 テストコードがまともに仕様を網羅してるgemなんか滅多にないぞ >>69 俺がというよりバージョンアップの方がはるかに説得力あるだろ 俺だけが使ってるわけじゃないということが分かるんだから YouTube にある、セレブエンジニアの小松和貴の動画を見れば? 未経験者が月50万円を稼ぐ方法 無料のRails チュートリアルをやって、 フリーエンジニアになるのが最も速いって言ってる 求人も、Ruby の方が、Python よりも多い クックパッドは、RubyVM の作者・笹田耕一を採用した。 Rubyで世界制覇を目指している!
自営だと月50万じゃ全然いい生活出来ないぞ。その程度でセレブとか草。保障のない将来にまったく備えず月越しの金は持たない主義で消費するならともかく。 サラリーマンの少なくとも二倍、欲を言えば三倍程度稼いでやっと月並みで安心できるかな。
自営だと給与所得控除がないし、年金の半額負担も無いしな。
まーたID変えて自演でネガキャンしてるのか ホント懲りないな 散々、住民からボコられてたろ 去年の過去スレにログが残ってるぞ? はやくrubyコミュで発言して本人確認させたれよ
急にスレの流れが早くなったと思ったら荒らしか 去年もひどかったねー
>>65 バージョンアップの頻度は使っている人数の多さの参考にはならない マメなコントリビューターかそれに近い人だけがたとえ1人でも使っていれば バージョンアップは自然と進む 結局誰もテスト書いてなかったな まあRubyに限らないけど、これが現実よ
pythonに負けたんだ もう決定的な差が付いてしまった 認めるしかない
matzはRuby Kaigiで、「Ruby is dead every year」とか言ってたようだねw 死んだとか言いたいやつはどこにでもいるってことだねー
さすがに一緒にするのはCOBOLに失礼 世のRailsアプリが明日全部消えても大したことはないけど、 COBOLが消えたら誇張抜きで世界経済崩壊、WWIII突入やで
GitHub死んだらえらいことになるぐらいエンジニアなら楽に想像できるはずなんだが
>>90 事務や経理関係は機能継ぎ足しの連続だからまだ残っているらしい Microsoftが買ったから宣伝のためにtypescriptのフレームワークか.netのフレームワークで書き直すやろ。宣伝のために。
>>93 やるとしても数年何億かけないと無理だろうね そこまでしてやる価値があるとも思えないが >>91 Git自体やソース資産が吹き飛ぶわけじゃないんだから大した問題じゃないでしょ >>97 そう。gitやgithub自体は大した問題にはならない。 だが、それを使ってるユーザーが、自滅するんだよ (問題ないのに)これは大変だ!大問題だ!逃げろや逃げろ! そうして自ら破滅の道へと逃げ込むw 運営基盤がMicrosoftになったことで、企業も安心して使えるようになりました。
開発者氏が突然死することを心配したほうがいいレベル。
ジョブズ「グアアアア」(死亡) (部屋の中) ゲイツ「ジョブズがやられたようだな…」 リーナス「フフフ…奴は四天王の中でも最弱…」 三波春夫「膵癌如きにやられるとはIT業界のツラ汚しよ…」
何で三波春夫! リチャード・ストールマンじゃないんかい!
調べたらここ同様、他のスレも荒らされてる 荒らしはいったい何を考えてるんだ?
イカれた荒らしが考えてることなんて理解できるわけがない
openglでグリグリ遊べるソースコード付き書籍を誰か書いてくれ めっちゃ欲しい
3Dって基本的な所は色々なサイトで解説されてるから、 GLSLつかってシェーダー使いまくったり、 半透明スプライトのZソート処理のためBSP木組んだり、 HDRや環境光の処理入れて現実に近い描写を行ったりする応用の部分に注力したソースコードを付けて欲しい
>>108 RubyはRailsにしか使われていないので、OpenGL関連なら RailsをバックエンドにしてフロントはJS+WebGLの方が需要あるだろうね >>110 rubyでぐりぐり3Dやるのが楽チンで楽しいから >>113 JSとWebGLでやったほうが楽チンで楽しいよ 環境準備も配布もクッソ楽チンだし あと実行速度もRubyなんかより圧倒的に速い Railsやる分には言語の実行速度なんかどうでもいいけど、 3Dグラフィックスだと配列操作とか多いからRubyがネックになるシーンもあるでしょ
>>115 初めっから速度を考えてもしょうがないでしょ 最初はいろいろいじって楽しむのを目的にしてそうだから、そういう意味ではRubyはいいと思うよ >>JSとWebGL GLSL→不完全 BPS木→制約によりものすごく手間がかかる HDRや環境光→不完全 結果、rubyしかない
rubyのOpenGL関連のレスの直後は荒らしの自演が恒例になってきたね
rubyのコード書き換えてOpenglで遊ぶのめちゃくちゃ楽しいぞ 特に3Dモデリングソフトの自作がお勧め まぁちゃんとしたのは面倒だから書籍の付録についてくる流用できるコードが欲しい
>>120 ももはや無意味な内容を定期的に書き込む荒らしの定義に当てはまってることをそろそろ自覚したほうがいい >>118 これがスマホでも動くんだからすげえ時代だわ… rubyの話をされるのがそんなに嫌なら無理にrubyスレに来なくても良いんだよ?
>>123 いつRubyの話をしたんだ? 延々とRubyを使ったエロ画像収集は楽しいとそれだけしか言ってないよね おいクソ言語のクソ虫ども。 多言語のスレ宣伝で汚すなやウザいんじゃボケ!
ruby-openglでGLSLについてまでやってる所はほとんど無いから、 自分の横着しまくったコードじゃなくて書籍の付録レベルのしっかりしたコードを見たい 3Dモデリングソフト自作みたいなテーマの書籍にきっちり設計したコードを付録につけて バッファオブジェクトの扱いやこういった低級機能もrubyから問題なく扱えるんだから 最近の描写技術をそのまま移植してやれば良い
rubyでopenglやりたい人って 適材適所とか判断できない人なんだろな
ゴリゴリやるのならともかく、趣味でいじる分なら使い慣れた言語の方がいいよ
使い慣れてるのとそれしか使えないのとは全然違うよ 現にこの人はCのサンプル読めないから困ってるんでしょ
おまえ、IDを換え忘れてそのまま他言語のスレ荒らしてる時あるだろ いい加減、板を荒らすのやめろよ
ruby-openglのバッファデータって実質String扱いか
opalでwebgl動かそうと四苦八苦したことがある
ruby-openglは基本的にCのラッパーだからkhronos.orgのレファレンス通り データはArray#pack()でエンコードしてString#unpack()でデコード openglのgemによってはデータ生成用のメソッドを用意してくれるし配列をそのまま扱える
rubyのホビー的な書籍を出すなら 技術評論社とかマイナビ社、ショーエイ社辺りかな
スマホにプログラミング環境入れてまで遊ぶ人なんて極少数だろ
rubyに都合が悪い事実=荒らしwwww 昨今のソフトの組み込みスクリプティングエンジンにrubyが採用されることはまずありませんwwwww 昔ながらのluaか、多少リソースリッチだとpythonやjsになりますwwwww
>>137 IronRubyとやらでDLLをつくれるのなら、可能性がなくもないのでは。 いろいろめんどくさいこともありそうだけど。 58 名前:デフォルトの名無しさん 2018/06/13(水) 15:56:44.91 ID:mbrmHeFX で? 948 名前:デフォルトの名無しさん 2018/06/13(水) 15:53:03.17 ID:mbrmHeFX わろす やっぱ荒らしじゃねえか この分じゃ、擁護のためID変えて出てくるんだろうな
Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、 JS(ES5), Flash, PHP, C++, Java, C#, Python, Lua に書き出せる Haxe でも、Ruby バインディングがないのは残念
泡沫言語に対応する意味なんて無いからな。 HSPバインディングがないのと一緒w
Sinatara + Thinで開発しててrerunを使おうとしてるんですけど 起動、再起動が30秒ぐらいかかるんですけど普通はこんなことないですよね? 試しにファイルを1つだけにして rerun 'ruby hoge.rb' とやっても変わりません
少なくてもマシンスペックとOS等の環境を表記しないとエスパーできない と言いつつも、Rubyではなくその他の環境の設定でとらぶってるんじゃないか?
「ruby sinatra thin」で検索! よく知らないけど、thin を一々、起動・終了してるから遅いのかも? 最初から、サービス・デーモンとして起動していれば、起動しっ放し
Matzも内心MSとかに買収されて金持ちになりたいと思ってるかもね
プログラミング教育みたいな話が出てるんだから会社化じゃなくて、 教育業界全体に日本生まれのRuby推しする団体を本体そのままで他にもう一つ作れば良いんじゃね? そうすれば周囲の企業が補助金助成金目当てで活発になるし企業の裾野も広がる コテ入れも出来るっつー寸法よ
>>149 ExcelにPython導入らしいからRubyの目はもうない 久々にRubyInstallersのページ見たら WITH DEVKIT / WITHOUT DEVKIT に分かれてたがこれは何が違うの?
RubyInstallersってバイナリだけじゃなくてソース付きも配布してるの?
>>151 カスタム関数にjsも使えるようになるぞー >>150 言語仕様がいい加減なRubyやPythonはプログラミング教育にとって有害。 CやPascalなどの美しい言語をきっちり教えるべきだな。 >>151 VBAも昔のBASICから引きずった言語仕様におかしな所が残っているが、 大部分は改訂で割とまともな現代的言語となり、Pythonよりははるかに ましなのに、何でそんな改悪をするのか。 >>158 Cが美しいってブス専アピールしてどうすんのよ >>159 Cのどこがブスなんだよ。まあ、Cは文字列操作に関しては「高級アセンブラ」でショボいから、 文字列操作を多用するならC系列のC#を使えば良い。 >>160 C#はどっから見てもJava系列なんだが… >>162 Javaって言語系列的に独立した存在? >>162 C#をJavaなんかといっしょにするな。 ぜんぜん違うだろ。 C#は、C++から発展し、Javaを反面教師とした印象。 オブジェクト参照ベースなのは、別にJavaが最初じゃないしね。 >>158 >CやPascalなどの美しい言語 Pascal はともかく、C のどこが美しいと思ったの? >>164 > C#は、C++から発展し、Javaを反面教師とした印象。 C++から発展なんかしてないよ。 C++といえば、STL(テンプレート)の使用が必須で メモリ管理はSTLで行う この一番重要な所がC#はJavaと同じGCを使うために プログラミングの仕方がぜんぜん違う JavaとJavaScriptぐらい違う >>164 >C#は、C++から発展し そんなセールストークを信じちゃだめだよ… >>172 どっちもかなり複雑な部類だから初学者にはオススメしないな 今ならPythonが初心者向けの情報多くて入りやすいと思う C系へステップアップするつもりならRubyよりPythonの方がC系に近いしな >>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 の動画も参照 たのしいRuby 第5版、2016 みんなのPython 第4版、2017 先に、たのしいを読めば、みんなのも理解できる C# は、先にこの本で、オブジェクト指向を学ぶ。 スッキリわかる Java入門 第2版、2014 無料のRails チュートリアルをやると、MVC, Ruby, JavaScript などが学べる。 その後、Python, Java, C# と進むのが、レベルに合ってる Java, C#, Kotlin は静的言語だから、 動的言語よりもはるかに難しいから、後にすべき
>>172 その二つは何から何まで異なる。 質問が単純すぎて、回答不能。 それでも答えるとするなら、どっちでも。 クジでもひけばいい。w >>169 GCを使う一点で、そんな主張をされても。 そうではないことを事前に明確にするために、オブジェクト参照ベースうんぬんと書いたのに。 >>170 セールストークかもしれんが、真実でもあると思っている。 実情は、ObjectPascalからの発展だが、そうは言いにくいだろ。w いずれにしても、Javaは反面教師どまり。 >>180 C++ が劇的に変わったのはテンプレート導入から、C++ のテンプレートは Java や C# の総称型とも違う >>169 にも表出されているように、C++ は GC は自分で入れたいと思った人がインプリメントするものであって、言語の前提ではありえない いいたかったことは、C# と Java の差なんて、C++ からみるとゴミのようなものだ >>181 あのな。 オレは、C#がJava系列というアホな表現にクレームしているのだ。 > C# と Java の差なんて、C++ からみるとゴミのようなものだ あたりまえ。 Ruby界においては、 主にSIに使われる言語=楽しくない言語=敵性言語 で人括りだから、JavaもC#も違いはないんだよ 実際にはWeb系でもバリバリ使われてるんだけどね
>>182 >C#がJava系列というアホな表現にクレームしている なるほど じゃあ、私は「C# は C++ から発展した」にクレームをつけましょうか、C# と C++ とは根っこの考え方からすっかり違いますね >>185 Rubyのルーツは様々あるし、Matzも時々語ってるけど、どれがベースというのはないんじゃないかな Eiffelという話もあるし、Perlを意識したというのもあるし、なんとも言えない Lispからもいくらか拝借してるだろうけど、Lispとはちょっと似ても似つかない >>158 Cが美しい VBAがPythonよりマシ って笑えるw Lispとか関数型 知らないのがバレバレw >>179 > GCを使う一点で、そんな主張をされても。 これによってぜんぜん違うものになるぞ なぜならオブジェクトっていうのはすべからくメモリを使う。 だからメモリの確保と解放はプログラム全体に散りばめられる Javaはメモリ(≒オブジェクト)を解放するコードが必要ないわけだが、 C++だと必要ないかもしれなし、必要あるかもしれない。 必要ある場合は、それに応じて解放の書き方が複数あるし、 必要ない場合は、また別のポインタの保持方法が多数存在する。 これによりプログラム全体が大きく違ってくる おまえらはデバッグする時ってdebug.rbをつかってる? それともprintデバッグで済ましてるの?
他言語の話で荒らしてる奴はdebug.rbとか知ってるの?
JS のlodash の、メソッドチェーンを実現するには、 tap・chain などで、コンテナ内を走査できる Ruby でも同じ。 enum.tap { |item| p item } Windows では、irb を使うデバッガー・コンソールは、 日本語でバグるから、tap などで確かめるか、 WSL Ubuntu の方で、irb などを使う
>>184 考え方うんぬんは、言語の発展とは必ずしも関係があるわけではないので、その指摘は的はずれ。 何度も書いたが、オブジェクト参照ベースは、当時からとくに珍しいものではなく、C#がそれを取り入れたからといって、C++から発展したものでないという主張は成立しない。 たとえば、C++で、言語やライブラリの機能を使って、オブジェクト参照ベースの実装や関数的プログラミングを行ったとしても、やはりC++には違いない。 また、C#は、using節やジェネリクスなど、C++の影響ともいえる要素が見受けられる。 蛇足だけど、C#がリリースされてからは、Javaはその後追いをよくしてる印象。 最近にいたってはOracleのやる気もあやしげ。。。 >>188 それは、Javaのみがそうであった場合にできる主張。 >>196 Java意外にC#が似てる言語ってあるの? C# は J++ の影響を受けたのであって Java の影響を受けたのではない! という展開を期待。
やっぱpデバッグが一番手っ取り早くて楽だよな debug.rbでステップ毎にコマンド入れて値を見るのも便利だけど
>>195 >考え方うんぬんは、言語の発展とは必ずしも関係があるわけではないので、その指摘は的はずれ まあ「言語の発展」について、なにかしら定義があるわけでもないですし でも、「Java と C# は同系」といわれて反発したり 「C# と C++ は同系」といわれて疑問を呈したり することからみると、なんらかの感覚は存在するわけで、それをなんとか定義づけることにまで持っていければおもしろいかも、とは考えています 役に立つかどうかは疑問ですが 故意にdebug.rbの話を避けて自演を継続中か debug.rbって中身見たらメソッドをフックしたり、お手本になりそうなコードが多いよ 一度読んでみな
>>200 もう一度書くが、「C#がJava系列」は違うと言ったのであって、「C#とJavaは同類」くらいなら否定しない。 これで通じないのなら、言語の認識か日本語の感覚が異なるのだろう。 もう疲れたので、そろそろおわり。 >>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のようなちゃんとしたプログラミング言語と同列に 扱ってはいけない。 >>207 >定義を与えてから論を進めるのは科学的思考の基本 無定義語というのもありますが 「線」「点」はユークリッドも定義していません >RubyもPythonも評価は低い。 「あなたの」評価が低いだけなのでは? >>207 長文の割りに中身が少ないな >コンピュータにとって美しい言語 >アセンブラの方がまだ親しみやすい LISPは高水準言語だから逆だよ 大多数にとって読み書きしにくいのはそうだろうが 関数型言語の元祖なんだから コンピュータのための記法ではない 人間のための記法だよ 逆にC/C++のポインタなんかは アセンブラの低水準の仕組みが残ってる >大前提として、変数の宣言と型づけができない言語は駄目 それはたんなる趣味 型推論の時代だから動的/静的型付けに そんなにこだわる意味も薄れてきてる >>211 Lispが人間のための記法というのは違和感があるな。 >>211 処理が高水準か低水準かと、記法が人間にとって親しみやすいかとは別物。 アセンブラの名残りと言えば、CだけでなくRubyもPythonも配列の添字が 0から始まる点でそうだろ。日常生活や数学の感覚では1から始まるのが自然。 Pascalは任意の整数、BASICは0か1かを選択できる。 C#では型推論が導入されたが、プログラマの判断で場面に応じて使うことも できるだけで、従来の型がなくなったわけではないし、従来の型の方が頻繁に使われる。 何でも丸呑みしかできないうわばみとは違う。 Pythonは構造化に関しても不完全というか履き違えたオフサイド・ルールが駄目だね。 HTMLやLaTeXなどの文書マークアップ言語の基本は、構造と書式を混同しないこと。 文書の構成要素に対して書式を直接指定するのではなく、構造を指定し構造に書式を 割り当てるのが作法。プログラミング言語の構造化も同様で、タブやスペースによる インデントは表層的な書式に過ぎず、本質的な構造は{と}やbeginとendで囲むことにより 明示すべきもの。 Pythonによる構造と書式の混同は、不作法なだけでなく実地上の問題も生む。 例えば、5ちゃんねるにソースコードをコピペで書き込むと、タブと半角スペースが 除去されてしまい、ifなどの制御ブロックがどこまでなのか全く分からなくなってしまう。 C系やPascalならば書式が失われても構造は残るので、プログラムの動作は変わらないし、 標準的な書式を復元することもできる。 この点では、endを使うRubyはPythonと違ってまともだな。 >>214 >数学の感覚では1から始まるのが自然 日常の感覚はともかく、数学では自然数が必ず 1 から始まるとは限らない、これは一々確認しないといけないもの 西暦100年の200年前は 紀元前101年だって言うのだから困るわ 自然に感じない
>>214 うっかり混同したんじゃなくて故意にそう設計してるんだから混同じゃなく同一視と言うべき。 LISPが複雑怪奇で読みにくいってコイツマジで言ってんのかよ あれだけ直観的な表記なのに
ルールは少ないが決して直感的ではない ネストが深くなれば単純に読みづらいし 特殊形式やマクロがあるから意味も取りづらい
例えばバイナリ 0か1 超シンプル でも 直感的か?
Openglのgemいれて遊んでるけどやっぱり見本になるようなコード付きruby本が欲しい バッファ操作やシェーダー言語といった基本じゃなくてHDRレンダとかBSP木の実装とか特に
サーバ側はrubyでクライアント側はブラウザー+JSが鉄板になっちゃったね
後半は同意 Vue.jsとか使うんだったらサーバーをRailsで書く旨味はほとんど無いから、 サーバーサイドはNodeのようなよりライトウェイトなものか、信頼性重視でJava/C#/Goあたりが鉄板だよ 中途半端なRubyは役割を失ってしまった
JSフレームワークと相性の悪いRailsは廃れていくんだろうな
TypeScriptの流行もRubyにとっては逆風になったよな あのせいでCoffee推しだったRailsに急に負け組のイメージが付いてしまったし、 TypeScriptに興味があってもサーバーサイドは「型書きたくないでござる」なのに クライアントでは「The power of typing」という頭のおかしい状況になってしまうからRubyを使ってる限り絶対に手を出せないわけだし
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=>...} と纏めてくれるんだけど。
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を使う意味がないんだろうな。
rubiniusってどうなん? 2018.5.28に3.105がリリースされて、まだ活動しているけれど、使っている人っているのかな?
rubiniusはSqueak/Pharo(Smalltalk)やpypy(Python)ではできてるVMのセルフホスティングを断念して その存在価値をほぼ失って久しいという印象 今のウリは何なの?
>>229-230 a / 10 では、0〜9 が連続した同じグループだろ a % 10 では、0〜9 は、すべて異なるグループじゃん。 0, 1, 2... と、グループが切り替わっていく chunk は、グループが切り替わる所までが、一連の同じグループ プログラミング教育が話題になりはじめたけど、 Ruby噛ませて補助金や助成金をもっと出させたほうが良い
本当に日本の将来を思うのなら、Rubyは教育分野からは今後きっぱり身を引くべきだと思うけどね 日本のITはクソと言ってる人達が日本のITのガラパゴス化を増長させているという
まだ?人気だったことあったっけ? arduinoやmicro:bitは何でプログラミングしますか?
mrubyは純粋に補助金稼ぎのためにやっているプロジェクトで、実際には誰も使ってないぞ IoTとか地域の中小企業の活性化とか言って公共団体から金を引っ張ってきやすいんだよ 金の集めやすさでいえば今だとAI関連の方がいいだろうけど、役所のスネ齧ってるような連中の中にそんな高度な人材はいない
日本ってどれだけ税金にたかれるかで 組織が成功できるか決まるからな 仕様がないね
なんかひろゆきの元に戻るらしいね 荒らしも処刑宣告されてたしこれでひとまず一件落着なのかな
ということは過去のひろゆきの犯罪も罰せられるのかな?
調子に乗ってたこの板の荒らしもこれで席を下ろされるわけか
Rubyで型を扱うライブラリ・・・いくつがあるようだが 本来このような言語の肝となる機能は言語側が用意すべきなのにな だって統一しとかなきゃ厳しいでしょ なのに教祖様が、絶対に型は書きたくないでござる!だから安心して見てられるわ まぁ今のRubyの状態で型を導入したらそれこそ寿命を縮めるだけかもしらんし その意味では正しい判断だが、周りからの要求もあるし、こういうライブラリ作る連中もいるし 止められない流れなんだろうな、グズグズになって腐る感じ 改めて初めから静的型にしておけばよかったのにな 型を書くのがそんなに面倒か?型推論もあるし 型関係のライブラリが乱立するよりよっぽどマシだろうよ 別に後出しジャンケンじゃないぞ 昔から宣言や型を書かない言語は糞って言ってる人たちはいっぱいいたからな
RubyやPythonはPerlの代替のお手軽スクリプト言語だから、変数宣言と型はない方が 都合が良いだろ。最もお手軽なコマンドラインに与えるワンライナーでもそんなものを いちいち書かされるのは不便。スクリプト言語の守備範囲を超えた使い方をしようと する人がいるから叩かれるだけ。本格的なプログラミングにはC系かPascal系を素直に 使えば良い。
OpenCVもTensorFlowも公式がガン無視の空気言語Rubyが! OpenCVもTensorFlowも公式が第一級のサポートを提供しているPythonに申し上げる!! RubyやPythonはPerlの代替のお手軽スクリプト言語だから、変数宣言と型はない方が 都合が良いだろ。最もお手軽なコマンドラインに与えるワンライナーでもそんなものを いちいち書かされるのは不便。スクリプト言語の守備範囲を超えた使い方をしようと する人がいるから叩かれるだけ。本格的なプログラミングにはC系かPascal系を素直に 使えば良い。
型が欲しかったらC#でもJavaでもScalaでも 静的型言語がたくさんあるんだから それ使えばいいだろうに Ruby3での文字列の不変化くらいであれだけ揉めてたのに 静的型にしたらRubyの良さがかなり死ぬと思う
ニコニコ見たいなサイト作りたいならRubyも学ぶべき?
>>253 動画配信サイトってこと? インフラ技術の方が重要だからAWSを学ぶべき RubyやPHPでフロントと簡単なCRUDサーバー作れるだけの技術者なんか掃いて捨てるほどいるから、あえて君がレッドオーシャンに乗り込む必要はない 掲示板+動画みたいなサイト作って一儲けしたい 構想はある
Ruby は基本。そこから、Elixir。 Rust もやってる C++ の標準化委員会の江添亮もいるし、HDL など、 ニコニコはすべての言語をやってる 「たのしいRuby 第5版、2016」を読めば、 ファイル操作・テキスト処理など、一通りできるようになる 無料のRails チュートリアルもやれば、MVC の基本がわかる
>>253 >>255 動画サイトは通信料がものすごい負担だから 大企業じゃないとまず勝負にならないと思うよ 個人運営の動画配信サイトなんてあんま見たことないでしょ? ユーチューブのまとめとかじゃなくて自前配信では 初期ニコ動みたいに、YouTubeをインフラにしてやれば?w
>>261 残念ながら急速に減ってる 新規なら選択肢にすら挙がらなくなってる >>264 それRailsはまだ死んでないと言ってるだけで、Rubyの採用が減っている説に対する反証にはなってないよね 以前に比べて減っていないor増えている証拠を提示しないと >>265 ごめんな、それはただの詭弁なんだわ 減ってない根拠が出されてたんだから、次は減ってると主張する方が根拠出さなきゃ嘘がどんどん 明らかになっていくよ >>266 以前と比べて多いか少ないか変わってないかはその記事では特に触れられてないよ >>267 ごめんな、減ってると主張する側の論拠がないんだわ そこがない以上、話がかみあわんと思うわけさ >>269 The more a language tutorial is searched, the more popular the language is assumed to be. ちゃんと訳した上で言ってるのかな? 英語読めない人のために補足しとくと、 >>269 の下ではRubyは驚くべき速度で人気を失っており避けるべき言語の筆頭とされている >>271 へぇ、ぜひその部分の英文を原文で引用してくださいよ まぁ、引用できるわけないんだけどね。一切そんなこと書かれてないから ついに捏造までやるようになったんだねー 書かれてない英文を翻訳したかのように書き込むと
smalltalkやlispやprolog、algol、cobolが死んでないようにrubyも死んでへんで!!!
クックパッドは、Rails で最大のサイト。 RubyVM の作者・笹田耕一も入社した 大規模サイト以外では、やっぱり、Rails Python Django 超入門、掌田津耶乃、2018 Rails の本は何十冊もあるけど、Django の本は、初めて出た。 Django は、ようやくスタート地点に立った所
Railsは下火かもしれんが このフレームワークは最大のコミュニティを持っているので 困ったときに質問すれば他の誰かがだいたい答えを持っているのが大きい。 英語読み書きできるとこのアドバンテージはデカイ。
Rubyが下火という話であって誰もRails下火とは言ってない。 Rails以外のRubyの応用用途が減ってって既にRails専用のDSLに落ちぶれている。 Rails使いたいから仕方なくRails以外に使いようがないクソ言語を覚えなければならない状況。 そんな感じなので最近はむしろRubyのせいでRailsが忌避されてる。 Railsは被害者。
Web系のスタートアップ企業はRuby使ってるとこ多いからRubyは今後増えるよ
あれだけ炎上騒ぎをおこしたrailsをまだ使うとかにわかには信じがたいな Rubyびいき筋以外のフラットな立ち位置からの情報はないの?
ruby(rails)は自分でもなんとか扱えるから、外注や人を雇う必要ない。 じゃないの?
>>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], なんか全部のスレをageて荒らしとる奴がいるらしいな
今後はウェブアプリでもPythonの方が良さそう? どっち勉強するか迷う
ウェブアプリならRuby 機械学習ならPython
いつまで自演でネガキャンしとんねん いい加減、板荒らすのやめろやボケ
作りたいウェブアプリの性質による ページ遷移だけのクラシックな業務システムっぽいアプリならRailsは最強 クライアントに寄せてモダンな画面をグリグリ動かしたいんだったら最近はNode.jsとTypeScriptかな
Pythonにしかできないことは結構あるけど Rubyにしかできないことはまったくない
Python Django 超入門、掌田津耶乃、2018 Django の本は、フレームワークの巨匠・掌田が初めて出したばかり。 一方、Rails の本は、何十冊も出ている Ubuntu 18.04 で、snap というパッケージマネージャーができたので、 Rails の動く環境一式丸ごと、配布できるようになったので、 Redmine みたいなRailsアプリが、たくさん配布されるはず snap は、依存も含めて、アプリの仮想環境丸ごと含む
>>295 そんなことない Rubyの方がDSLが作りやすいとかある > フレームワークの巨匠・掌田 笑わせんなw 掌田って初心者本しか書けないやつじゃねーかw
いい加減わかってると思うが本人が宣伝しとるんやぞwww
>>295 大方のプログラミング言語はチューリング完全なのでできる範囲に差はないよ 世界での圧倒的な人気の差を背景にクソ雑魚言語rubyを煽ること。
>>301 インデントでブロックを表現するとかじゃね? 言語標準仕様のままなら × インデントでブロックを表現するとかじゃね? ○ ブロックを表現するのにインデントを使うしかない
Pythonも童的型付き言語なのになんで持ち上げてるんすか
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 を取得できていますが、 この書き方で、常に取得できるのでしょうか? それとも、たまたま取得できただけですか?
headless chromeをpuppeteerで操作すればchromeが解釈した通り完全に同じjs適用後DOMそのまんま取れるのにね。 それどころかそのページのjsのDOM操作進行途中に任意のタイミングのDOM状態のスナップショットすら取れる。 オワコン言語とオワコンライブラリ使ってる人たちはする必要のないムダな苦労をしてて笑えるw
今はやりの(需要急上昇中の)ブロックチェーンやAI、ディープラーニングを 扱いやすい言語はどれなのでしょう
まずブロックチェーンはPythonですね。 それからAIはPythonです。 最後にディープラーニングはPythonでしょうね。 実際に本屋の棚ご覧になったら分かると思いますよ。 実用に重きを置いた言語なのでPython “で” 学ぶ○○というようなタイトルの本が山ほど出てます。 言語 “を” 学ぶどこかの楽しい()プログラミング言語とは違うんですね〜w
>>310 Pythonの得意な分野はPythonですね、って言ってるだけな感じが… AIとディープラーニングなんて隣り合わせの分野だし Rubyがサーバ取っちゃった事ってそこまで発狂するほどの事? 主流のレンタルサーバはRubyを常備してるけど あ、これにかこつけて荒らしてるのか
>>311 ディープラーニングは隣じゃなくて AIに包含されるんじゃねーの? >>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 >>315 それはお前が面倒くさい書き方しか知らないからでは? # 要素の削除 jsCode = <<'EOT' $( '.footer-menu, #js-avatar' ).remove(); EOT お前が書いたそれ、一行で終わるんだわ Javascriptよく知らんけど >>317 みたいなレスすこw じゃあネイティブapiのquerySelector使えばいいだけ >>315 みたいなゴミのような書き方はここ10年くらい見たことない 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) 画像リンクだけを取り出して、新しいページを作った方が良いのか?
コネクションをいったん切ればいいんじゃないの? サーバー側が同一クライアントの同時複数のコネクションを受け入れないとか?
>>315 みたいに、Selenium Webdriver から、JavaScript(JS) で、 Showroom のアバターなどを削除しても、動画はちゃんと見れる Nokogiri で、DOM を更新すると、ダメなのかな? DOM を追加するのが、ダメなのかな? 315 では、DOM を削除しているだけだから、エラーが起きないのかな? 5ch は、設計・プログラムも素人レベルで悪いから、ずっとDOMをループし続けているとか、 何かDOMを更新できない理由が、あるのかも知れない しょせん、他人の書いたアプリは、どうにもならない。 時間を掛けて解析するのも、馬鹿らしい RubyでwinAPI呼んで直接ウィンドウを作ったりしてるけど、 良く考えれば便利だなこれ
Win API自体が今となっては便利じゃないと思うが?
Rubyしか知らないとそんなことすら便利に感じるのか それはそれで幸せなのかもな
Windows GUI は .Net Framework 一択だよな
JRuby + JRubyFx でも簡単なGUIなら十分だぞくそ楽に書けるし
人に使ってもらうときどうするの? る、るびぃいれてくだちいって言うの?w
GUIライブラリつかわなくても直にあつかえるのって便利だろ
いやだから.Netでいいじゃん むしろこれ以外でやろうとするな
たいてい初心者、経験数年レベルのプログラマは自分が知っているプログラミング言語だけで何でもやりたがる。
>>338 というかおまえ、IPの出るスレに何度も書き込んで大丈夫か? >>340 IPアドレスが出ていて何か問題なのか? この手の話はよくわからない。 require 'uri' url_address = " ; uri = URI.parse url_address p file_name = File.basename(uri.path) #=> DhtJ198VAAAM28d.jpg すごい! 自動的に、ファイル名の末尾の、:orig を除いてくれた! どうなってるの? 5ch の書き込み内の、画像のURL <a> を、 自動的に開くように、<img> に変換しようと思って 乃木坂板などで、一々、クリックして開くのが面倒だから 5ch ブラウザもたくさんあるけど、Ruby 製のは無いだろうし
>>342 「:」は、URIのパス部に使えない文字だから、その直前で切っただけじゃないの? >>346 先日言ったけどおまえ、IP表示スレに何度も書き込んでるよな その上で荒らし行為を続けてるのか? はぁ?>>346 は俺じゃないが。 てきとーに脅しこんでるだけか。 小癪なるびぃ信者らしいやww ID換えて自演してるって何スレも前からずっと指摘されてるだろ 何、なかった事にしてるんだ?
バカだなぁw そんなん通じるのお前の中だけだっつうの 小学生かよruby珍者はww
ルーピィ信者「お前のIP抜いたからな!友だちのスーパーハカーに頼んで個人情報晒してやる!」 2000年代のネットかよワロタwww さすがルーピィまるで成長しないwwwww
おまえが自分でIP表示スレに書き込みしたんだろうが 何寝ぼけてんだおまえ つーかレス稼ぎでこんな事やるな
だからそのスレがIP表示かどうかなんていちいち気にして書いてねーっつーの お前が「うわーんスーパーハカー()にコジンジョウホウ()晒されちゃうよ〜」って大騒ぎしてるとして、なーんで他人もみーんなお前みたいにバカ晒してると思い込んじゃうかなぁwww
sinatraでグローバルで変数を定義してもリクエストの度に初期化されてしまうんですが 値を保存し続ける方法はないでしょうか?
シナトラのシナをぐーるぐるとって シナトラのシナをぐーるぐるとって シロトラにつけたらシマトラ! 👀 Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
よく知らないけど、OS の環境変数とか、 sinatra や各アプリの設定ファイル・Database とか
System.getProperty("line.separator") System.lineSeparator() //JDK1.7 System.out.printf("あ%nい"); Java では、OS に依存しない改行コードを、これで表せるけど、 Ruby ではどうやるの? Windowsでは”\r\n”、UNIX系では”\n”
そんなものは必要ない。 なぜならRubyはUNIXに強く依存しておりUNIX以外で使うことが想定されていないから。 こんなことを言うと被差別ドザ民はRubyInstallerがあると反論するかもしれないが、RubyInstallerはMSYSを使っておりUNIXを内包している。
RubyがWinとGUIへの親和性が低いのが ランキング上位言語に勝てなかった要因のひとつ
Windowsならファイルをテキストモードで開けば勝手にCRLFになるでしょ
逆に、Pythonだと問答無用でCRLFになって、LFで統一したいと思うとめんどくさくなる。 Javaの様にどっちでも簡単にできる方がいい。
おい、Rubyスレから出てくるなよ 何しれっとIP切替えて他スレに書き込んでるんだ
IP表示スレに書き込んだ上で荒らし行為とか頭がおかしい
思い込みか決めつけか、どっちにしろ頭おかしいのはお前。 で、具体的にどれよそのIP表示スレとやらは? 犯罪者のお前と違ってまっっっっっったく意識してないからどのスレかなんて覚えてないぞ。
過去ログ見たけど最近ずっと荒らされているねここ 毎回「私は荒らしじゃないよ」って言いながらネガキャンしている人いるし 何があったの?
荒らされてるって騒いでるおじさんのほうが荒らしなんだけど、そろそろ自覚して
IP表示して自分で荒らし行為してますって宣言してるからどうしようもない 何度もおかしいって忠告してるのに
>>369 ほんまこれ なんも荒れてない時にも湧いてくるから意味不明だわ んできっと俺も荒らしの自演認定されるんだろな >>368 この様にして毎回荒らされるんです >毎回「私は荒らしじゃないよ」って言いながら まさにこの通り IDを変えられるという事はこれ以降も荒らしが出てくるのか 出てくる度にチェンジって言ってやれば良いんじゃね?
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 上のコードよりもっと簡単な方法って何かない?
Rubyはじめようと思ったけど MacにRailsをインストールできなくてつんだかとおもたわ
Macとかだとrbenvで入れて遊ぶのが吉な気がする
運用情報板でここの荒らしが盛大に自演をミスって自爆 本当に何を考えてんだ荒らしは >>376 [1,2,3,4].pack("iiii") みたいな感じで配列をパックして文字列として渡す つまりいちいちググらないといけない。 すぐ使えない。
えーそれはさすがに無理だろー!? 無知な状態からググる必要があるのは Ruby以外のどんな言語でも同じだろー?
ググらないといけないから使えない というのはさすがに無理筋
>>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")) 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] } 上の式だとなにかに代入しないのでシンタックスエラーになったのでしょうか?
>>390 ハッシュじゃなくてブロックと解釈されたんだろう p({...}) とすればエラーは消えるはず p({ a: 1, b: 2, c: 3}.map{ |k, v| [k,v * 10] }) と書けばいいと思うよ p(に限らずメソッド名)の後に{が続くとブロック引数と解釈されるので それに続く記述は式になっていないと構文エラーになる…んじゃないかな ちゃんとparse.y読んでないからわからんけど
サクっとRailsを勉強したけどマイグレーションクラスの書き方が気持ち悪いな
静的型付き言語から来たけど、リファクタリングが1万倍つらい
静的から来たんなら一発でリファクタリング不要なの創れ
つまり動的型付け言語ではなく静的型付け言語を作れと? TypeScriuptみたいに、TypeRubyを作れってことですかな?
作ろうかな。その名も「なんちゃってCrystal」
>>402 お前が例の荒らしなの? というか人の質問ぶっちしてよくも荒らしてくれたな 失せろ この人は本物のアレな人なんで、これからもずっと居続けるだろうし、 我々が我慢するしかないのですよ
やっぱりそうだったか ID:/HPmTQSMはNGにつっこんで無視するとして自演はどうする? いくらでもIDを変えられるだろこいつ
荒らしを擁護する奴とか明らかにネガキャン狙いの奴は自演だろうし、 片っ端からチェンジで良いんじゃね?
初心者質問ですいませんがwebサービスを実装した時の認証って一般的にはどのようにしているのでしょうか 単純なhtmlからajaxでwebサービス叩くのは簡単ですが、認証も伴うとなるとgetやpostでどう実現しているのか不思議に思いまして
twitter api とかは、oauth認証を使っている gem 'twitter' gem 'oauth' gem 'omniauth-twitter'
今、mrubyってのを組み込み用に作ってるんだよな確か Cで書かれてる実装の移植じゃダメな理由でもあるの?
>>410 MRIはUNIXに依存してるから組み込みでは使い物にならない > 今、mrubyってのを組み込み用に作ってるんだよな確か 今・・・作っている・・・? もう何年も前から聞く名前だが 終わらないプロジェクトじゃないかw
誰も何も要求してないから要求仕様というものが無いwwwww 打出の小槌wwwww
補助金貰ってるから作ってるポーズだけは続けなきゃいけないんだよ MRIのコミッタ達が飯食えなくなったらそれこそ終わりだぞ
Rubyと組み込みってあんま相性良さそうに思えない Windows(GUI)とかAndroidとかもっと進出して欲しかった
あと最近Pythonに押されてる理由の機械学習系のライブラリとか リソース投入して欲しい分野他にいっぱいあるのに
そういう海外の特定企業のプラットフォームに依存したものだと補助金貰いにくいからね 機械学習は今のRubyにはできる人材がいないから無理
>>411 ラズパイやなんかはほぼlinuxの組み込み用ディストリだろ? 別にunix依存でも組み込みで遊べれば良いんじゃないかと個人的には思う というかなんか荒らしが湧いてるな スマフォは端末20億ぐらいが今の所上限、人口から計算するとそうなる。 IOTになると300億ぐらいになると言われている。 だから市場としては組み込みのほうが遥かにデカイんだ。
>>420 補助金の申請書に書くには良い説明だね 現実にはそれは詭弁で、何百億もばら撒かれるような大量生産するデバイスに、 ラピッドプロトタイピングを売りにしてるmrubyなんか使われる訳がないんだよね 一方プロトタイピングでコストを気にしないならラズパイ的なLinuxボードでフルのRuby動かせばいいわけで、完全に論理的に破綻してる ああ、商業的にmrubyを組み込み市場にって事か ホビー的なものやプログラム教材的なものも含めればそれなりに大きいし
IoTで夢はひろがりんぐ でも現実はJavaScriptとPythonに シェアをゴリゴリ取られてる
Ruby本体のパーサってツール使って書かれてるの? それとも手作業? ずいぶん前に何かツールつかって書かれてる、みたいな記事を見た記憶があるんだけど あやふやで思い出せない
>>419 いや組み込み用っていうかそういう組み込みじゃない linux動くなら普通のruby使えばいいし あんなに嘘を書き込んでたネガキャン厨が出てこなくなった 何故だ?
bison と言うツール(と言うことが聞きたい?)
カーネル(?)オブジェクトと一緒にリンクしてローダからジャンプして起動される様な組み込み。それこそファイルシステムも無いようなものもターゲット。
質問を普通に読むと、 パーサジェネレータに食わせるソースを人手で書いてるのかツールで出力してるのか、 聞いているんだと思うんだが 例の荒らしは日本語が不自由なの?
>>435 元の質問ってこれだよね >>>>425 >> Ruby本体のパーサってツール使って書かれてるの? >> それとも手作業? 普通に読むと、パーサのコードがジェネレータで自動生成されているのか、 あるいは手書きでゴリゴリとパーサをC言語で書いているのか?という内容で、 >>429 と>>432 が適切なレスを返している(>>431 は知ったかぶりのお馬鹿さん) で、それに対して日本語が不自由と噛み付く>>435 の日本語読解力に対して小一時間 ちなみに、Rubyの構文解析(パーズ)に関しては、 以下の文書、いわゆる RHG - Ruby Hacking Guide で詳しく解説されてる ・Rubyソースコード完全解説 http://i.loveruby.net/ja/rhg/book/ >>431 の本は読んだことないけど、いくらRubyistが書いた本とはいえそんな低レベルな間違いをするとは思えないから実際の記述が気になるな 独自に作ったと書かれてるのってパーサじゃなくて字句解析器のことだろうか 字句解析器は手書きでも比較的簡単に作れるので、パーサは自動生成で字句解析は手書きというのはよくあるよね 標準ライブラリのRipper クラスで、字句・構文解析ができる。 文法規則から、Bisonでパーサを作る 文法規則(parse.y) → Bison → パーサ(parse.c) 「Rubyのしくみ」に書いてある
Rubyの文法は、改行が文のセパレータだったりなかったりするので、yaccでは書きにくそうな気も。
>>437 >独自に作ったと書かれてるのってパーサじゃなくて字句解析器のことだろうか Rubyの字句解析器は(次で詳しく書くけど)手書きだから、「独自に作った」には該当しないね で、>>431 の書籍は手元にあるから「独自に作った」部分を推測すると、p68 第3章の 囲み記事にある「YARV命令を間近に見てみる」の内容ではないかと思われる この記事によると、Rubyの仮想マシン YARV の命令セットはC言語で実装されているが、 実際には insns.def という命令セット記述向け外部DSL(ドメイン特化言語)で書かれており、 Rubyで書かれた独自ツールを用いてC言語ソースが自動生成される、とある >字句解析器は手書きでも比較的簡単に作れるので、 >パーサは自動生成で字句解析は手書きというのはよくあるよね うん、よくある ただし、Rubyに関しては字句(トークン)の意味が文脈によって異なるので、 字句解析器を汎用的なツール(Flex, Lex)で自動生成するのは原理的に無理 だからRubyでは字句解析器をC言語で(=手書きで)ゴリゴリ書いてる /__.))ノヽ .|ミ.l _ ._ i.) (^'ミ/.´・ .〈・ リ .しi r、_) | 字句解析器はわしが独自に作った | `ニニ' / ノ `ー―i´
parse.yって結構な量になるだろ まじで手書きなの?
flexはライセンスの問題があるのに対して、bisonは解決してるので、字句解析だけ手書きという場合もありそう。
def hoge(ary) if ary.length > 10 略 end def hoge(ary) return ary.pop if ary.length > 10 略 end
途中で投稿しちゃったすまん 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
かといって (ary.pop; return) if 〜 とは書きたくないんだよね
却ってもなにも普通に読みづらい やる事がpopとreturnの2つあるんだから素直に別々に書け
>>448 サンキュー 横着しないで書くことにするわ 普通、ワンライナー書いて通ったら、 早めにリファクタリングするだろ そんな後々まで残しておかないよ
どうでもいいだろ どうせRubyなんか後でメンテできないんだから、後でばっさり捨てても惜しくないくらいの簡易な実装を心掛けたほうがいい
一昔前の Web プログラミング言語のトレンドは動的型付け一辺倒でしたが、 その時代も終わり、静的な型宣言を再評価するフェーズが来ているように思います。 この背景には、おそらく Web プログラミングの規模が年々肥大化しており、 動的検査のコストが増してきたのが理由にあるでしょう。
まーたネガキャンしとんのか ほんと懲りないな荒らしは
ステマ荒らし VS ネガキャン荒らし ネガキャンじゃないやつは ステマ荒らしだよw
だから大規模開発は、Haxe ソースコードをそのまま送って、10言語に変換できる
>>463 変換できたってライブラリを使った時点で破綻するんだから意味ない jQueryを使ったコードをC++に変換したって動くわけない ス テ マ 荒 ら し ↑の粘着のセンスって最悪やな
RubyスレでRubyのステマ荒らし? こわいわー いやマジでこわいわー
荒らし「ステマ荒らしVSネガキャン荒らし(ドヤッ)」 凄い語録が誕生したな
粘着さんは自演でネガキャンしないと発作が起きちゃうから、 みんな優しくしてあげて けっして「ステマ荒らし(ドヤッ)さん」なんて呼んではだめですよ 話は変わるけど、 ブロック内のself省略したらself以外のオブジェクトが割り当てられるようなメソッドってどんくらいあるの?
self省略って便利なのは便利なんだよな いちいちselfって書かなくて良いから
自分は静的型の恩恵を受けてRubyを開発しているのに その言語のユーザーにはそれを与えない、まさに鬼畜の所業 それだけに留まらず、動的型の方が優れていると嘘を教え込み 人の人生観や世界観を台無しにして囲い込み 骨までシャブりつくす姿勢は流石の宗教家 「Rubyをキメると気持ちいい!」
質問の間に色々レスがついたからもう一度書くわ ブロック内のself省略したらself以外のオブジェクトが割り当てられるようなメソッドって何があるの? スレの上の方になんか関係しそうなコードが書いてあったから疑問に思ったんだけど
意味がわからない文章だが、コンテキストが入れ替わってることを言いたいのかな そんなメソッドは作っただけ存在するけど
ステマ荒らし(ドヤッ)さんはネガキャンがほんとうに大好きだな >>474 mapのやつ? >>477 ステマ荒らし(ドヤッ)さんは帰って どうぞ >>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 が割り当てられる >スレの上の方になんか関係しそうなコードが書いてあったから疑問に思ったんだけど アンカって知ってる? .map{}やらの中のselfの事だろ なんかこの粘着、時々日本語の読解がおかしくなるよな
書いてる本人しかわかってないから、自演が惨めすぎるんだが
>>481 >.map{}やらの中のselfの事だろ 具達的なコードで示すか、過去レスのアンカをカキコしる JavaScript, TypeScript では、this が文脈で変わるので、ややこしい! それを避けるため、jQuery, Haxe では変わらないようにしている
>483デフォルトの名無しさん2018/07/31(火) 13:32:54.45ID:0cuGom8L >やっぱり荒らしてるのは星持ちか このレスがついてから急にレスが付きづらくなったね
RustってちょっとRuby臭がするんだけど、近づいてみるとC++の時に嗅いだ嫌な臭いがして頭がクラクラする
ブロック付きメソッドで与えられたブロックを、 メソッド内でしかも別のコンテキスト下で処理したいんだけど方法ってある?
>>493 あるけどevilだしめんどくさいやめとけ 今からRuby勉強してルビィスト名乗ってドヤ顔できる? アンタらのように下々どもの言語ディスる能力ほしいんだけど
もはやAppleにいらない子扱いされてるObjective-Cすら超越した近寄っちゃあかん言語の筆頭 単純により給料がいい言語に移ってるだけでRuby開発はどこもやりたいんだよね? 企業が欲しい言語エンジニアとエンジニアがやりたい言語に違いがあるだけじゃない?
またステマ荒らし(ドヤッ)さんがネガキャンしてる
>>504 荒らし荒らしいってるお前も荒らしだろ 今見たら俺のレスがステマ荒らし(?)認定されてて笑ったわ 大して荒れてない時でも荒らし荒らしうるせえんだわ >>504 この人の自演は何かの病気なんじゃないか? ステマ荒らし(ドヤッ)さん「RubyスレでRubyをステマするのはずるいブヒー。これじゃネガキャン出来ないブヒー」 ステマ荒らし(ドヤッ)さん「悔しいブヒー。ステマは荒らしブヒー」ブヒブヒ
rubyはとりあえず作ってみるという作業に向いていて、それで良いものをたくさん生み出したが、 それらは結局他の言語へ移植されていって、rubyでなくてもいい状況になってしまった ruby3に向けて速くしようと頑張ってるが、それでもたかが知れてるので、 新しい洗練された標準ライブラリを作ることも必要だと思う
というか荒らしは日中から書き込んでるんだな もしかして無職?
>それらは結局他の言語へ移植されていって RoR はどこに移植されましたか?
>>510 それが残って存在意義になってるのが現状だね QZaw55cn4cのトリップって運用情報板で言われてるボランティアとか星もちだろ? で、何したの?
ああ、やっぱり IP切り換えて別のスレに書き込む度に>>516 が高頻度でついてくる事があったからおかしいと思ってたけど 運営ボランティアの人だったんだ 運営ボランティアの人を頭がおかしい人のように言わない 失礼だろ。奴隷にも人権はある。
「IP切り換えて別のスレに書き込む度に>>516 が高頻度でついてくる」って もう統合失調症の被害妄想だろこれ…… 悪いこと言わないから精神科か心療内科で一度診てもらえ >>513 ID:6NCuGzpDが星もちだろうがなかろうがどうでも良いだろ 何故そんなに必死なの? 動的型なんかにするから袋小路になるんだよ これは初めから決まってたことでどうしようもない 経験的に、プログラムは何でも可能な限り静的なほうが良い これを何でも動的なほうが良いと考えるのは経験が足りてない スタティック最高
>>524 君がRailsのような画期的かつ有効なRubyの使い方を新たに示せば余裕で救えるよ。 Rubyにとって不幸だったのは、Railsの流行によってRubyに入ってきたのが頭悪い連中ばかりで、 Rubyに次のイノベーションを起こせるような人材がいなかったこと。 君がその一人でないというなら、今こそ君自身が君自身の力(コード)でGitHub上で君の能力を示しなさい 日本人がふがいなさすぎるんだ なぜ静的RubyやスケーラブルなRubyを勝手にでもつくろうとせんのだ ちょっと手直しするだけだったろうに Rubyをつくるように促した連中はそういう気運を待ってたにちがいないのに
>>531 はそのスレを荒らしてマッチポンプ繰り返すから嫌なんだよ ボラかどうかの話をしてるだけなのに 荒らしがでてくるからおかしいと思ったけど コレ、酷くないか?
Rails の影響は、Node.js + Express など、すべての言語のフレームワークへ及ぶ Ruby は関数型で、Groovy, JavaScript などに似ている。 それに型推論を付ければ、Kotlin, Haxe になる 他にも、Elixir もある だから、Rubyを学ぶと、数言語できるようになる
Rubyの次のverはどうなるかな parse.yを書いてる環境も公開してくれたら良いな
Rubyのyaccソースを書いてるツールとか言語開発している環境とかの本出して欲しいな
Matzは普通にEmacsオンリーだぞ 20年前から何一つ変わってない
それ、エディター話だろ たしかyaccソースは複雑になりすぎて内製のツールつかってるんじゃなかったか? どこかにそういう記事あったよな確か
>>541 gitのコミットログ見たらすぐわかるけど、普通に手で編集してるよ ヒエ……あれ直に書いてるのか まあそこがrubyの肝でもあるが
いやいや、気になるならgithubにコミットログくらい見に行くだろう普通に考えて そんなだからruby使いがいつまでも馬鹿にされるんだぞ
だから自分で確かめろよw 仮に変なツール使ってたとしても、手でやっても全くの手間変わらないような修正が並んでるよ
普段から型すら書きたくないって言ってるのに コミットログなんか見るわけないじゃん それが必要なことであってもだ
QZaw55cn4cがまたあばれてんのか ほんと懲りないな
スタンドアロンで使えるActiveScriptRubyみたいなのが欲しいな 今風に言えばRubyをくっつけたElectronみたいな奴
rubyはプログラミング集中に邪魔な面倒な約束事を書くのを端折りたい人が使うもんじゃないの?
>>551 Ruby版Electronは欲しいな Rubyと言えばRails一本槍で WindowsとGUI軽視が Rubyの普及を妨げたと思う RubyをGPL感染なしで使うのは難しいから、Rubyをアプリに組み込むような配布形態が流行ることはないよ
たしかにGPL汚染でプロプライエタリで使うのは難しくて Linuxみたいなフリーウェア的思想の方へ 流れていったから現在があるんだろうね Androidのネイティブアプリも軽視されてると思う まあこれもできなくはないけど普及してはない
PCやAndroidのアプリにバンドルするならmrubyだろうけど、 さすがにmruby使うのはだいぶ本末転倒だからなあ そこまでするくらいなら普通にElentronのNode使ったほうがよっぽど生産性高い
ちょっと前にmrubyを使ってみた事があるけどBignumが標準でないためFixnumとシームレスに変換されなかったりして使いにくい 速度もCRubyに劣るしPC用アプリケーションの処理系としてはあまり向いていないと思う
>>535 Expressが影響を受けたのはrailsではなくsinatra。 railsしか使ったことないのバレバレだな。 rubyとjsは全然似てない。jsの関数の万能さ、簡潔さをどうこねくりまわしてもrubyのblock proc lambdaみたいな面白仕様にはならない。 別にjsがすべてに優れてるわけでは全然無いが第一級関数の扱いについてだけは太刀打ちできないだろ。 >>560 JSよりRubyの方が書きやすいんだが OOPするならクラス定数すら定義できないJSは問題外やわ
みんなtypescriptで書いてるから気にしてない
>>561 >>562 ようするに全然似てないだろ? 似てるって言ってる>>535 に対する反論なのだが。 勝手にjsからの回し者認定して攻撃してこないでよね。 わざわざ優れてるわけでは全然無いとまで書いたのに。 > Rubyを学ぶと、数言語できるようになる こればっかりは全く同意できないな Ruby使いはRubyに固執して他の言語に手を出そうとしない傾向が他の言語使ってる人に比べて強い 性質的にはVBerに近い
JS書きやす〜〜いwwwって人もいるんだな。 オジサン驚いたわ。
rubyは手に馴染むけど、いろいろなライブラリを使う状況になると、 入力補完が優れた他の言語の方が効率的になっちゃうんだよなあ
JSが書きやすかったら AltJS言語があんなに出ないはず
ところが今はVSCodeがあるからJSクソ書きやすいんだよなあ 更に高い生産性や厳密なチェックを求めるならTypeScriptもある VSCodeもTSも宗教的にRubyと相性最低最悪なのが悲しいところだが
>>568 昔のJSは書きにくかったんだよ。 でも今はJSが書きやすくなったから、 生き残ってるAltJSはTypeScriptだけになったよ eachによるカウンタいらずのループとかRubyの大きなアドバンテージじゃね 最近のJavaScriptはカウンタを回さなくてもすむようになったんだっけ?
>>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 に似てる >>571 forEach はだいぶ前からあるし、今は for of もある ていうかRubyのアドバンテージとしてeachしか思いつかないってそれ他の言語知らないどころかRubyもよく分かってないだろ あんまりRubyだけに固執しないで他のも触ったほうが結果的にRubyの理解も深まるよ >>571 for of がある ただrubyのeachはすごいと思う というかブロックがすごい breakとかnextとか使えるもん そんなん出来ひんやん普通 RubyよりJavaScriptがすごいのは クロージャーだな。
クロージャは明らかにJSの方が優れてるでしょ Rubyは第一級関数ではないという致命的な欠陥がある
まぁいくら優れたところがあっても動的型ってだけで 過去の言語のグループに入れられちゃうんだから笑えるね
>>572 あん?糖質か? だからそのExpressが参考にしたのがSinatraだっつってんだが?Railsじゃなくて! Rubyはプロパティとメソッドの区別がないとか。何でも再定義できるとかもアドバンテージじゃね これはJavaScriptあたりの範疇から外れるけどCライブラリとしゃべるようなケースでこの差は めっちゃでかいと最近痛感している >>574 忘れかけていたが・・・改めて調べてみた。for inは罠 またネガキャンしにきたのか どんだけ自演がすきなんだ?
お前らデザイン含めてフルスクラッチでアプリ作れる能力あるの?
エンジニアごときがデザインできるって笑えるレベルだと思うけど
設計部にいたとき英語名刺の部署名がDesign Department になってたよ。 Designだけだと設計という意味で取られるのだろう。 日本人が一般に思い描いてる「デザイン」は英語で言うとAesthetic Design だろう。
System Designというのもあるな。日本人には意味も必要性も理解されないが
Ruby界隈はWindows嫌いが多いよな。CrystalもWindows版がないしw
まーた嘘ついてるのか おまえがWindows嫌いなのはわかったってば 自演でWindows嫌い演じても、もう信じる人はおらんよ
ミミ ヽヽヽヽリリノノノノ . .| ミ ,,、,、,、,、,、,、,、、 彡 . ..| l i''" i彡 . .| オレの新Java | 」 ⌒' '⌒ |.. | ,r-/ <・> < ・> | . .| これで儲ける l ノ( 、_, )ヽ | . ー' ノ、__!!_,.、| . | ∧ ヽニニソ l / /\ヽ / .. ̄| / ヽ. `ー--一' ノ/ヽ ノ7_,,, 、 ______ / (⌒、"⌒ソ⌒ヽ─ '" `、 ( ィ⌒ -'"",う/壱 / /万:/| ~''(_)(_)(_)(_)ソ ヽノ ,イ^_.|≡≡|__|≡≡|彡|_____ ヽ/`、_, ィ/ ヽ─/ ̄//|≡≡|__|≡≡|/壱//万 :/| / / ) / ≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡| / ボラクル i|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡| \ ノ |≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡| \__ / ノ|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|/
久々にRubyに立ち返ろうと思ってたんだけど やっぱり今もWindowsだと環境構築は面倒っぽいな 楽になるツール作ったら需要ある?
ツールで何を改善する気なんだ? 個人的な不満はWindowsとのインターフェイスに絡むキャラクタコード 以前に作ったツールはUnicode文字を含むコマンドラインオプションを受け取る方法がわからなくて WIN32OLEを使ってWIM経由でコマンドラインオプションを取得する暴挙に・・・ コンソールのキャラクタコードはCP932だけど引数はUTF-8で外部のコマンドを実行したいときとかも どうすればいいんだろうな
今のwindows版は環境ごと入れるので、rubyを使うためにperlやpythonまで入ってくるのが面白い
たしかに文字コード面倒 ファイルやデータも古い年代モノから最近のモノまでいろいろ、コードも混在 rubyも最新版ばかりでない、マシンによってバージョンが違う
文字コードが面倒って言ってるやつは CP932(ShiftJIS)を使おうとしてるから UTF-8対応のエディタ(Windows 10ならメモ帳でいいんやで?)を 使ってソースコードにはUTF-8以外を一切入れない コマンドプロンプトはchcpでUTF-8に変更するか 画面への入出力時に(Rubyではなく)nkfなどを使って変換すればいい Rubyスクリプトへデータの入力はファイルから行って 出力もファイルに出力するなら、別にnkfでの変換もいらない UTF-8対応のテキストエディタで見ればいい なんで日本専用の文字コードを使おうとしているのかわからない それだと他の国で使えないではないか。汎用的に作ったほうが 簡単になることって多いよ
>>602 そういう話じゃないんだなあ chcpなんて使い物にならないし rubyの内部の作りの問題なんだよ nodeやgoやrustはその辺まともに作ってある そうそう 近代的なプログラミング言語は内部エンコーディングがUnicode固定だから本当にIOのときだけエンコーディングを考慮すればいい 一方Rubyは文字列の内部表現がStringオブジェクトごとのエンコーディングに依存していて、 自分の管理外のコードからStringを受け取る場面では必ずエンコーディングを考慮せねばならない
>>603 > chcpなんて使い物にならないし 使い物になってるけど? 実際WSLはchcpでUTF-8したのと同等の環境で動いている。 文字化けする?フォントがおかしい? だからWSLでまともに使えるようにするために 全部修正したんだってばw >>602 全然判かっていないじゃないか 多くのWindows用アプリケーションはUnicodeもしくはCP932を前提に作られている。たとえコンソールのキャラクタコードを UTF-8にできてRubyがそれに従ってくれたとしてもほかのアプリケーションとの連携で不具合が発生するのは明らかで 問題は解決しない それにnkf使えとか1.8時代に逆戻りだろw 多くのWindows用アプリケーションはUnicodeもしくはCP932を前提に作られている それをRubの外部でnkfなどを使って変換すればいいだけの話だって言ってる
>>605 いやだから、windowsはAPIでコンソールに出力してるから、そういう話じゃないんだって 問題なのは、外部がユニコードの世界なのに、windows版のrubyは内部的にそうなってない所がまだあるのよ 内部で情報が欠落しちゃってるから、そこを変えないとまともにはならんわけ windowsでは内部をUTF-8に決めちゃえばいいんだけどねえ
>>608 APIでコンソールに出力してるから なにがどうなの? >>610 だから、コンソールへは普通にユニコードを書き出せてるからそこに問題があるわけじゃないんだよ nkf CP932に変換するオプション ってやれば、APIでコソンールに出力した結果が UTF-8からCP932に変わるぞ。
>>608 APIでコンソールに出力してるから なにがどうなの? ruby なんたら.rb | nkf CP932に変換するオプション ってやれば、APIでコソンールに出力した結果が UTF-8からCP932に変わるぞ。 >>612 だから、RubyがAPIでコンソールに出力しようとしたものを パイプで標準出力に変更して、nkfで標準入力からAPIで読み取って nkfでSJISに変換してからAPIでコンソールに出力すればいいだけでしょ? 「windowsはAPIでコンソールに出力してるから」が 意味不明なんで意地悪してみたw
ruby なんたら.rb | [nkf CP932に変換するオプション] って書くと書き込みできないんだなー ってあれ?できた?おかしいなw
めんどくせえなあ。SJISに変換とかアホみたいなことしなくても、WriteConsoleWってAPI使ってユニコードで書き出すようになってるんだよ
クソ5chの意味不明な制限で書き込めないときは わざと5chに負荷をかけて細かく分けて書き込むことにしてる すべては5chが悪い >>608 APIでコンソールに出力してるから なにがどうなの? ruby なんたら.rb | [nkf CP932に変換するオプション] ってやれば、APIでコソンールに出力した結果が UTF-8からCP932に変わるぞ。 >>619 だからchcp 65001してれば、 WriteConsoleWってAPI使ってユニコードで書き出したものを ちゃんと表示できるし、 chch 65001しなくても WriteConsoleWってAPI使ってユニコードで書き出したものを ruby なんたら.rb | nkf [CP932に変換するオプション]ってやれば ちゃんと表示できるっていってるだろ WriteConsoleWってAPI使ってユニコードで書き出した からなんだって言うんだ? chcpする必要なんてないってことだよ もういいかげんわかって
rubyの中でCP932のデータを扱おうとするから バカを見るんやで? rubyの外側で変換すればいい 文字コードの問題なんてなんもありゃせん
>>622 あのな、 chcp 65001しないと、 日本語のWindowsではコマンドプロンプトが 互換性のためにCP932モードになってるから WriteConsoleWってAPI使ってユニコードで書き出したものを そのまま表示すると、UTF-8をCP932だと解釈して文字化けするんやで? だからchcp65001しろって言ってるんだが ちなみにWindowsは内部はUnicode(UTF-16)で扱われている これはずっと前からだ
表示できてて、そこは問題じゃないって言ってるのに、そんなに問題があることにしたいのか
>>626 それはRubyのソースコードがCP932になってるから、 俺は最初からRubyをUTF-8で書けと言ってる。 いい加減CP932から離れろよ。 そんなもんRubyの外部で変換すりゃいいだけの話なんだよ https://www.rubylife.jp/ini/japan/index5.html > そしてプログラムを保存する時は文字コードをUTF-8に指定して保存します。 > > 通常はこれでいいのですが、Windowsで標準出力としてコマンドプロンプトを > 使用している場合、コマンドプロンプトの文字コードがShift_JISのため > そのまま「print」メソッドなどで出力すると文字化けします。 RubyのせいにしたいのかWindowsのせいにしたいのか知らんが 結局文字コードについてちゃんと理解してないだけじゃねーかw
これも全部文字コードが乱発されてるのが悪い なんでこんなに増えちゃったん?
アホメリケンが1ビットも惜しいとか抜かして 1文字で7ビットのASCIIコードを作ったのがそもそもの問題 最初から全世界の文字が入り切る24bitぐらいに していればこんな問題は起きなかった
今のUnicodeの全文字数を表すには、17ビットじゃたりないんだな 18ビットあればしばらくは対応できるだろうが十分かと言われると心もとないな 最低でも20ビットぐらいほしいかな
>>607 外部ツールを使うこと前提は普通対応しているとか使えるとはいわなくね? WINEを使えばLinuxでも動くからLinux対応などとうたうWindowsアプリケーションはほとんどないし逆も同様 コードページをUTF-8にしろだのnkfをつかえだのナンセンスすぎる Windows標準のキャラクタコードはUnicodeか日本ならCP932だし、変換もRubyで完結できるべきだ なんや? アンチはRubyの文字環境の設定もしらんのか? しったかばっかりしとるツケやな
WindowsでRails開発してるけどcloud9使ってるからWindows環境に依存しない そもそも環境構築すらいらん クッソ楽だよ
VSCode から、PowerShell を使えば、UTF-8 だから問題ない ただし、Windows で、irb は日本語でバグるから使えない。 irb を使う時は、WSL から使う
おいおいRubyistはVSCode使っちゃダメだぞ VSCodeはJSをわざわざ静的型言語に魔改造したTypeScriptによって作られている そんなものをRubyistが使うということは、静的型の勝利を認めるようなものだ
そんなこと言ったらそもそもさんざんバカにしてきたjavascriptで動いてるVSCodeなんて恥ずかしくて使えないだろw
>>603 chcp 65001 は糞だな git for windows の bash 使うと utf-8 で統一出来る 故Coffeeが押されてた頃以来しばらくRails触ってないから最新の事情に疎いんだけど、今のRailsでは生JSかbabelが普通? さすがにまさかTypeScriptは意味不明なダブスタ状態になるからありえないとは思うけど
そうなんです 物凄いコンプレックスがあるんです 夜も眠れません
そもそもWindowsで開発ってエンジニアとして恥ずかしいからやめな ド素人専用OSだから
そんなこと言ったら、rubyで開発とか恥ずかしいよ
>>632 > 外部ツールを使うこと前提は普通対応しているとか使えるとはいわなくね? 対応して無くていいよ。Unicode(UTF-8)だけに対応していれば十分 >>640 Webpackerが基本だから好きなの使えばよろし RubyInstallersのRuby + Devkit 2.5.1-2(x64) でインストールしたら トロイの木馬検知したんだけど、これ大丈夫なんか……
基本、主流のレンタルサーバではどこもRuby標準装備だろ 個人でやるならRubyしか手は無いぞ?
>>650 管理者権限のないレンサバでやるとか拷問好きの変態だけだろ xxenvが使えりゃ取り敢えずなんとかなるけどな。 pathに嵌ったりするけど。
今はVPSとかHerokuとかそういうの使う方が主流だよね
>>651 教祖がWindowsアンチだから仕方ない 残念だがRuby界においてWindows使いに人権はない 宗教以外で今時Herokuを選ぶ理由はないでしょ PaaSならGCPとかAWS Lightsailとかにしとけ HerokuとAWS/GCPじゃスキルとしての価値にも差がありすぎる
いやしかし機械学習という神風でPythonがRubyを吹き飛ばしたよね 特にこれから始めようとする人で、Ruby選ぶ人って激減なんじゃないかと
>>661 このお盆休みに Rails をやっているのだけれども… >>661 機械学習とWeb系は別物だからね 適材適所ということだね Rails使う奴らが他言語使いを見下しているから嫌われるんだよ
今更Railsはなあ 第2のPHPとして当分は健在だろうけど、もう美味しい時期をとっくに過ぎてRails専のエンジニアは買い叩かれてるのが現状
python用のwebフレームワークもいくつかあるけど、railsの出来には全然かなわんの? rubyもnumpyとかあればなあ
>>666 Rubyの言語仕様はイカれてるからな。 よくもわるくも。 >>666 Django が一番有名なんだろうけど、開発スピードは Rails の足元にも及ばないね >>576 ,577 関数型プログラミングという視点であれば、JS は良い言語だね どちらも出発点として関数型言語をベースに設計された言語だから、当然の帰結と言える: http://2chb.net/r/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使いにとっては常識的な中身だと思うんですけど def式じゃないじゃんjsのfunctionは式だぞ
>>577 >Rubyは第一級関数ではないという致命的な欠陥がある JSとは異なり、Rubyだと関数は一級市民ではない」という指摘を 具体的なコードで示したのは、おそらく自分が最初だと思うけど: http://2chb.net/r/tech/1503644351/210/ そこでもカキコしたように「制限」であって「致命的な欠陥」ではないんだよね >>670 でも書いたように、一級市民としての関数が重要になるのは メソッド(or 関数)の引数値として匿名関数を渡すケースだけど、 Ruby ではまさにその目的のためブロック引数という特殊な構文が用意されている もし反論があるなら、具体的なコードで示したほうが理性的ではないかと思われます >>671 関数型プログラミングを実践すると自然に匿名関数を多用することになるわけですけど、 JS はいちいち function とタイプしないといけないから煩わしい、という意味です たとえば ML族の Standard ML だと fn、同 OCaml だと fun、Haskell に至っては ¥ が匿名関数を表すキーワードです ここまで「JavaScript による関数型プログラミング」が普及し常識になった現時点で 振り返れば、function ではなく fn とか fun という予約語にできなかったのか?と なお、関数宣言のキーワード function は、それが宣言を目立たせる意味で長いキーワードを 採用したと考えれば、納得できるのですけどね Ruby にはブロックスコープがあるし、 関数スコープでは、関数外部からの変数を通さない Rubyの偽は、false, nil の2つだけ Rubyは厳格だけど、JS, Python, PHP などは、ややこしい
>>673 > JS はいちいち function とタイプしないといけないから煩わしい、という意味です なるほど。ではこのコードのどこにfunctionがあるのでしょう? var materials = [ 'Hydrogen', 'Helium', 'Lithium', 'Beryllium' ]; console.log(materials.map(material => material.length)); // expected output: Array [8, 6, 7, 9] ruby狂信者に「他言語では…」って話しすると黙りこくって見下すのは経典に書いてるのか? どんなruby狂信者に聞いてもどいつも同じ精神なのがものすごく気持ち悪い アレなんなんだろうな
>>670 rubyに関する内容がヤバイんじゃなくて archive。fo がだめなだけ >>675 それ、もうブラウザでも使えるんだっけ? JavaScriptは新機能を使っていいかどうか、いちいち考えないとイカンのがめんどくさい。 なおRubyも、バージョンのよる差異がうざい模様。 rubyって昔複数引数取る関数 foo bar baz って書けたよね。 でも今は foo bar, baz だよね。
>>681 1.8.7でも foo bar baz は foo(bar(baz)) なんだね >>675 失礼しました、ES2015(ES6)で導入されたアロー関数ですね ということで、>>670 の: >・匿名関数の function() は煩わしい という項目に関しては取り下げます >>680 調べてみると、主要なブラウザの最新版であれば利用できるようです まあ JS も Ruby も新機能の扱いを「めんどくさい」とか「うざい」と 感じることはあります ただし、どちらも「後方互換性の維持」という言語進化の基本原則を 遵守しているのは共通していますから「新機能を使わない」という 選択肢も残されているわけです >>681 昔って、いったいいつの時代なんだろう 自分は 1.6 の時代だからかれこれ20年は使ってるけど、 foo bar baz と書けたという記憶が無い もしかすると 1.4 とかそれ以前には書けたのかな? 興味深いね >>683 JavaScriptはともかく、Ruby は「後方互換性の維持」を遵守しないぞ。 バージョンアップは、過去のコードをだいたい壊す。 次も、文字列の原則immutable化が控えているだろ。 それはjs以外たいていみんなそうなんじゃ?pythonしかり。
>>168 今どきにbabelも使わずフロント開発してるところなんて業務系SIerくらいしかないでしょ >>688 互換性維持の優先が高い言語はあるぞ。 C,C++,C#,Perl5はずっと更新されてきてるが、過去のコードを壊したことがほとんどない。 RubyやPythonと違って、システムの重要なところを担ってる自覚がある模様。 >>687 >JavaScriptはともかく、Ruby は「後方互換性の維持」を遵守しないぞ。 いや、Ruby は(も?)新機能の導入には保守的ですよ たとえば Ruby の特徴である既存のクラスの振る舞いを後から上書きできる オープンクラス、これには利点と欠点が共存してるけど、これに対応しようとする refinement の提案は「後方互換性の維持」を理由に却下され続けたけど、 その壁を乗り越えてようやく 2.1 で採用された もしも遵守しない例があるなら、具体的なコードで示してね(>>675 みたいに) >次も、文字列の原則immutable化が控えているだろ。 え、frozen_string_literal オプションがあるでしょ? >>688 いやぁ、バージョンアップしたら Hello world すら構文エラーになる Python みたいな 言語などとは一緒くたにされたく無いですね ・Rubyの設計上の欠点とは何か? http://2chb.net/r/tech/1413113999/123-126/ Python2 の時点ですら全プログラミング言語でも人気トップ10、スクリプト系言語に限れば 圧倒的に首位を独走というメジャーな言語が、Hello world すら構文エラーになるという 基本原則「後方互換性の維持」を頭から無視したバージョンアップを断行するなんて、 過去のプログラミング言語の歴史を振り返ってもあり得なかった歴史的快挙(暴挙?)ですよ とうていマイナー言語の Ruby なんかじゃあ到底まねできないですわ >>692 結局、互換を壊してるじゃん。w そんなのは保守的と言わないんだよ。 多少の不満は飲み込んででも、過去のコードを重視しないといけない。 オプションで選択できるとか、いいわけにならん。 例が知りたきゃググれ。 スコープとかメソッドとかいろいろあって、思い出すのもバカらしい。 ま、それがRubyの道なんだろうから、それはそれでいいんだよ。 ヘンに言い繕わずに、互換性は低いと冷静に受け入れてれば。 現実無視の机上の空論w 昔のC/C++コードを一切の修正なしで再利用できるケースが実際にどれだけあるというのだ
>>683 JS のアローと、function()無名関数は、スコープ・this の挙動が異なる 非同期処理などで異なる。 別のもの JSは、Rubyの影響を受けて、ドンドン変化していく >>693 >オプションで選択できるとか、いいわけにならん。 では、以下のコードを python3 で動かす方法はあるんですか? http://2chb.net/r/tech/1413113999/126/ え、オプションすら存在しないのぉ??? オプションすら許さない >>693 氏のオレ様基準に従えば、 いいわけ以前の「後方互換性の断絶」であり「致命的な互換性の問題」ですね >例が知りたきゃググれ。 >スコープとかメソッドとかいろいろあって、思い出すのもバカらしい。 え、これだけ「Rubyはゴカンセイガァー」と騒いでおいて、 ご自身では具体的なコードすら書けないんですか? 情けないですね、自分ならスコープやらいくつかRubyに関する 「些細な互換性の問題」を示してあげることもできるんですけど >ヘンに言い繕わずに、互換性は低いと冷静に受け入れてれば。 いやぁ JS と比較すれば互換性は低いですよ あちらはECMAScriptという国際標準の強い縛りがありますからね でも Hello world すら動かなくなる最底辺 Python と比較すれば遥かに高い そもそも具体的なコードも示せないくせに、 ナゼか「上から目線で」オレ様理論を押し付けるのは、 Rubyアンチに共通する性癖ですね 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にどうやって渡せば良いのか?
> Nokogiriで構築したDOMを、JSにどうやって渡せば良いのか? うん、でもいま面倒なことになってるよね?
>>697 Rubyアンチアンチは、だからめんどくさいんだよな。 そんなに必死にならんでもええよ。w それがルビリスト 皆呆れてるだろうが 個人的にすごく良い流れなので もっと頑張れ
一言で言えば左翼と同じメンタル 何故そうなるかは長くなるから書かないけどな
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のように展開できるのか?
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 }' まさか、シングルクォーテーションで変数展開できるとは! 神! 5ch ブラウザみたいに、スレに書き込んである画像のURL を、 自動的に、<img> に展開して表示するものを自作している Selenium WebDriver を使って、Nokogiri で、DOM を構築して、 JavaScript(JS) を使って、そのDOMで、body 以下を更新しようとしている わざわざ、Sinatra, Vue.js などを使うまでもない。 標準添付ライブラリのERB は、使っても良いかも
Action Cableを使用してるアプリってもうある?
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は無効になっているのが正しいです。 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 } だけが変数展開されているだけ。 ヒアドキュメント内の、', " は、そのまま表示されているだけだった
だからなんだよいちいちうるせえな リファレンス全部読んでこい
str.chomp!.strip! 末尾の改行を削除して、先頭末尾の空白を削除するのを、メソッドチェーンで書いたけど、 chomp! は、改行がない場合に、nil を返すのでエラーになる メソッドチェーンに出来ないから、分けて書くしかない str.chomp! str.strip! nil を返す可能性があるものは、メソッドチェーンに出来ない
拡張子で、画像ファイルかどうかを判別する際に、 大文字の拡張子を、downcase で小文字に変換して判別していますが、これで良い? それとも、String#casecmp を使う方が良いの? どう書けば良いの? file_extname = ".JPG" # . を削除して、小文字にする file_extname.delete!(".").downcase! extnames = %w(png jpg jpeg gif) # 画像の拡張子 extnames.include? file_extname # 含まれている?
>>717 str = " \tfoo\t \n" #=> " \tfoo\t \n" str.strip! # => "foo" >>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] == '.' ていうかこのくらいの処理なら正規表現で書くわ 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
Ruby de GUI for Windows RScript(ActiveScriptRuby)→良くも悪くもHTA、要インストール、最新版に追従していない wxWidgets(wxRuby)→高機能、環境構築が面倒、機能によっては罠があったり不安定だったり、コントロール類のデザインに手間がかかる Tcl/tk(Ruby/Tk)→導入が容易、機能面はwxRubyに劣る、コントロール類のデザインに手間がかかる fiddle(WindowsAPI)→何でもできる、配布サイズが小さい、茨の道 (Webブラウザ組み込み型→現状なし?、出てきたとしても配布サイズの肥大化は不可避)
拡張子発明したやつ天才だわ 名前にファイルの種類を埋め込むとか一見ダサそうだけど理にかなってる 一方でマックバイナリは糞だわ
拡張子の何が凄いって あくまでそれが何であるか種類を表しているだけで どう扱われるかはOSの設定次第ってところ これがRubyみたいな古い考えの頭のやつがやると ファイルは自身がどう扱われるべきか知っているべき とかアホみたいなこと考えだして マックバイナリみたいな糞が出来上がる だが実際には拡張子ぐらいが一番使いやすい
>>729 メタプログラミングのため ソース上に現れる変数名やメソッド名とかってソースを解析する時点で全て把握できてるわけだから、 それを予め数値に置き換えてしまうことで効率よく扱おうという伝統的なコンパイラ技法があるんだけど、 Rubyはメンバ検索の動作を独自に定義できたりするので、その置き換え後の数値をRuby上のデータとして扱えなければならない そのために用意されてるのがシンボルオブジェクトでありシンボルリテラルである 一方で、数値じゃなくて変更不能な文字列を使えばそんなもん要らなくね?という説もあって、実際Matzもそうすべきだったと失敗を認めている というわけで、今となっては変更不能でちょっと不便な文字列のようなもの、以上の意味はない ちなみにRails専用DSLに成り下がって以降のRubyではRailsの影響でシンボルをキーにしたHashを引数に渡すということがよく行われるけど、 これはクォーテーションより:の方が書くのが楽だからとか、 文字列よりシンボルをキーに使ったほうがハッシュの検索が速いと信じられていた(今のRubyではこれは正しくない)からといった あまり本質的でない理由によるもので、シンボルじゃなくて文字列でも何の問題もないよ
>>729 不変性と同値時の同一性が保証された文字列は便利でよく使うから 不変だと特にハッシュのキーとして安全に運用できる 多数出現する同値を同一にできるとメモリが節約できる >シンボルじゃなくて文字列でも何の問題もないよ うわあああああw
frozenになるだけでオブジェクトは別に作られるのかと思ったらこれじゃ本当にSymbolと変わんねえなw でもSymbolもなんだかんだ好きだけど ruby --enable=frozen-string-literal -e 'p 1000.times.map{"foo".object_id}.uniq' #=> [20966820]
あもともとfrozenな文字列は使いまわしてたのか $ ruby --disable=frozen-string-literal -e 'p 1000.times.map{"foo".freeze.object_id}.uniq' [20983260]
>>733 MatzがしれっとSymbolをStringのサブクラスに変更しようとしたの知らんのか 結局互換性の問題でMRIメンバーから大反対されて却下されたけど、 今Rubyを完全に再設計するならまず間違いなくシンボルリテラルは単なる文字列になり、Stringは常に変更不可になる Railsのパフォーマンス改善のためにRubyに導入されたシンボルGCなんて、 それこそ本来のシンボルの意味からすると全く必要ないはずの馬鹿げた機能だ もはや誰が見てもSymbolは事実上単なる文字列 最下位bit使って 整数の範囲を減らしてまで シンボル空間作ったのに 互換性無いですかそうですか
>>731 >メタプログラミングのため 後半の内容とは何ら関係しない 覚えたてのメタプログラミングって単語を使いたいだけちゃいますか >Railsの影響でシンボルをキーにしたHashを引数に渡すということがよく行われるけど、 Railsで最初にRubyに触れた人にとってはそう感じるだろうけど、 ハッシュのキーとしてシンボルを使うのはRails以前から普通だったよ >>736 >Railsのパフォーマンス改善のためにRubyに導入されたシンボルGCなんて、 シンボルGC導入のきっかけは(ブルートフォース攻撃に対する)セキュリティ対策だよ パフォーマンス改善のために導入された文字列のfrozenデフォ化とごっちゃにしてる >>736 ヤツはホンマ互換性を軽視する輩やな。。。 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 を実行
すいません、プログラミングの世界に最近初めて入ったんですけど C++やろうとしたら別のスレでRubyとjava勧められたのでやろうと思ってるのですが Rubyはプログラム初心者に向いてますか? それと実行環境はVisualStudioを使えますか? この2点教えてください
>>742 Rubyは開発陣がWindowsアンチばかりでWindowsとRubyは極めて相性が悪い 初心者云々以前に、Macに乗り換える気がないならRubyは論外 WinでスクリプトならPythonにしよう 絶賛落ち目中のRubyよりよほど将来性があるし初心者にもわかりやすいしWinで使いやすいしVisual Studioでもサポートされている アホか初心者が戯れにやる程度ならrubyもpythonも大差ねえよ
RubyInstaller for Windows がある。 エディタは、VSCode ただし、Windowsで、irb を使うと、日本語でバグるから、 irb だけは、Windows10 なら、WSL でLinux(Ubuntu)側から使う paiza.IO, codepad などのサイトで、ブラウザからプログラミングするのが簡単。 他には、progate という学習サイトもある 環境構築には、数十のLinux コマンドも覚えるべき。 絶対・相対パス、環境変数PATH の仕組みなども知らないと無理 ruby -v 例えばこういう、ruby のようなパス無しのコマンドを入力すると、 どういう仕組み・順序で、PC 内から、そのコマンドの実行ファイルのある場所を探し出すのか? つまり、こういうOS の知識がないと、 コマンドプロンプト・PowerShell などのシェルを使えない ほとんどの人は、これらの勉強ができず環境構築ができないから、 環境構築のいらない、Excel エンジニアになるしかない! つまり、プログラマーにはなれない人!
>>742 C++ をやるんだったら Java にすればいいと思います >>743 そうなんですか。Win10使ってるんですけどやめたほうがいいですか... 別スレでC++始めるならまずたのしいRuby 第5版、2016 とスッキリjavaやってからにしとけって言われたので 聞いてみたのですがあまりよろしい選択ではなかったですか。 色々調べてみるとrubyは簡単な言語の上位にランクインしてたので覚えやすいのかなって思ってたんですが PythonはVisualStudioで出来るんですね。いいこと教えていただきありがとうございます。 >>745 一応VisualStudioでRubyもやれるんですか LinuXはOS?ですか?あまり良くわからないんですが、かなり敷居は高そうですね…… paiza等もブラウザで出来るみたいなんですが入力とかクラスとかの機能が使えないみたいで 色々不自由しそうで、なるべく実行環境整えたいのですが、今の段階では厳しいですか。 教えていただきありがとうございます。 今の覚えるならpythonの方がいい 悪いことは言わない勝ち馬に乗れ
>paiza等もブラウザで出来るみたいなんですが入力とかクラスとかの機能が使えない そんなことはない普通に使える 実行環境構築に自信がないならブラウザコンソールからJavascriptやっとけ
>746 別スレで教えていただきjava環境導入出来ました。ありがとうございます! せっかくお勧めの入門書2冊教えてもらったので両方の言語やろうかなって思って聞いてました 少しでもC++の理解が簡単になるならやっとこうと思ったんですけど無意味ですかね
>>748 そこまで本格的にやる予定ではなくて, 別スレでプログラム0から始める奴がC++からやっても理解できない。 たのしいRuby 第5版、2016 とスッキリ分かるjavaやってからにしろ!って言われて 少し遠回りしてでもやろうと思ってたんですが、今聞いた感じだとあまり入門者がやる言語ではないみたいですかね… pythonとjavaとりあえずやってみます。ありがとうございました C++やるつもりならなおさらPythonがおすすめだな Pythonは設計思想が比較的C系に近いからC++やJavaにも馴染みやすいよ RubyはRubyが最高だと信じて閉じ籠って他の言語やりたがらない人が多い
「たのしいRuby」「スッキリjava」は薦めたのは、俺だよ Windows のユーザー・システム環境変数の設定画面を使えないと無理。 この画面の環境変数PATH を、穴のあくほど見つめる。 新しく何を追加したのか 絶対・相対パスの違い。 これがわからないと、VSCode で、PowerShell から実行できない cd, ls などの、基本的な20ぐらいのLinux コマンドも覚えるべき。 PowerShell でも、そのまま使えるから。 例えば「cd ..」これの意味がわからないと、PowerShell を使えない。 コマンドプロンプトはややこしいから、なるべく使わない方が良い C++ なんて、5年以上先の話。 環境構築できないと無理 paiza.IO, codepad などのサイトで、ブラウザからプログラミングするのを薦める。 progate という学習サイトで学習する人も多い
「たのしいRuby」「みんなのPython」「スッキリjava」の3冊を読めばよい 「たのしい・みんなの」の2冊は双子。 ただし必ず、たのしいから読むこと! みんなのから読むと、わからないから苦戦する ただし、みんなのは、AI・機械学習しない人には、無駄が多い。 ウェブ系なら、たのしいRuby HTML, CSS, JavaScript も必要
今からJavaをするくらいなら、C#をしたほうが一億倍はいいと思うが。 とくにWindowsなら。
>>742 プログラミング言語は道具だ。道具を使って何をしたいか(目的)が重要なのではないのかな 逆に目的が決まれば適したプログラミング言語も自然と絞られてくる なんとなくならメジャーなのをやっておけとしか・・・ 例えば、C++ のロベールを読むよりも、 「たのしいRuby」「みんなのPython」「スッキリjava」の3冊を3回読む方が、 はるかに速く読めるし、得るものも大きい。 50時間もあれば、全部読める 一方、C++ で50時間使っても、ほとんど何も作れない。 やってみればわかるけど、時間の無駄 C/C++ などポインタがある言語は、すぐにバグるから、すごく時間を損する
https://rubyinstaller.org/ Ruby Installer を使うなら、2.4 系を使う。 2.5 系は、まだ新しいから使わないように irb は日本語でバグるから、使わないように。 使うなら、WSL でLinux(Ubuntu)側で、irb を使う VSCode もインストールして、Rubyの拡張機能も入れてみれば? 環境変数がわからないのはともかく自分で調べて理解できないレベルなら諦めろ
これが参考になると思う web上では見たことあるけど 出版物上で観るのは初めて感
言語の初心者用の本は、PCの初心者用の本じゃない! 言語の本はあくまで、その言語を知らないだけで、 環境変数とか、絶対・相対パスとか、cd, ls などの基本コマンド、 PowerShell の使い方などは、知っている事が前提 こういうOS の知識を、教えている本はない。 それを書けば、言語を説明するページが減るから、書かない つまり言語の本は、PCの初心者を対象としていない! 既に、OS の知識はあって、その言語だけを知らない人向け
762 みたいな本を書いている奴は、勉強を何もわかっていない。 なぜ生徒が、プログラミングを嫌うか 言語には、勉強する順番がある。 小学生にいきなり、大学教育をしても無駄。 小中高大学と、個人の成長には、勉強する順番が重要。 知識を下から、積み重ねていかないといけない 1. 動的・軽量言語 Ruby, Python, JavaScript 2. 静的言語 Java, Kotlin, C# 3. ポインターのある言語 C, C++ 今の大学教育では、C から教えているから、皆プログラミングはしょーもないってやめる。 これは、Rubyの女神・女優の池澤あやかが言ってる
>>768 教養時代に必修科か準必修科目でRubyやったぞ 薬学とか農学部進学予定の奴までやってたのはかわいそうだったけど >>753 つまり、Python信者は他言語スレまで出張してPython推しするほど必死だと >>769 今日日、農学志望の人はRubyくらい使う機会があるかもね。 集計統計とか農業IoTとかで。 ラズパイでは、Python も良いけど ウェブ系では、Ruby が強い。 Rails から、Vue.js, React も使える
>>770 言語なんか複数使えて適宜使い分けられて当然でしょ >>743 つまりPython推しのためであれば、他言語スレでの荒らし行為も正当化されると いやあPython信者って怖いですね 俺はPythonよりRubyの方がずっと好きだけど (Railsプログラマーを目指してるんでもなきゃ) これから何か始めようって人には断然Pythonを薦めるし 自分のお気に入りだからってむやみにRubyを薦める奴の見識は疑うね
>>780 CASL なんて覚える気になりません、といって、x86 のいい教科書がありませんね 誰か書いてほしい >>779 つまり: 俺はRubyよりPythonの方がずっと好きだけど (機械学習プログラマーを目指してるんでもなきゃ) これから何か始めようって人にRubyを薦めることもあるけど 自分のお気に入りだからってむやみにPythonを薦める奴の見識は疑うね ってことですね Python信者の皆様、お勤めご苦労様です >>782 そりゃひねくれすぎだろ…お前いったい何と戦ってんの? ただでさえRubyの評判は落ち目なんだから 狂信者が必要以上に貶めるのはやめにしてほしいわ >>780-781 2人のイリノイ大学生が使った、LLVM に世界が飛びついたけど、 日本では既に情報処理資格に、仮想アセンブラ CASL2 があった LLVM/Clang 実践活用 ハンドブック、出村成和、2014 詳説 Cポインタ、2013、オライリー・ジャパン OSのすべての機能を学びたいなら、ムック本の Linuxエンジニア養成読本、第3版、2016 >>752 プログラミングの基本って、 ・変数への代入、関数(メソッド)の使い方 ・配列、ハッシュ(連想配列)とかのデータ構造 ・値の比較と条件分岐(if文とかswitch文) ・繰り返し処理(do while文とか) こういうのだけど、これはどの言語にもあるものだから、 一度覚えればほぼそのまま使い回しがきく。 (if文じゃなくてif式、とか若干の違いを言語ごとに覚えるだけ) あとは「オブジェクト指向」の考え方というか、 概念みたいなのを理解できてれば、 どの言語に移ってもそんなに苦労せず使えるようになる。 で、そういう基本は、C++でもJavaでもRubyでもPythonでもJavaScriptでも、 どれやったって学べるわけだけど、 最近は3DCGのアプリとか、機械学習とかのジャンルで Pythonが採用されるケースが多いので、 ゼロから始めるなら使い道の多いPython、みたいな意見がどうしても多くなる。 (Rubyは使いやすい言語だけど、Webサイト構築以外での採用例があまりない) けど、「自分のやりたいこと」がなにかを決めた上で、 「それを最短距離でできる言語はどれか」を 詳しい人に教えてもらって始めるのが一番おすすめ。 (自分のやりたいことがC++でないとできないなら、最初からC++をやるべき) 特にやりたいことがなければ、 本屋で各言語の入門書をいろいろ立ち読みして、 自分が理解できそうな言葉で書いてあるやつを選んで始めれば、と思う。 ちなみにPythonもJavaも、初心者が学ぶ言語としては 悪くない選択肢です。 >>785 Pythonは3DCGでは最近じゃないから ほとんどの奴がPythonの存在を知らないときから使われてる ツール組み込みのPythonは未だに2だったりするんじゃないの?
組み込みだとLua、mruby、JavaScriptあたりも使われている
しれっとmrubyを混ぜるな mrubyなんか誰も使ってない
まぁ古参はC、下手したらアセンブラからの経験者で トレンドに合わせてステップアップしながら言語を覚えただろうから 初心者が何の言語から勉強するべきかなど分かるはずもないんだよな シンプルで覚えることが少なく今なお第一線級で活躍している言語なら間違いなくC言語 C言語ほどシンプルで実用性のある言語はない OSが書かれてる本物の言語ってだけでもモチベーションになる 全ての実用言語の元になってると言えるし、最初にやるには良い言語だ 良くも悪くも 一方で楽しさ優先なら間違いなくC#でポトペタ開発でしょ めちゃ楽しいが、WPFなどの背景にある仕組みの複雑さに挫折するかも でも触ってて楽しいだろうなぁ、画面作るだけならマウスだけで出来るし あぁRubyとかPythonとかは寄り道みたいなものだから最初にしなくてよいよ、ハマるから 動的型のスクリプト言語など色物なのに、最初にやるとか、どうかと 俺は絶対おすすめしないね、プログラミング言語の本流じゃないからね 特にここ10年は静的型が本流ってみんな知ってるだろ、いじわるめが
あと、環境設定がどうとか、約一名盛り上がっているようだが そういう人にはVisualStudioがおすすめだろう これだけ完成度の高いソフトが無料で使えるのは凄すぎる トータルで言えば、初心者におすすめなのは VisualStudioとC#でポトペタ開発って事になるのかな でもまあ、C#もバージョンがどんどん上がって今やとても複雑な言語だからなぁ ソフトウェア業界が10年20年かかって常識にしてきたことを 一気に追体験しようというのはなかなか酷だわな 本当はC言語とWin32APIあたりから始めるのがシンプルで理想なんだが モチベーションがつづくかな、それさえ気にしなければよい選択なんだが どちらにせよ、RubyやPythonのような本流主流じゃない言語を最初にやるのは止めたほうが良い 筋が悪い、悪かった、というか悪いお手本みたいな言語だから
手続き型言語でプログラム書くなら、どのみちメモリのことは意識しなければならないし ポインタが分からないって時点でプログラマには向いてないというか何というか ただ、結局、安全かどうかなんだよ その点C言語は安全とは言い難いが 意図せずヌルポするのはヌル安全の機能が無い言語ではどれも同じようなものじゃろ その観点から言うと、単なるタイポすらコンパイル時にチェックしてくれない 動的型言語は初心者に進めるのは止めたほうがよい 初心者ほどタイポするだろうからな それが言いたかった
>>792 > 単なるタイポすらコンパイル時にチェックしてくれない動的型言語 (きっとRubyのdid_you_meanはおろか70年代のLispにすらあったDWIMも知らないんだろうな…) >>796 そのdid_you_meanはコンパイル時(プログラム実行前)に チェックしてくれるのかい?w とにかく、初心者はプログラムを間違えるものなんだよ 一発で動くことは先ずない それならコンパイルの時点でよりたくさんのエラーを検出してくれた方が学習が捗るだろ? 初心者にRubyなんか薦めるなって事だ その人を蹴落としたいなら別だが
まず多少なりとも動いてくれたほうが楽しいので学習が捗りました(経験談
>>799 重要なのはプログラム実行前ってことだよ 静的とも言う。 実行した後はいろんな状態があり得るが 実行前というのは状態は一つだ。 つまりいろんな状態にしなければわからないというのは 問題を発見するまでに果てしなく時間がかかるということ だからなるべく実行前にわかるようにするのが良い いやeval getsするだけで可能性は可算無限でしょ eval gets p A # input A = 'hoge' とかどうすんのよ
>>797 動的型言語かどうかは関係ない Smalltalkの“confirm, correct, or cancel”はコンパイル時チェック >>803 Smalltalkのコンパイルっていつやるの? プログラム実行前って言ってるのに理解してなさそうw
何だったらコンパイル時どころか 最近のエディタだったら書いてる途中でリアルタイムで文法チェックするからな 間違ってたら波線とか出る そういう状況なので、なるたけ多くのことが静的にわかったほうが良いんだよ 実行時にエラーにするなら馬鹿にでもできる!!って思うし やってみてダメでしたってな、バカっぽいでしょ 事前に分かるから賢い
>>804 メソッドを書き終わった後(accept、つまりコンパイル指示を出したとき)だよwwww >>807 その時にSmalltalkは動いているのかどうかって話だ 動いてるだろ このスレって質問者をほっぽりだして変なのがしゃしゃり出てくること度々あるよな
>>808 IDEでJavaソースコンパイルするときjavacもIDEも動いてないっての?wwww >>810 いや、自分で書いたコードの話なんだけど? Smalltalkは自分の書いたコードがすでに動いてないと そういうエラーはでないでしょ。 >>811 バカなの?コンパイル時って言ってるやん何度も ともかくスペルミスくらいなら動的型言語でも静的にチェック可能なの わっかんないやつだなー >>812 >スペルミスくらいなら動的型言語でも静的にチェック可能なの 型宣言がないのに、そんなことが可能なのでしょうか? ローカル変数だけだったりしてねw 近くの情報は周辺を見ればいいだけだから問題はすぐに分かるんですよ。 遠くの情報、例えばインターフェースが一致しているかどうかが わからないと使い物になりませんね 人間がやると大変なものこそコンピュータにやらせないと
なんで静的型の後追いみたいなことで苦労してるんだろうね 初めから静的型言語使えばよいだけなのにね 怠惰を求めて勤勉に行き着くってやつなのかね 動的型全体がそうだよね 処理系書いてる連中も、言語使ってる連中も 楽しようとして最終的に苦労する なにこれコワイ
>>813 構文木にできれば(ローカルに限らず)未宣言の変数だとか未知のメソッド呼び出しだとか程度なら 簡単に分かる Lispみたいに構文も単純なら構文ミスも指摘して修正候補を提示することも可能(例:InterlispとかのDWIM) >>816 >未宣言の変数だとか 動的型付け言語ってそもそも変数宣言はないのでは? >>817 変数を宣言させるかとそれに型情報が付くかどうかは別の話だよ 変数宣言をさせたら動的型言語じゃなくなるという法はない 宣言を課さない言語でも初回代入を宣言と見なす場合もある >>818 >変数宣言をさせたら動的型言語じゃなくなるという法はない たしかにそのとおりですが、 でも実際問題、変数宣言をしてかつ動的型付けである言語は存在しますか? そんなの珍しくないよ JavaScriptとかな 変数宣言には二つの役割があって、一つは型を宣言することだけど もうひとつスコープを宣言するって役割もある だから動的型言語でも素直なレキシカルスコープが欲しければ変数宣言があってもよい 一方で変数への最初の代入を変数宣言の代わりにする言語は だいたいスコープがバグってる ただの変数への代入か、新たな変数を宣言したのか、区別がつかないからなwww それでnonlocalだの@だの、ダサいだろ? ま、そういうわけで、やっぱり変数宣言は有ったほうが良いし どうせ変数宣言するなら型を書いても良い気がするし 動的型言語が衰退するのは当たり前だったわ なんせ、ありとあらゆるスジが悪いんだよ
>>819 Rubyのメソッドの仮引数やブロック変数は宣言でないと? >>821 def f(xyz) "Hello, #{abc}!" end というメソッド定義があって 本当なら変数として xyz のところを間違えて abc と書いてしまった というシチュエーションでも、エラーがでないでしょう? >>822 あのさぁ…宣言を課すこととミスを検出できるか(するか)どうかはまた別の話なんだが? 今は「変数宣言をしてかつ動的型付けである言語は存在しうるか?」って話なんじゃないの? >>823 「宣言を課す」というのは「宣言をしていない変数は変数として認識しない」という意味なのでは? ◆QZaw55cn4cは会話が成り立たないからスルーしろ
>>824 Rubyはそうしていないというだけで、コンパイル時に abcが未代入(代入操作で宣言を兼ねるRubyでは未宣言にあたる)である事実や あるいはメソッドとして未定義である事実をもってxyzとすべき記述のミスでは?との判断を下し そうであれば修正を促すことは可能だろう? 予め釘を刺しておくけど、ミスの可能性があることとコンパイル可能であることとはまた別の話だからな! >>824 もしかして Rubyでは無引数(括弧なし)のメソッド呼び出し記述は同名のローカル変数のアクセス記述を遮蔽してしまう っていう仕様をしらないとかいうオチ? もしこのルールがなければ>>822 はキミの想定通りエラーのはずだよ 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()
>>827 >代入操作で宣言を兼ねる これは危険ですね なぜなら、変数が未代入かどうか、正確には、変数が未代入「でないか」どうか、をソースコードのセマンティクスから判断するのは困難だと思うのです >>827 Rubyは、未定義メソッドの呼び出しが可能なんじゃないか? そのためのフォールバック用メソッドがあったはずだが。 メタプログラミング Ruby 第2版、2015 で紹介している、Module#define_method(), method_missing() とかだろ?
picture_url = " ; uri = URI.parse picture_url file_name = File.basename(uri.path) # ファイル名 file_extname = File.extname(file_name) # 拡張子 後ろに「:orig#jpg」が付いていても、ファイル名が正確に抜き出せる! DlCjEV6V4AUM9Kl.jpg >>831 そうそう。だからRubyじゃコンパイル時にわからないんだよ。 例えば以下のように、一行目にexitしてしまえば その下にいくら変なコードがってもコンパイル時にチェックなんかできない exit aaa = 1312 class Hoge def hoge end end h = Hoge.new h.hage i = IIII.new 言い換えると、動的言語ではファイル単位でしかコードを見てないので 少なくともファイル外にある情報はわからない 検出できるのは文法エラーぐらいだよ 残念なことにね。それが現実。 だからさぁRubyが駄目ってとこを動的型言語の限界だと一般化しないでくれ 話がまったく噛み合わない
>>831 だからミスの可能性がある(そしてその指摘や修正の提案が可能である)ことと コンパイル可能な(つまり状況が整えば実行可能になる)コードであることとは また別の話だって釘を刺してるだろうに… >>830 Ruby限定の欠陥の話がしたいのか動的型言語一般の限界の話をしたいのかをまず表明してくれ >>813 からの流れは動的型言語一般の話ってわけじゃなかったのか? まああれだ、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というメソッドはないから実行時前にエラーを検出できるはずだ そうならないので、未定義メソッドの検出はできない。 反論はコードでどうぞ ここにMatz呼べば全て解決じゃん どうせ見てると思うぞ
>>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” 「いまさらRuby」 「Rubyで学ぶ機械学習」 あたりを誰か書いてよ
「間違ってRubyを始めてしまった人へ贈るPython入門」 もいいな
Pythonは、試してみたい気持ちもあるものの、よろしくないところもいくらか知ってるので、微妙なんだよなー。 そういえば、ボスが引退するそうだが、なにか変わんのかねえ。
>>839 個人的には ruby を改良しようといろいろ画策しています、宣言付き ruby とか 動的型付け言語にて変数宣言を導入すればずいぶんと使い勝手も変わるだろうと想像しています そういう視点でおねがいします 画策wwwwww それでプルリクでもしてこいよwwwwwww
>>847 Rubyは変数宣言を省略したことが原因の仕様がらみのトラブルが少なくない そんな犠牲をはらっても(型も含め)宣言を書かせないことがMatzの優先事項の上位にあるわけ キミの「改良」案は何を今更だしそもそもMatzや取り巻きが耳を貸す可能性はゼロだろうね 結局、言語を改良していくと、Haxe になる マルチ言語・マルチプラットフォーム、 this の挙動を変えて、型推論・パターンマッチ・引数付き列挙 Ruby は、JS, Python などど違って、関数スコープ・ブロックスコープがあって、 関数スコープは強固だから、変数を内側へ通さない だから変数宣言が無くても、バグらない ES2015(ES6)でも、ブロックスコープが採用された。 変数宣言も、以前からのvar に加えて、const, let も作られた
>>852 なんで関数スコープとかいう小さい話してるんだ? 小さいものであれば、少し頑張れば対応可能なのは わかってるんだよ。もっと広い範囲、オブジェクト間の通信とか プロジェクト全体のレベルでバグが発生するから型がいるんだよ >>850 ↓でググる site:www.rubyist.net/~matz (スコープ OR クラス変数 OR 定数) 教えてください! [パーフェクトRuby]と[プロを目指す人のためのRuby入門 ]はどちらがオススメですか? 当方3ステップ本を学習中、仕事でRubyを使えるようになりたいと思っています。 よろしくお願いします!!
>>860 仕事でRubyやりたいならRails以外の選択肢はないからいきなりRailsやるのがいいよ Rails DSLは別言語なレベルにまでカスタマイズされてるから、最初に素のRubyをやるとかえって混乱するのでお勧めできない あとはLinux使ったWebサイト運用構築のインフラ本を一冊と、AWSの本一冊かな WebやるわけじゃないんならPythonで勝ち馬に乗ろう この順番で読む。 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
>>860 >[パーフェクトRuby]と[プロを目指す人のためのRuby入門 ]はどちらがオススメですか? どちらもオススメだけど、難易度であれば [プロ] よりも [パーフェ] のほうが高い [パーフェ] は幅広く高度な話題を扱うプロ必読の本だけど、 説明もプロ向けで簡潔だから初心者では読んでも意味不明な魔術書と感じるかもしれない それに対して、[プロ] は話題を厳選して丁寧に分かり易く解説している印象を持った だから初心者へのオススメコースであれば以下の順序になる: ・たのしいRuby ・プロを目指す人のためのRuby入門 ・パーフェクトRuby >>861 >仕事でRubyやりたいならRails以外の選択肢はないからいきなりRailsやるのがいいよ 質問者は「Webをやりたい」と希望しているわけでもないのに ナゼかRailsを勧める話が噛み合わない返答、日本語が不自由な人ですか? >Rails DSLは別言語なレベルにまでカスタマイズされてるから、 >最初に素のRubyをやるとかえって混乱するのでお勧めできない つまり: Pythonは手続き型プログラミングに特化して設計された言語だから、 >>861 のようなPythonプログラマには、手続き型にオブジェクト指向と関数型が融合された 素のRubyをやると混乱した苦い経験が過去にあったのでお勧めできない、 という解釈できますね >WebやるわけじゃないんならPythonで勝ち つまり: トレンディーにセンシティブなナウいヤングメンにはPythonがお勧め ということですね、たいへんわかりやすいです >>864 プロを目指す人のためのRuby入門は本当に入門用、yieldやProcの解説までで終わり。 パーフェクトRubyはメタプログラミングとかGemの作り方とか実践的なことまで書いてある。 これから言語を初めて学ぶならTypescriptとかのほうがいいと思うけど。
ほら >>865 最高でしょ これが典型的なルビリストの思考回路 >>867 初心者にJavaScript系はイカンやろ。クセありすぎ。 それだったら、C#をやるべき。 TypeScriptとC#だったら似たようなもんだろ 設計者同じなの知らないのか?
>>871 TypeScriptはJavaScriptに引っ張られる部分がどうしてもあるからね さすがに似たようなもんではないと思う JavaScriptの一大メリットである環境整備のしやすさもTypeScriptにはないし 初学者ならRubyは学びやすいと思うしいいと思うよ たのしい本とかしっかりした書籍もあるしね 趣味でやるならRubyは書くの楽しいしお勧めできる 手に職付けるつもりなら全くオススメしないけど
「プロを目指す人のためのRuby入門」の著者・伊藤淳一は、YouTube の動画がよい。 無料のRails チュートリアルをやった人は、彼の動画を見るのもよい Junichi Ito Rails 5.1で作るVue.jsアプリケーション 〜Herokuデプロイからシステムテストまで〜 VIDEO プロになる人は「Effective Ruby」は読んでおけ。 どの言語でも「Effective 何々」というのは、プロの必須本 Rubyはそのコード効率の良さからちゃちゃっと書けるのがメリット 試作や使用頻度の低いツールの作成に重宝する
試作(笑) そういやsassも最初はrubyで作られていたが、 遅いって言うんで、C言語で再実装されて 今じゃそっちが主流になったな
遅くなりましたが、返信頂きありがとうございます!3ステップ本でも苦戦しているので、これをいったん終わらせてから[プロを目指す]をやろうと思います >>861 >>864 >>874 動画があるのは知りませんでした! [efective]も読もうと思います!ありがとうございます! やってみたでいいと思うよ そこから学んだことを基礎にして別の言語に行くもよし、そのまま使い続けるもよし
>>874 この動画みたけど酷いな… そもそもvueのソースは全部コピペでなんの説明もない 設定ファイルで何をしているのかゴニョゴニョ言ってるだけですぐ画面移動するしまったくわからん 単に作業やってますよ的なだけだな 初心者には意味不明の動画だよ コーダーになりたいのかプログラマになりたいのかによって変わるんじゃね コーダーならRoR案件をやる以外でRubyを覚えるメリットはあまりないだろう プログラマだったら複数の言語を操れるのが普通 ソフトウェアエンジニアだったら適材適所で言語を選択できないと
>>885 Vue.js や、Rails チュートリアルをやった人からすれば、 Rails 5.1で、Vue.jsが動くことが確認できたから、画期的! たった1人でも、実行できた実績があると、皆が後に続くから、価値がある 新しいものをいじくりまわして動かしてしまう、先駆者! ◆QZaw55cn4c はまだ荒らし続けてるのか ほんま懲りないなコイツ
レンタル鯖だと軒並みRubyで組む事になる いまどき自前で鯖用意して高いコスト払う人っているのか?
phpならともかくrubyならなんのかんのでvpsにせざるを得ないだろ。 構築めんどくせぇ…
>>890 アホかこいつ Vue.jsはブラウザ側で独立して動作するライブラリであり、バックエンドのAPIとAjaxで通信する Vue使うならRailsはそのAPIを提供するだけであり、VueとRailsは直接的には何の関係もない 触れちゃいけない人なのは承知してるがさすがに目に余る >>893 嘘ついてもすぐバレるんだからアンチスレから出てくるなよ chef, vagrant は、Ruby で書かれている。 誰かが作った、レシピを探せば? DevOps と、コミュニティを利用するのは、まさにRubyにもってこいだろ
>>897 そういうシステム的なところに、バージョン互換がクソのRubyを使うなよ、と思うんだが。 割り切ってPerlで実装するべき。 Rubyはシステムに入ってるバージョンには何も期待できないからなあ アプリとセットでバージョンをコントロールできない環境なら絶対に使わないことにしてる
>>898 Perlもバージョン互換クソだぞ。言語自体はまだマシだが、 多くの標準とされるモジュールが結局ただのcpanライブラリだったりする Perlとは別に、標準モジュールがメンテされている。 >>899 > アプリとセットでバージョンをコントロールできない環境なら絶対に使わないことにしてる だからDockerがでてきたんだよね。アプリとセットでバージョンをコントロールするための仕組み Rubyだけに限らない。どんなものでもセットでコントロールできちゃう なんかアンチの意見が多いように見えるんですが、Rubyって実際勉強する価値のある言語なんですか?
>>902 言語のスキルそのものに価値を求めるなら目下猛スピードで下降中のRubyはお勧めできない 上の人も書いてるけどサブ言語として書捨てスクリプトに使う分には悪くはない 言語に価値を求めるのではなく、価値は自分で生み出すんだよ >>901 どんなものでもいいと言われてRubyを選ぶバカはいないだろうさすがにw >>902 あるよ Rubyはラクに短く書けるからね 日用使いにもってこいだし Rubyやった後で他の言語を使ったときに感じるもどかしさも成長の現われ >>902 利用価値とか将来性とか、そんなしみったれた理由じゃなくて、 「好きか、嫌いか」で選ぶ言語な気がする 自分は文字列処理とかの浅瀬でしか使ってないけど、 なんか書いててノリがいいんだ >>902 わざわざRubyスレを覗いてまでアンチな意見を出したがる人間がいるということは それだけ広まってるってことの裏返しだよ やっぱレンタル鯖についてるRubyで組むのが一番楽だし安い googleとかfacebookみたいなでかいサービス以外はこれで十分やろ
>>907 文字列処理ってRubyは結構得意だと思うな。ループが書きやすいのもある PythonやJavaScriptでやっているとストレスがたまるたまるw >>900 もちろん互換性優先なら標準モジュール縛り。 野良モジュールはいいかげんなのも多いからな。 >>912 いや、だからPerlの標準モジュールは 単に野良モジュールをバンドルしただけなんだよ bashから呼び出したりシェル代わりに使ったりするならrbenvが便利だな
そろそろ夏休み終了の季節か 時間つぶし用のRuby本をどこかの出版社で出してくれ
31日は今日までだが、明日明後日は土日なんだぜ・・・
みんなエディタは何使ってるか教えて 私はatom使ってる テーマが沢山あって楽しい
Atomなんかまだ使ってる人いたんだ MSのVSCodeに完敗して誰も使わなくなり、さらに開発元のGitHubがMSに買収されて完全に終わったエディタだぞ
atomもvscodeもどちらも同じマイクロソフト社の 製品なんだから喧嘩するな
VS codeはターミナルの日本語が重なって表示される不具合を治す方法がわからなくてアンインストールしました…… vimとかサクラエディタとか、他にもエディタいっぱいあるけど、VS code派が多いのかな?
Ruby以外では今はVSCodeが一世を風靡してる状況 - 大魔王マイクロソフトによって開発されたエディタである。 - VSCodeはTypeScriptという悪魔の言語によって書かれている。 - TypeScriptはこれまた大魔王マイクロソフトが人々を誘惑し静的型に引き摺り込むために開発された言語である。 - TypeScriptはRubyist達に愛されRailsのフロント用公式言語にも採用された聖CoffeeScriptを抹殺した。 こういう宗教的事情があるのでRubyistだけはVSCodeを忌み嫌っている。
Rubyアンチが必死に特定のスレをあげてて吹く ほんと何考えてんだ?
荒らしがまた涌き出したのかと思ったら ◆QZaw55cn4c が帰ってきてたのか いい加減に板を荒らすのやめろよ
Rubyは基本emacsだな Windowsしか使えない時はxyzzy使ってる
>>932 emacs使いならWindowsでも使え。 Windows のRubyist は、VSCode を使う >>924 上下矢印を動かすと消える それか一旦、端末を閉じてから、開き直すとか emacs→教祖様も愛用する大正義エディタだが習得コストや環境整備が極めて高い Atom→今や情弱の代名詞 VSCode→宗教上の問題で使用不可 RubyMine→高い Rubyistにとっては受難の時代だね
あとRubyMine使っちゃうと「ゲロ重いIDEなんかに依存せず軽快にRubyを操る俺かっけえwwドヤァww」ができなくなるという大きな問題があるね
あとはSublimeもあるな VSCodeにあらゆる面で負けてるものに金を払うという理不尽さを受け容れられるなら悪くない選択肢だね
Vimは最悪でしょ 教祖様に中指立てるようなもんだぞ
lisp コンパイラが存在するように ruby コンパイラがあってもいいと思うの…
cloud9でいいじゃん もはや開発デバイスでwindowsもmacもlinuxも関係ない いちいちローカルに仮想サーバーなんか作らなくていいし IDEとしては普通だけど十分
VSCodeって以前試してみたことあるけど動作が重すぎて論外
実際はAtomやRubyMineより遥かに軽いんだよなあ Ruby製のエディタだと言って>>946 に触らせたらクソ軽い最高のエディタだと言いそう ATOMって人気無いのか……色んなテーマがあるのが面白くて、気分で変えたりするのが楽しい ATOM以上にテーマのカスタマイズできるエディタないよな?
>>948 VSCode Atom用のテーマ作ってた人もみんなVSCodeに乗り換えてしまって、VSCodeに移植されてるよ まあRubyistには無縁なんだけどね >>951 VS codeでもテーマ変えられるんだ!知らなかった。ありがとう Atomは重いし下火ならVS codeに乗り換えようかな…… でも、Rubyistには無縁とか、宗教上の問題で使えないってどういうこと? キチガイ独自の宗教事情だから気にするな VS CodeにRuby Solargraph入れるとめっちゃ捗るぞ
暗めのテーマ、Dracula とかか? Bracket Pair Colorizer vscode-icons, VSCode Great Icons indent-rainbow この辺の拡張機能を使えば、カラフル
Bracket Pair Colorizer カッコの色が、それぞれ違う。 これが無いと、カッコの対応関係がわからないから、プログラミングできない!
未だにK2Editorを使っている。いい加減乗り換えたいが動作が重いか機能不足かの二択でいかんともしがたい
メソッドやクラスの定義に飛べたり、クラス名や変数名変えたらプロジェクト内の全てに更新かけてくれるIDEない?
>>950 キーバインドを emacs 式に(できれば簡単に)できるかどうか それ以外はどうでもいい… >>943 ATOMもvscodeも大部分nodejsだったはず pythonのidleはpython+tkだったか? もう今やEmacsの方がVS Codeより軽いぐらいだからな VS CodeもAtomよりはよっぽどマシだけど、それでももっさり感は否めない となるとEmacsか、せいぜいSublime Textって選択肢になってしまう
>>953 solargraph入れたらgemが必要と言われ、gemインスールしてからgem install soragraphしたらエラーが出て解決策が分からない プログラミング難しいっすね……(二ヶ月目初心者) >>961 ゴリゴリに拡張しまくったemacsやvimなら体感的にはVSCodeの方が速いわ >>962 コーディングより環境構築がややこしいのはプログラミングあるあるだから… Windowsでruby installer使ってるならreadmeの最後にも書いてあるけど↓を試してみ > gem uninstall eventmachine > gem install eventmachine --platform ruby -- --use-system-libraries Rubyのgemに限らず最近の言語はパッケージ的な仕組みを持っているけど、処理内容が隠されてしまうから 意図した結果が得られないときのトラブルシュートが難航するんだよな しかもパッケージがらみの情報は言語本体の情報より少ない上に初心者だとエラーの見方もわからなかったりしてより厳しい状況になる これ、最近乱立気味のビルドシステムでも同じことが言えていて、標準的な手順から外れたとたん ビルドシステムを勉強しエキスパートにならないとにっちもさっちもいかなかったりするし
トラブったらissue上げるだけだろ コミュ障かよ
Win環境でのissueなんか上げても誰も相手にしないぞ UnixではテストしたWinは知らんでクローズ
>>968 それでクローズされた具体的なチケットプリーズ Rubyが書けるようになるとCやJava,Pythonに対してどんなメリットがあるの? 楽しい以外で
たのしいがRubyの存在意義なのに それを無視されましても・・・
漏れなんか、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 も動かない
>>971 そのへんよりはRubyのほうが書きやすいことは間違いない。 楽しいかどうかは外しても、楽ではある。 >>965 だめでした…… ・eventmachineはインスールされていませんでした ・ご指摘のコマンドを入力しましたが、"failed to build gem native extention."のエラーが出ました しかし、Rubyを再インストールするなど紆余曲折の末、gem install solargraphを試したら、無事インストールすることができました!ありがとうございました! これでVS codeが使えます! >>954 このへんの拡張機能も入れました!見やすくなってすごくいいです! ATOM派だったけど心が揺らいできました!VS codeもいいですね! >>971 CやJava,Pythonを書けるようになってから Rubyのことをチラッとでも勉強してみると、 >>974 もいっているように、 「このへんの処理やるならRubyのほうがラクに書けるな」 って部分がわかるかと。 いきなりRubyだけ学んでも、ありがたみがわかりにくいと思う。 VSCode の拡張機能なら、以下も必需品。 VSCodeのスレも参照 Code Runner 右クリックメニューから、実行できる Live Server ファイルを保存するだけで、ブラウザへ反映される
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]] 単純な結合になってしまいます。
行列ってライブリ使うんじゃなかった? Rubyで回転行列とかやってたときに標準添付のライブラリ使ったような覚えがある というか、bcモードなんてあるのか
>>971 楽しい以外は特に無いが。なにか問題が? その言語じゃないとできない。みたいなことは殆どないよ。 大抵の言語でできることは他の言語でもできてしまう。
>>979 bcモードはload mathn, fraction or matrix are availableってことだから Matrix[[1,2]] + Matrix[[3,4]]ってしないとダメ bcモードじゃないときはrequire 'matrix'する必要がある 漏れは、Selenium WebDriver, Nokogiri で、 自分のPC の画像フォルダにある、様々なサイズの画像を、 すべての画像の高さを、画面の80% に揃えてから、ブラウザで見てる
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 を実行
2.5環境でruby/dbiがエラーはいて動かないのでsequelを勉強してます。 sql serverにネットワーク越しにrubyodbcでodbc接続してますが なぜかdecimal型が全部string型で帰ってくるし既存のテーブルだと intで戻ってくるはずのまでそんなものだから延々調査してたんですけど元凶はrubyodbcでした。 odbcで帰ってくる値をrubyの型に変換するときに特定の型以外全部stringで返す仕様でした。 昨日tinytds接続にしたらdecimalはbigdecimalで帰ってきました。
>>990 img_str = %(<img src="#{pict_path}">) でよくない? それにgsub使うよりdelete("\n")の方が分かりやすい あと文字リテラルに"と'が無差別に混ざっているのが気持ち悪い 改行を削除しないと、タグの間に、改行ノードを作るかも知れないので、ややこしい HTML の属性は、" で囲むから、それを文字列にするには、' の方がよい "〜"属性"〜" "属性" を含む文字列を、" で囲んで、" の対応関係が崩れて、ハマったから '〜"属性"〜' これなら、OK
いやだからさ index_url = "file:///" + File.join(__dir__, 'index.html') こことかおかしいじゃん
>>994 他スレで醜態晒してROMってる言うたのにまだいるのな lud20230206220847ca
このスレへの固定リンク: http://5chb.net/r/tech/1523954817/ ヒント: 5chスレのurlに
http ://xxxx.5ch
b .net/xxxx のように
b を入れるだけでここでスレ保存、閲覧できます。
TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像 ↓「Ruby 初心者スレッド Part 63 YouTube動画>2本 ->画像>7枚 」 を見た人も見ています:・Ruby 初心者スレッド Part 60 ・Ruby 初心者スレッド Part 65 ・Ruby 初心者スレッド Part 64 ・Ruby 初心者スレッド Part 62 ・Ruby 初心者スレッド Part 66 ・Ruby 初心者スレッド Part 59 ・Blender 初心者質問スレッド Part35 ・Blender 初心者質問スレッド Part34 ・Blender 初心者質問スレッド Part30 ・Blender 初心者質問スレッド Part32(ワッチョイ有) ・Blender 初心者質問スレッド Part30 ・Blender 初心者質問スレッド Part41 ・Blender 初心者質問スレッド Part47 ・Blender 初心者質問スレッド Part39 ・Blender 初心者質問スレッド Part32(ワッチョイ有) ・Cakewalk by BandLab 初心者質問スレ Part 18 ・【LoL】League of Legends 初心者スレ Part210 ©2ch.net ・【ドラガリ】ドラガリアロスト 初心者スレ part 1 【リセマラ相談】 ・【ドラガリ】ドラガリアロスト 初心者スレ part 5 【リセマラ相談】 ・【ドラガリ】ドラガリアロスト 初心者スレ part 2 【リセマラ相談】 ・【DFFAC】DISSIDIA FINAL FANTASY(ARCADE)/NT 初心者スレ part6【まったり】 ・【DFFAC】DISSIDIA FINAL FANTASY(ARCADE)/NT 初心者スレ part3【まったり】 ・Youtube収益化 初心者スレ Part10 ・Cubaseシリーズ 初心者質問スレ Part23 ・Kawasaki Ninja250 初心者スレ Part.003 ・【投資一般板】 初心者質問スレッド Part33 ・パソコン初心者総合質問スレッド Part2063 ・【LoL】League of Legends 初心者スレ Part283 ・【LoL】League of Legends 初心者スレ Part343 ・【LoL】League of Legends 初心者スレ Part303 ・【LoL】League of Legends 初心者スレ Part293 ・GTA総合 初心者質問スレッドPart30 ・Cubaseシリーズ 初心者質問スレ Part24 ・セキュリティ初心者質問スレッド Part140 ・セキュリティ初心者質問スレッド Part138 ・【投資一般板】 初心者質問スレッド Part34 ・Kawasaki Ninja250 初心者スレ Part.002 ・カルドセプト3DS 初心者&質問スレッドpart14 ・★☆時計板の初心者総合質問スレッド Part84★ ・パソコン初心者総合質問スレッド Part2059 ・パソコン初心者総合質問スレッド Part2054 ・Cakewalk by BandLab 初心者質問スレ Part 21 ・★☆時計板の初心者総合質問スレッド Part81★ ・ストリートファイターV 初心者スレ part24 ・ストリートファイターV 初心者スレ part27 ・★☆時計板の初心者総合質問スレッド Part85★ ・【TF2】Team Fortress 2 初心者スレ Part100 ・【LoL】League of Legends 初心者スレ Part285 ・【LoL】League of Legends 初心者スレ Part312 ・【LoL】League of Legends 初心者スレ Part319 ・【LoL】League of Legends 初心者スレ Part298 ・【LoL】League of Legends 初心者スレ Part344 ・【LoL】League of Legends 初心者スレ Part332 ・【LoL】League of Legends 初心者スレ Part230 ・【LoL】League of Legends 初心者スレ Part257 ・【LoL】League of Legends 初心者スレ Part242 ・【LoL】League of Legends 初心者スレ Part307 ・【LoL】League of Legends 初心者スレ Part320 ・【LoL】League of Legends 初心者スレ Part337 ・【LoL】League of Legends 初心者スレ Part294 ・【LoL】League of Legends 初心者スレ Part322 ・【LoL】League of Legends 初心者スレ Part265 ・【LoL】League of Legends 初心者スレ Part289
20:25:03 up 5 days, 5:33, 0 users, load average: 7.65, 7.71, 8.04
in 3.9240231513977 sec
@3.9240231513977@0b7 on 112510