◎正当な理由による書き込みの削除について: 生島英之 とみられる方へ:Ruby 初心者スレッド Part 66 YouTube動画>16本 ->画像>3枚  
動画、画像抽出    || 
この掲示板へ   
類似スレ   
掲示板一覧  人気スレ  動画人気順 
 このスレへの固定リンク: http://5chb.net/r/tech/1578068134/ ヒント: http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。
 プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ  
   質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。  
 Ruby on Rails については、WEBプログラミング板で    
 前スレ  
 Ruby 初心者スレッド Part 65  
http://2chb.net/r/tech/1545421414/     るりまサーチ (リファレンス検索)   
http://rurema.clear-code.com/      Rubyist Magazine - るびま   
http://jp.rubyist.net/magazine/      逆引きRuby   
http://www.namaraii.com/rubytips/      Ruby コミュニティ公式   
https://www.ruby-lang.org/  VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured 
 Rubyの絵本、2008  
 開発環境  
   RDE  
 Windows用IDE   
https://ja.osdn.net/projects/sfnet_rubyde/    以下、RDEの使用説明   
http://rubyde.sourceforge.net/hiki/ja/FrontPage.html      RDEのデバッグ機能を使う場合、設定においてデバッグオプションを「-r debug2」から「-r debug」と書き換えて、  
 ruby付属のdebug.rbを使うようにすること。  
 RDE付属のdebug2.rbは、ruby1.8用のスクリプトのため、現在のrubyのversionには使えません    
 サクラエディタ  
 Windows用高機能エディタ   
https://ja.osdn.net/projects/sfnet_sakura-editor/    以下、ruby用設定の説明   
http://supportdoc.net/support-sakura/ruby.html      Emacs  
 GNUの高機能エディタ    
 Vim  
 Emacsと同じぐらい有名なCUIベースのエディタ    
 VSCode  
 マルチOSに対応したマイクロソフト社製のソースコードエディタ   
https://code.visualstudio.com/download   乙です 
 今北だが 
 これか >>993  >>991 が誤りではないかと >>986  とそれにに対する反論である>>987  を改ざんして: >>987 を擁護する?   これはメッセージとメソッドの区別が付いていない 
 Ruby には関数スコープ内に、ブロックスコープがある 
 つまりRubyではメソッドそれ自体はオブジェクトではない 
 >>9   メソッド自体を、独立したオブジェクトのように扱えるか? 
 扱えないならそういうこと。   
 ただ、ちょっと工夫すれば、似たようなことはだいたい実現できるから、その区別にはそれほど意味がない。 
  「The Ruby Programming Language」David Flanagan and Yukihiro Matsumoto 
 JavaScript 第6版、2012、David Flanagan 
 同じ純粋オブジェクト指向言語のSmalltalkと比べてみた 
 C#も、メソッドをランタイムにビルドできるんやで! 
 いやここでのポイントはメソッドがオブジェクトなのかどうかであって 
 >>14   > その気になれば中身も弄れる 
 それが良いことだと思わないんだけどなw   
 そんなことやるか?やらない。できる必要あるか?ない 
 アセンブラであれば、中身だろうがなんでもできる 
 言語というのは成長するにつれてより制限されるもの 
 制限といえば聞こえは悪いが、ある機能に特化することで 
 ミスを防ぎ、コードを書いた人のより正確に表すことができる 
  、コードを書いた人の意図をより正確に表すことができる 
 Rubyは自分の足を撃とうと思えばそれが出来る(自由がある)のがLisp譲りの 
 > Rubyは自分の足を撃とうと思えばそれが出来る 
 Smalltalkの最後の例はメソッドオブジェクトがRubyのモドキと違って 
 >>20   おやおやそんなナイーブな考えじゃRailsみたいなのは永久に作れないよ? 
  Railsみたいなフレームワークはたくさんあるね 
 んRailsがなければRubyが今の地位はないし 
 初心者だから「メソッドはオブジェクトじゃない」という発言に対して見当はずれな頭の悪い反論をしてたんだな 
 >>25   Railsの実装はRubyの黒魔術が使われてる・・・事実 
 同等のものはRubyの黒魔術を使わなくても作れる・・・事実 
  >>29   他言語のRailsモドキはRailsと同等な機能もあるがすべてが等価ではない・・・事実 
 Railsの覇権はRailsモドキとの差異によってもたらされている・・・事実 
  どうやらガチで頭の残念な子みたいだねw 
 作れるかどうかの話はしてないよ。 
 現在使用してる教材でテストツールとしてminitest、test-unit、RSpecが紹介されてたんですが 
 >>34   Spec形式が好みならRSpec 
 xUnit形式が好みならminitest   
 よく分からないなら標準ライブラリに入ってるminitestから 
  ご回答ありがとうございます 
 で、最終的にはrspecになるんやろ? 
 BDD(behavior driven development) では、RSpec が標準! 
 RSpecのJS, Kotlin移植版ってどれのこと? 
 Windows で、Ruby 2.4 から、2.5へ変えたら、 
 irbで(整数).object_id と入力すると(整数)*2 - 1 が帰ってくるんですが、そういう仕様なんですか? 
 訂正 
 >>39   BDDというかテストコードを自然言語に似せようとする系は、Goの台頭に伴ってすっかり廃れちゃったね 
 自動テストの最大の意義は入出力のスナップショットとして予期せぬ挙動の変化を検出できることにあるので、 
 細かい仕様をテストコードで表現しようとするよりも単純に入出力を並べた方が手っ取り早いし効果も高いんだよな 
 一方BDDは、網羅性や変化検出性能が不十分でも最低限大半のコードを通ってれば無いよりは遥かにマシだ、 
 それだけでもスペルミスのような初歩的なバグの大半は潰せるだろう、という手抜き欲求が根底にある 
 ところが最近は静的型が主流になっちゃってスペルミスみたいなのは起きなくなったから、BDDのようなとりあえず通すだけのテスト手法にはあまり意味がなくなってしまった 
  これ? 
   Ginkgo is a BDD-style Go testing framework  
http://onsi.github.io/ginkgo/   1234567890123456789.object_id 
 >>44   書き方が違うだけでSpec形式でもxUnit形式でもテストする内容は同じだぞ 
 RSpecじゃなくCucumberみたいなのを使ってたテストはレイヤーが違う   
 んでもってGoの台頭とか関係ないし 
 JSで一番使われてるJEST、Mocha、Jasmineの3つともSpec形式が基本   
 それぞれメリット・デメリットあるからそれを理解して 
 言語の特性や文化も考慮してから選択すればいい 
  JavaにもRSpecみたいなのってあるんだっけ? 
 コンパイラがスペルチェックまでしてくれるからじゃないの 
 >>47   そうなんですか 
 まだRubyをどう使うか勉強中の身ですが、Rubyそのものの仕組みも面白そうですね 
  >>49   RSpecっぽいのはSpek 
 RSpecとはちょっと違うけどBDDを謳っててメジャーなのはSpock 
 あとCucumberはJavaにも対応してる 
  >>50   スペルチェックの話はテストと全く関係ないですよ 
 テスト以前の問題 
  >>53   スクリプト系言語では意味があるんだよなあ。 
  >>54   今はgoの話ですよ? 
 goはスペルチェックさえすればテスト不要だとでも? 
  >>51   こんなに多くの内部実装の解説本が出てる言語は、Ruby以外にない!   
 まつもとゆきひろ 言語のしくみ、2016   
 コマンドA | コマンドB 
 のような、パイプに似た表記で並列処理できる、新言語「Streem」のデザイン・実装   
 Rubyのしくみ、2014 
 外人が書いた本。 
 Cookpad の笹田耕一が作った、Rubyの実装系、Ruby1.9のRuby仮想マシンの説明   
 笹田耕一は今、RubyVM の仕組みを雑誌、WEB+DB PRESS で連載中   
 Rubyのなかを覗いてみよう!池澤あやかが「Cookpad Ruby Hack Challenge」に参加してみた  
https://next.rikunabi.com/journal/20180601_c11/     NHK Eテレでお馴染みの、Ruby の女神、池澤あやかによるリポート。 
 たしか、彼女は学生時代に、Rails 合宿に参加して学んだらしい 
  一般論として、内部実装を知らないと使えないのは作り手としては恥 
 真顔で「わたくしはC言語を極めました」と言える人物向け 
 n.object_id == (2 * n + 1) が成立しなくなる条件を調べて試行錯誤した結果 
 (2 ** 62 - 1).object_id == (2 ** 62 - 1) * 2 + 1 
 まあ、とくにきまってるわけでもないやろし、特定してもあんまり意味ないけどな。 
 頭の悪い奴がひたすらここを自分の日記帳替わりにしてんのくっそ邪魔 
 Ruby riを使おうとしても「Nothing known about 〜」と出て 
 repl内でdocumentationを参照できないときの対処法   
 How do I install the Ruby ri documentation?  
https://stackoverflow.com/questions/3178900/how-do-i-install-the-ruby-ri-documentation   東洋経済という株の雑誌の今週号は、今年こそ始めるプログラミング 
 Goは言語自体の難易度はRubyより低い 
 元々、サーバー側は、Ruby の1強だった! 
 小資本で起業して、新しいコンセプトの自社サービスを開始するのに、適した言語がRuby。 
 スタートアップ企業だから、サイトの速度は遅くてもよい   
 あくまで、ベンチャーは成功しないのが基本w 
 Rubyは実験用言語とも言える   
 ところが、たまに化物みたいなサイトを生み出すのも、Ruby   
 Rails で作った、このサイトの速度は尋常じゃない! 
 他の言語では、絶対に作れないw  
https://dev.to/     Ruby on Rails Part21  
http://2chb.net/r/php/1545146635/103   これのことか? 
 https://dev.to/ben/making-devto-insanely-fast   フロントエンドの設計が優秀なのと静的コンテンツにFastly使ってるから速いって 
 だけで、ほとんどRails関係ないな 
 でも、DB は、Rails でしょ? 
 >>69   アホの東洋経済はわざと因果を逆転させてるアホ集団だから気にしない方がいい 
 もとから年収の高い集団が内製の新言語使いだしただけだろ   
 要するに、東洋経済の従業員自体の年収はそんなに高くねーモン 
 企業内にバカしか詰まって無いから自身が取材したノウハウの全てを使ってない 
 だから10億プレイヤーが東洋経済にいない   
 同じ理由で潰れたのがbig tomorrow 
  いやRails遅いでしょ?何と比べて速いって言ってるのさ? 
 >>75   5chを荒らすことしかしてないお前が言っても説得力ゼロだ 
  つうかそもそも、DBはRailsってどういう意味なんや?w 
 元乃木坂46 の川後陽菜のブログ 
 https://kawagopro.com/     上を、下のサイトで分析したら、これも、Rails だった!  
https://builtwith.com/     アイドルの会員サイトの専門の、SKIYAKI が作っているけど、どおりで速いはず! 
 >>81   そいつ(
>>80 )はいつもの荒しだから、道理がわからないのも納得だなw 
  いよいよRubyにも型チェックの機能が取り入れられる https://logmi.jp/tech/articles/321280    実践TypeScript - BFFとNext.js&Nuxt.jsの型定義、吉井 健文、2019/6/26 
 最近、誰でも高額が稼げるような言い方でRuby教材を売ってる人らが目立つな 
 本当に稼げるんならいいけど、100万円取られて終わりじゃないの 
 スコップを売って100万稼ぐんだろ 
 "abc".size などの . は前後に空白があってもOKだった(最近の発見) 
 Windows 10, VSCode では、 
 Rubyは、IDEと相性が悪いからな。 
 しゃあないわけあるかw 
 VSCode が中心になってから、開発者全員がVSCode を使うようになって、 
 Julia, Python, Ruby に対応してくれれば、 
 メソッドチェーン中の#によるコメントは2.7.0からの新機能 
 VSCodeの開発言語がVSCodeにとっては最重要言語でしょ 
 MSはVSCodeをTypeScriptで書くことによって動的型に止めを刺したよね 
 テキスト編集能力よりも、アプリケーション開発能力を優先すると、IDEが勝つ。 
 require 'webrick' 
 >>106   タイプミスを修正します!   
 >abc.jpq 
 abc.jpg 
  304が返される状態にもかかわらず 
 Windows 10 のローカルPC は、アクセス権限が厳しいから、 
 Web開発でRubyが下火になってきてるらしいけど、一体何に移ってるの? 
 途中書き込み失礼 
 VSCode の拡張機能、Live Server で見たら、画像も見れる! 
 キャッシュコントロールヘッダじゃないの? 
 ブラウザのF12 開発者ツールで指定できる! 
 プライベートブラウジング使え 
 HTTPリクエストを確認すればわかること 
 Windows 10 のローカルPC 上の、WEBrick のServer/Servlet で、 
 rubyXLでエクセルいじってるが 
 ruby.hに#define memcpy(p1,p2,n) ruby_nonempty_memcpy(p1, p2, n)ってあるけど、 
 Rubyってイベントハンドラを複数登録するタイプのクラスってどう書くのが一般的な流儀ですか? 
 >>125    特に理由がなければブロック渡しが一般的 
 簡単なEvent Emitterを自作するかライブラリ使うか   
 finder.on(:dir_enter) {|folder| puts "entered: #{folder}" }   
 ライブラリでメジャーなのはwisperかActiveSupport::Notifications  
https://github.com/krisleech/wisper   Windows で、Ruby 2.5 にバージョンアップしたら、 
 >>129   訂正   
 >ADODBは、Microsoft 製のドライバーなのか。 
 >わざわざ、SQLite3用のドライバーも作ったのか?   
 SQLite3 などのODBC ドライバーは、Microsoft 製じゃない。 
 誰かが作ったものです 
  RubyのOcraについて質問です。 
 >>131   ない 
 何故ならevalするだけの簡単なコードですらexe化できるから 
  下記のコードでifの位置ってここでいいの。rubyの本の記述なんだけど。  
 >>135   そうなの? 
 理由も聞きたい 
 そういう仕様?って事? 
  しかし、何がしたいのかはわからんコード。 
 そりゃ、ユーザーからの入力値チェックは、必要 
 >>136   英語勉強しろよ   
 I don't know if it will rain tomorrow. 
 (明日雨が降るかどうかわからない) 
  後起きifはRubyの文法的にはかなり無理があって、その実現のためだけにRubyが「全てが式」ではなくなっているという極めて特殊な構文 
 Matz的によほどの拘りがあるんだろうけど、違和感を感じる
>>134 のセンスはとても正しい 
 >>141   Rubyのあちこちで見受けられるPerlの悪い所をわざわざパクったアホな例の一つだな 
  >>141   >その実現のためだけにRubyが「全てが式」ではなくなっているという極めて特殊な構文   
 「全てが式」ってのはstatementとexpressionに明確な区別のある言語との対比で 
 Rubyの特徴をわかりやすく説明するために使われてるだけ   
 式の一部どれをとっても全てが式になってるまともな言語があるわけない 
 Rubyには後置以外の修飾子だってあるしstatementもある 
 中途半端な知識で勘違いしてドヤるのはやめよう 
  perl に比べて ruby の優っているところは? 
 if/unless, while/until, rescue 
 >>147   Perlにはオブジェクト指向ようの構文が後付で原始的なものしか搭載されてない。 
 アセンブラを駆使すれば何でもできるように、原始的な機能でも頑張れば 
 高度なオブジェクト指向機能を作ることは可能だが、 
 そのせいでいくつもの実装が生まれライブラリごとに使ってる 
 仕組みが異なり統一ができずに破綻してしまった。 
 Rubyは最初からオブジェクト指向 
  >>146   >式の一部どれをとっても全てが式になってるまともな言語があるわけない   
 LISP, Haskell, ML, …etc   
 >中途半端な知識で勘違いしてドヤるのはやめよう   
 この記事の原著者も「中途半端な知識で勘違いしてドヤ」ってるのかなぁ 
 ・Rubyによる関数型プログラミング   
http://xtmlab.com/misc/FPwithRuby.html     なお、手続き型言語の大半が文と式を明確に分けている中で、 
 Ruby の「すべてが式」という思想はユニークであるが、 
 次世代言語 Rust でも同様な思想が採用された 
 以下は書籍「プログラミングRust」からの引用 
 > Rustはいわゆる式言語(expression language)の一つだ。 
 > つまり、Lispにまで遡る古い伝統に従い、すべてを式で行う。   
 中途半端な知識で勘違いしてドヤると恥をかくだけだよ 
  >>150   >LISP, Haskell, ML, …etc   
 おまえアホやろ 
 Lispの閉じ括弧は式なのか? シングルクウォートは式なのか?Haskellのコロンは式なのか?  
 if修飾子が式じゃない極めて特殊()な構文って主張はそれと同じレベルなんだけど   
 >この記事の原著者も「中途半端な知識で勘違いしてドヤ」ってるのかなぁ 
 「あらゆるすべてが式である」のすべてに何が含まれて何が含まれないのか理解してるかどうかだよ 
 原著者が理解してるかどうかは知らないけどお前は間違いなく理解してない   
 ついでに言っておくとRubyの「全ては式」が広まったのはDavid Flanaganが「The Ruby Programming Language」で他言語出身者にわかりやすく理解させるためにそれっぽいことを書いたのが理由 
  >>151   文節「すべてが式」に対する君の認識が、世間の一般常識から乖離していることを理解した 
  >>152   keywordやsymbolそれ自体が式なわけないだろ? 
 それと同じことを主張してたの理解できたのかな?   
 制御構造のif式だって`if 式; end`全体で式として評価されるわけで 
 ifだけやendだけが式になるわけじゃない   
 if修飾子は`式 if 式`全体で式として評価されるわけで 
 後置の`if 式`だけで式になるわけじゃない   
 でその一部を取り出して 
 「その実現のためだけにRubyが「全てが式」ではなくなっているという極めて特殊な構文」 
 って言っちゃうのがどれだけ的外れかって話な 
  電卓の構文解析器を作ったことがあれば、だいぶご意見が変わるはず。 
 >>153   もう黙ったほうがええで。 
 アホが漏れとる。 
  >>153   >でその一部を取り出して 
 >「その実現のためだけにRubyが「全てが式」ではなくなっているという極めて特殊な構文」 
 >って言っちゃうのがどれだけ的外れかって話な   
 自分は
>>141 ではないが、いったいぜんたい何を話したいのか訳がわからんよ 
  「Rubyでは全てが式だ」というとき、ステートメント(文)と式の区別がないことを意味するのが普通だ 
 def foo(arg) 
 p send(def foo(a); a + 1;end, 99) # => 100 
 p def foo(a)  
 foo = -> (arg) { 
 ( ) で囲んで式にすれば、 
 msys2 無しのWindows 10, Ruby 2.5 で、 
 >>166   >( ) で囲んで式にすれば、   
 括弧なくても定義したlambdaが返される 
 .()でそのlambdaのcallメソッドを呼び出してるだけ 
 -> (arg) { arg + 1 }.(99) でも 
 -> (arg) { arg + 1 }[99]  でも 
 -> (arg) { arg + 1 }.call 99 でも同じ   
 ちなみにJSのvar foo = (x)=> x+1 みたいなのは関数に名前はついてないので無名関数だぞ 
 rubyで foo = -> (arg) { arg + 1 } と書いても 
 無名のlambdaをfooという変数に入れてるだけで 
 lambda自身に名前がつくわけではない 
  >>167   ENV['PATH'].split(";")が失敗するってmsys2関係なくなかなかレアな環境だと思うが 
 環境変数をクリアしたりしてるのかい? 
  msys2 を入れずに、Ruby を使っているから、 
 漏れは、Windows 10,Ruby 2.5 で、 
 Run ‘ridk install’ to install MSYS2 and development toolchain. も、チェックしていないし、 
 MSYS2 の開発ツールと、MINGW のコンパイラもインストールしていないから   
 Rubyの環境構築(Windows10編)  
https://www.kenschool.jp/blog/?p=3898     エラーログ   
 C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:63:in `iterate_msys_paths': undefined method `split' for nil:NilClass (NoMethodError)\r\n\t   
 from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:76:in `msys_path'\r\n\t   
 from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:89:in `mingw_bin_path'\r\n\t   
 from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:99:in `enable_dll_search_paths'\r\n\t   
 from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/singleton.rb:27:in `enable_dll_search_paths'\r\n\t   
 from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems/defaults/operating_system.rb:3:in `<top (required)>'\r\n\t   
 from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems.rb:1383:in `require'\r\n\t   
 from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems.rb:1383:in `<top (required)>'\r\n\t   
 from <internal:gem_prelude>:2:in `require'\r\n\t   
 from <internal:gem_prelude>:2:in `<internal:gem_prelude>'\r\n 
 あー、WebrickのCGIHandlerはCGIPathEnvの関係でENV["PATH"]がnilになりうるのか 
 ありがとう。 
 新しくて安い本が出たので、頭の体操にRubyの勉強を始めたところなんだけどさあ 
 普通にプログラミングできる人にとっては言語の違いなんて些細なもので 
 そういうことか 
 日本語の勉強がしたいと言ったら 
 たぶん、すでに多言語を知ってる人だろう 
 またカタワを量産するつもりか 
 「aabc → bc」みたいに、先頭から特定の文字が連続するとき、それを除去するには、どう書く? 
 >>182     puts str[/\Aa*\K.*/] # => bc 
  >>182     puts str[str.size.times.find{|i| str[i] != ?a}..] # => bc 
  >>182   def remove_consecutive(string) 
 string.sub(/^(.)¥1{1,}(.*)$/) {|_| remove_consecutive($2)} 
 end   
 remove_consecutive("aaaabbbbbbccab") #=> “ab” 
 remove_consecutive("1112234") #=> "34" 
  本当に文字列から連続部分を除去したいのか、 
 元々は「0082 → 82」みたいな文字列の先頭から続く、0 を除去したかった。 
 文字列の先頭から続く、特定の文字を除去する 
 >>188   >元々は「0082 → 82」みたいな文字列の先頭から続く、0 を除去したかった。 
 “0082”.to_i.to_sでよくね? 
 なんかこのパターン数ヶ月前にも見たような気がするな    
>>189   def remove_leading_chars(string, char) 
 string.each_char.drop_while{|c| c == char}.join 
 end   
 remove_leading_chars(“0000123", “0”) #=> "123" 
 remove_leading_chars(“abc", “a”) #=> "bc" 
 remove_leading_chars(“aaXaa", “a”) #=> "Xaa" 
  >“0082”.to_i.to_sでよくね?  
 だからオートマトンで作れって言ってんじゃん 
  オートマトンってなんで羊なんだろう? 
 >>189   def ltrim(s, c) 
 s[/^#{c}*/]  = "" 
 s 
 end 
 p   ltrim("aaaabcaabc", 'a')   
 "bcaabc" 
  Ruby on Rails 6 実践ガイド、黒田努、2019/12/20 
 掌田津耶乃って何者? (Late 2012) 
 http://2chb.net/r/mac/1349360916/     巨匠か? 
 Mac凋落と共に仕事を失った人間、とか書かれてんぞ 
 多言語の3強が、掌田津耶乃・山田祥寛(WINGSプロジェクト)・柴田望洋。 
 Rubyはもう本で勉強するのは古い 
 山田祥寛は10年近く前C#でよくお世話になった 
 なでしこの作者・クジラ飛行机は、 
 >>204   新独習c# は旧独習ハーバートシルトと比べてどうでしょうか? 
 新独習Java は、旧独習が史上稀に見る惨憺たる出来だったことから、新独習はよくなるしかないと予測しています 
 あと、旧独習を高く評価している私としても新独習C++ については興味がありますね 
  さすがに日本人で、シルトと比べられる著者は、いないだろ 
 しつもんです 
 > haskellだったら 
 > p (1..9).map {|x| (1..8).map {|y| (1..7).map {|z| [x,y,z]}}}.flatten(2).select {|a| a.sum == 24} 
 あごめんsumじゃなかったわw 
 rubyでtwitterとかyoutubeどうやって作るの? 
 httpとブラウザの仕様の話なのでrubyは関係ない 
 >>213   JavaScriptでサーバー側のAPIを叩き、サーバーがそれに対して結果を返し、JavaScriptでその結果を画面に反映させる 
 基本はこれだけ 
 Rails任せじゃなくてちゃんとWebの仕組みを理解してAPIを実装しなきゃいけないし、JavaScriptもゴリゴリ書かなきゃいけない 
 SQSなどのAWSやGCPのマネージドサービスや、Kafkaのようなデータ基盤系のOSSなど高度なバックエンド技術の活用も必要だ 
 Railsのチュートリアルに毛が生えたような典型的なWebとは次元が違う 
  クライアントがブラウザとは限らないが 
 プログラミングスクールでRails勉強しました系だとプル型のアプリの作り方しか知らないだろうから、クライアントへの通知の実装方法以前に、 
 Ruby による今世紀最大の起業家、Vagrant のMitchell Hashimoto(HashiCorp)も、 
 >>217   >>219   おまえもウェーイ系なのに無理してレスすんな 
  >>204   >柴田望洋はC言語系で何冊か読んだが 
 >内容がすごく簡潔で短い時間でまとめ的な知識を頭に入れたり 
 >特定のトピックを復習したいときには有用   
 いかにも教科書って感じの本書くよね 
 オレもオススメできる著者だと思うぞ! 
  すっかりPythonの本に置きかわったよな! 
 ・P系言語には絶対にPを付けるべきであった 
 なぜ差が付いたか RubyとPython 
 cobol には end があるが、しぶとく生き残っている 
 慢心と言うより 
 Rubyは日本の言語ではなくて 
 補助金で食える人数も限られてるから、余計に閉鎖的になってく 
 補助金で喰える上級Ruby国民は安泰だけど 
 Rubyの高額教材屋も増えまくってたり、こんなの国が金を出して支援するもんじゃないよもう 
 perlの保守性の低さについて何も学ばなかったから。 
 リファレンスマニュアルの正規表現の一覧に 
 AI環境の差は大きいっすねー 
 機械学習や統計処理のために 
 ABテストやってないのになんでRubyからの方がいいって分かるの 
 明確な目的のない奴にRails専用スクリプト(別名Ruby)を勧めるのはさすがにどうかと 
 別にrailsなんかなくたってperlよりモダンな汎用スクリプト言語ではあるやろ 
 >>244   Windowsでまともに使い物にならないのは汎用スクリプトとしては致命的 
 ぶっちゃけPythonがビッグデータやAIで持て囃されてるのもWindowsと相性いいからだよ 
 ビッグデータやAIはエンタープライズで金になるテーマだからWindowsと相性悪いのは論外 
  つまり、わざわざRubyスレまで乱入してしまうほど、 
 >>242   C#, JS, Python, Ruby他で初心者教えた経験から来る個人の感想 
 逆になんでABテストやらないと分からないと思うの? 
  そりゃ教師そのものがRubyが得意でRuby贔屓ならRubyを教えるのが上手いんでしょ 
 ぶっちゃけ、Rubyに慣れると、Pythonでコレクションを使うことが苦痛になるんだよな 
     「コレクションが最高にイケてる言語を作ろう(dat落ち)」から引用  
http://mevius.2ch.net/test/read.cgi/tech/1491491123/43-45     > 43  1 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 18:00:36.59 ID:oGFFYBoD  
 > コレクション使ってて使いづらいと思うことも最近は減ってきたよな 
 > 昔より言語が進歩してるんだろか 
 >  
 > 44 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 21:23:00.44 ID:Qc8J8Hpx  
 > 
>>43   > でもねぇ、世の中にはコレクション操作が使いづらい 
 > 退化した最悪な言語が存在する 
 >  
 > 
http://d.hatena.ne.jp/edvakf/20090405/1238885788   >  
 > 元々は手続き型として設計された簡潔な言語だったけど、 
 > オブジェクト指向やら関数型やらを行き当たりばったりに増築し続けたおかげで、 
 > コレクション操作に関する「一貫性」という設計哲学が破綻してしまった例だね 
 >  
 > 45 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 21:52:01.71 ID:Qc8J8Hpx  
 > [Ruby] 
 > a.sort().reverse().map{|x| x.to_s}.join('-') 
 >  
 > [JavaScript] 
 > a.sort().reverse().map(function(x) { return x.toString() }).join(“-“) 
 >  
 > [Python] 
 > '-'.join(map(lambda x: str(x), reversed(sorted(a)))) 
 >>250  のコレクション操作を例にすると、Rubyならメソッドチェーンが 
 左から右へ自然と流れるから、ヒストリー機能を利用して 
 対話的なプログラミングが楽々と実践できる   
 $ irb 
 irb(main):001:0> a = [1,4,3,2] 
 irb(main):002:0> a.sort 
 => [1, 2, 3, 4] 
 irb(main):003:0> a.sort.reverse 
 => [4, 3, 2, 1] 
 irb(main):004:0> a.sort.reverse.map(&:to_s) 
 => ["4", "3", "2", "1"] 
 irb(main):005:0> a.sort.reverse.map(&:to_s).join('-') 
 => "4-3-2-1" 
 irb(main):006:0>   
 Ruby利用者にとっては特別でもなんでもない当たり前の常識だけど、 
 Pythonの対話環境じゃ無理なのが、いやはやなんとも 
  元々、Ruby/Groovy は似てる。 
 JavaScript, Kotlin も、Ruby/Groovy に似せてきてる    
>>241   有名な雑食系エンジニア・KENTA も、YouTube で言ってるけど、 
 将来的に、機械学習・AI をやりたいからと言って、Python から始めるのは間違いです! 
 初心者は、Ruby でプログラミング自体を学ぶべき   
 Ruby on Rails を一通りやると、アプリ製作の全工程を学べる。 
 後はそれを他言語へ置き換えるだけ   
 それと、多くの学校が、Ruby を勧めるのは、就職率が高いから。 
 Python の場合は、web系の仕事が、1/10 しかない   
 機械学習・AI は、大学院・英検準一級などの高学歴が必要だから、 
 高卒などのプログラミング初心者を雇わない   
 高卒web系プログラマーは、Ruby。 
 高学歴総合職は、Python   
 この内、学校で教えられるのは、Ruby。 
 Pythonを教えても、就職できないから詐欺になってしまう 
 >>244   それな 
 RailsなくてもRuby単体でも十分快適   
 ただWindows環境とデスクトップでのGUIが 
 どっちもイマイチだからWeb専用言語 
 みたいな扱いになってるんだろうか? 
  >>250   Rubyは文法がシンプルで書きやすいんだよな 
 書きやすさだけで言ったら 
 Ruby > Python >>> JavaScript   
 JavaScriptは変なクセと 
 ローカルルールが多すぎる 
  >>250   Rubyのjoinなら事前の文字列化は不要なので 
 a.sort.reverse.join('-') 
  語順に拘る必要は無いと思う 
 >>249   違うよ 
 教えるコアな要素は共通にもかかわらず 
 初心者がつまづく内容や頻度だったりそれを自己解決できる割合が言語によってかなり違う 
 それが習熟速度に影響を与える一番の要因   
 ABテストやってみたいねと書いたのは複数言語を学習する順番が 
 プログラミング習熟度に与える影響の調査をペーパー書けるくらいフォーマルにやってみたいねって話 
 3言語なら最低6グループ必要になるわけで 
 統計的に意味ある人数集めてそんなテストするの普通の会社では無理だからね 
 Aグループ: Ruby -> Python -> JavaScript 
 Bグループ: Python -> JavaScript -> Ruby 
 … 
  >>256   思考の順序とコードで表現する順序が近ければ近いほど 
 思考ノイズが少なくて初心者に限らず人間には理解しやすい 
 単にできればいいってもんじゃない   
 結局Pythonでわかりやすく読みやすいコードを書くには 
 自然な思考順序と異なる部分をラップした関数を独自に定義していくか 
 Pythonで表現できる順序に自分の思考順序を合わせていくしかなく 
 一般に読みやすいと思えるコードを書く労力がRubyに比べると段違いで多い   
 少し前にPythonスレで質問があったflattenがいい例 
  Ruby の偽は、nil, false の2つだけだが、 
 >>258   Rubyの文法は自然だと思う    
>>259   ゼロを偽に使うのは筋悪だね 
  Rubyが理解できれば、JavaScriptもだいたい理解できるってまじっすか? 
 Ruby・Groovy は似てる。 
 >>262   RubyはRails Scriptとして使うだけならさほど難しくはないが純粋に言語としては極めて複雑な部類で、 
 Rubyを理解した、と自信を持って言えるレベルならJavaScriptなどもはや楽勝 
  >>262   Rubyを覚えれば 
 Pythonはだいたい理解できる   
 JavaScriptはちょっと理解できる 
 クセがある部分が多いから   
 まあ2015でクラス構文が入って 
 だいぶマシになったけど 
  JavaScript のクラス構文 
 JavaScriptはクラス定数すら定義できないからな 
 Pythonはうんこだが、Rubyのメソッドチェーンも今となってはゴミの部類で 
 >>264   JS は、promise, then, async, waitUntil, ServiceWorker(PWA)などの部分がかなり難しく感じる。 
 event の bubbling phase, capture phase, target phase と絡んで 
 cancelBubble, stopPropagation, preventDefault 
 の話も正確に理解するのはなかなか難しい。 
  event.waitUntil() 
 これも理解できない。 
 >>271   その中で言語の要素はpromise/then/asyncの3つだけ 
 それも全部Promise   
 言語とフレームワーク/APIは分けて捉えないと 
 RubyとRailsを混同してるのと同じ 
  >>275   でも今のJSでPromiseを避けて済ますことは難しい。 
 特にPWAのHelloWorld的なプログラムで
>>274 のように、 
 Promise, async, await, respondWith などの難しいが概念が同時に出てきてしまい、挫折してしまう可能性が高い。 
 やりたいことは単に、ウェブアプリのアイコンをホーム画面に出したいだけだと言うのに。 
  jQuery でも基本は、Promise。 
 >>276   >でも今のJSでPromiseを避けて済ますことは難しい。    
 言語が提供する機能とそれ以外を区別しろって言われてこれかよw 
 Promiseが理解できないのも納得 
  >>276   × でも今のJSでPromiseを避けて済ますことは難しい。 
 ○ 非同期プログラミングをするならどの言語でも一緒 
 GUI関連は大抵の言語で非同期処理をする 
 要するに画面の描画をブロックしてはいけないからだ。   
 RubyはそもそもGUIとかでてこないから 
 使わないだけ 
  >>279   例えば、Win32APIなど非同期処理もMSDNを読めばちゃんと理解できる。 
 ところが、Promiseは公式サイトが何を言っているのか分からないので 
 99%の人が理解できない。 
  jsは伝統的にコールバックをやってきたというのを知っていないと理解は難しいかもね 
 Cをみりゃ分かる 
 Windows 10, WSL, Ubuntu 18.04 を起動して、ユーザーのホームディレクトリで、 
 Ruby のバージョンマネージャーのrbenv-installer を実行したけど、   
 rbenv / rbenv-installer  
https://github.com/rbenv/rbenv-installer/blob/master/bin/rbenv-installer     これの34行目 
 rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"   
 rbenv は、初回は空文字列だが、インストール後には、rbenv となる   
 38行目 
 cd "${rbenv%/*}"   
 これは、cd rbenv するが、rbenv というディレクトリは存在しないのでエラーになる! 
 .rbenv なら存在するけど   
 51行目 
 git pull --tags origin master   
 なので、git pull されない   
 この38行目は、バグなのかな? 
 rbenv-installer の間違いの訳ないよな。 
 文句言う前に 
 >>284   知らんけどさぁ。そのコードだけ見て判断するなら 
 > rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"   
 まずrbenvには普通はコマンドのフルパスが入る。 
 二番目の~/.rbenv/bin/rbenvはわかりやすく、そこにrbenvコマンドがあればそのパス 
 一番目は、rbenvコマンドをPATHから検索して見つかったものが入る。だから本来はフルパス 
 38行目の cd "${rbenv%/*}" からもフルパスが入ってるという前提で 
 rbenvコマンドがある前提でそのディレクトリに移動しようとしている。   
 もし本当に rbenv変数に rbenv という文字列が入るとしたら 
 おそらく rbenvがシェル関数の場合だろう。   
 rbenvというシェル関数は、実は rbenv を使用していると作られる。 
 正確には eval "$(rbenv init -)" の実行時に定義されている。   
 しかし rbenv-installer は別コマンドだ、現在のシェルで定義しているシェル関数の rbenv が 
 呼び出したrbenv-installerという子プロセスから見つかるはずがない。   
 この前提が崩れるとしたら、 
 1. rbenv-installer を . コマンド (または source コマンド)で呼び出している。 
 意図的にやらない限り、そうはならないし、やってるのだから気づくだろう。   
 そしてもう一つ。 
 2. rbenvシェル関数がexport -fされている場合だ。通常exportできるのは変数だけなのだが 
 bashの変な機能で関数もexportできて、それを子プロセス(当然bashに限る)から参照できてしまう。 
 envコマンドで環境変数一覧を表示してみれば、BASH_FUNC_rbenvという特殊な名前で 
 rbenvシェル関数のコードが環境変数に設定されてるのが見えないか?だとしたらそれが原因だ。 
 普通は関数をexportしてるはずがないんだが、どこかでなにかのついで全シェル関数をexportとかやってないか?   
 3. もしくはBASH_ENV環境変数を使ってないか?これはbash起動時に自動的に 
 シェルスクリプトを実行するための変数だ、そこでrbenvシェル関数を定義していたりしないか? 
  まあバグとまでは言わんけど、対応漏れとして / で始まらないものは 
 rbenv のトップページを参考にして、実行した 
 https://github.com/rbenv/rbenv     Basic GitHub Checkout の所で、rbenv-installer を使った。 
 すると、git clone で、~/.rbenv の下に、ローカルリポジトリが出来た   
 次に、~/.bashrc (漏れは、~/.bash_aliases)に、下の2行を追加したので、 
 常に、bash 起動時には、eval "$(rbenv init -)" が実行される   
 export PATH="$HOME/.rbenv/bin:$PATH" 
 eval "$(rbenv init -)"    
>>287   1. rbenv-installer は、1回やっただけです。 
 2. BASH_FUNC_rbenv は無いです。 
 3. BASH_ENV という環境変数も無いです   
 which rbenv とすると、環境変数PATH に、~/.rbenv/bin を追加しているから、 
 ~/.rbenv/bin/rbenv   
 確かに、38行目の、cd "${rbenv%/*}" は、rbenv 変数の、最初の/ 以下を削除するから、 
 パスが入っている事を想定しているのかも?   
 ただ、2回目以降に、rbenv-installerを実行した場合に、 
 51行目のgit pull --tags origin master で、 
 リモートリポジトリから最新を取得するように書いてあるから、 
 38行目の、cd "${rbenv%/*}" で、エラーになると、51行目へたどり着けないかなと思って   
 まあ、まだどのバージョンも入れていないから、 
 バージョンを入れたら、rbenv 変数にパスが入ってくるのかも知れない。 
 こんなに有名なアプリに、こんな単純なバグがあるとは思えないし、漏れの勘違いでしょう 
 たのしいRuby第5版の古本買ったのでRuby入門します(^_^)/ 
 Windows 10, WSL, Ubuntu 18.04 で、 
 VScodeでRuby実行環境作ったけど楽しいは! 
 Windows 10, WSL, Ubuntu 18.04 で、  
 インスタンスがどれで変数の型がどれでオブジェクトはどれってごっちゃになってわからないのですが  
 まず、そもそも class A=new A() は Ruby の文法として完全に誤りだ 
 ひとまずこれで、クラスA を定義して、その設計書に基づき、 
 a = (class A; end).new 
 >>294   Rubyにおいてはすべてがオブジェクトなので 
 変数の型はクラスだと考えてよい 
 (他言語はそうとは限らない)   
 インスタンスは個別の状態(変数)を持ったもので 
 「オブジェクト」という言葉は文脈によって 
 クラスとインスタンスの両方の意味で用いられる   
 よくある喩えで言うと人間はクラスで 
 太郎や花子がインスタンス 
 太郎と花子はどちらも人間(クラス)だけど 
 個々の状態(性別や年齢などの変数)は異なる   
 とりあえずの回答としてはざっとこんなもんだが 
 オブジェクト指向を本格的に習得したいなら 
 本で勉強する必要があるだろう 
  1はIntegerクラスのインスタンス 
 class Human 
 >>299   >>302   文章説明したこと(だけ)の 
 サンプルコード   
 同じHumanクラスだが 
 インスタンスとして 
 taroとhanakoは異なる   
 インスタンス変数ageとsexも 
 インスタンスごとに 
 異なった状態になっている   
 それだけのことだけど基本中の基本 
  >>284   疑問が解決しました!   
 >rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)" 
 >rbenv は、初回は空文字列だが、インストール後には、rbenv となる   
 bash スクリプトを実行すると、rbenv には、~/.rbenv/bin/rbenv が入ってきて、正常に処理されます。 
 これを端末で実行すると、rbenv が出力されるので、挙動が違ってくるだけでした! 
 思わぬ、引掛けw   
 y="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)" 
 echo $y 
 rbenv   
 x="$(command -v rbenv ~/.rbenv/bin/rbenv | head -2)" 
 echo $x 
 rbenv ~/.rbenv/bin/rbenv   
 その後、cd "${rbenv%/*}" 
 で、~/.rbenv/bin へ移動します   
 なので、51行目で、git pull されます 
  simulationライブラリで純粋な関数式プログラミングをする 
 http://x0000.net/topic.aspx?id=3631-0     UIライブラリ (C#, 2D) を作ったよ  
http://x0000.net/topic.aspx?id=3688-0     学術の巨大掲示板群 - アルファ・ラボ  
http://x0000.net     数学 物理学 化学 生物学 天文学 地理地学 
 IT 電子 工学 言語学 国語 方言 など 
 これを、bash スクリプト内に書いて、スクリプトを実行すると、 
 >>304     >>287 に書いてたよね   
 >しかし rbenv-installer は別コマンドだ、現在のシェルで定義しているシェル関数の rbenv が 
 >呼び出したrbenv-installerという子プロセスから見つかるはずがない。 
  Ruby信者が別のRuby信者を何人感染させるか 
 xy4_02.txt → xy4_002.txt 
 >>311   pry> "20".ljust(3, "0") 
 => "200" 
 pry> "20".rjust(3, "0") 
 => "020"   
 Stringのメソッドに目的のものがないかどうかを最初に探そう  
https://docs.ruby-lang.org/ja/latest/class/String.html    "%03d" % "02" # "002" 
 0 で始まる文字列は、8進数と解釈されるのか、08, 09 などでエラーになる! 
   "%03d" % "07" # OK 
 "%03d" % "08" # エラー    
>>313   ありがとう 
 "%03d" % "08".to_i #=> "008" 
 先頭から続く、0 は鬼門! 
 >>317   >000 → "" 
 “000”のleading zeroを除くと“0”では? 
  先頭から続くかぎり、除去するので、これで良いです。 
 そっか、じゃ正規表現だね 
 >>319   修正   
 0 → "" 
 000 → ""   
 やっぱり、これらは空文字列よりも、0 にした方が良さそう   
 0・000 → 0 
  プログラミングのお題の方に書き込んだので、このスレから移動してください! 
 >>322   有名な荒しだよ    
>>323   誰もお前の独り言に興味ないから一人で行け。 
 いや、向こうのスレに迷惑をかけるな。 
  >>324   この板の荒らしって単芝君くらいしか知らんかったわ 
  >>323   お題スレは質スレじゃないんだから並行してても別にいいよ 
 あそこはお題に対してこんな解き方もあるんやでを披露しあって楽しむ処 
  >>325   いくつかのスレのタイトルにRuby禁止と書かれているのは、そいつか原因になっている。 
 活発に活動していて、コテもつけてないが書きっぷりで一目で分かるので目障りきわまりない。 
  Windows 10, WSL, Ubuntu 18.04 で、  
 初歩的な質問ですみません 
 >>330 さん 
 ググったのですが意味が解らず… 
 DOSプロンプトで見たらインストールは正常にされたみたいです。   
 詳しく教えていただければおっぱい見せます。 
  >print(”Hello, Ruby.\n") 
 >>332 さん 
 ありがとうございます。頑張ってみます。 
  コマンドプロンプトなら実行できるのにRubyコマンドではできません。なぜでしょうか? 
 普通は、ソースコードをファイルに書いて実行する。 
 >>336 さん   
 Visual Studio code インストールしました。   
 エディター、よくわかっていません…   
 妹の食事を作りつつ勉強していますが難しいですね。   
 中3女子には難しいでしょうか? 
  小6じょちのあたちにもできたんだから 
 >>335   「えんぴつなら書けるのにボールペンでは書けません。なぜでしょうか?」って書いてるのと同じ 
 これ答えられる?   
 どういう環境で何をやろうとしてるかもわからない 
 コマンドプロンプトで何ができたのかもわからない 
 Rubyコマンドで何がどうできないのか、どういうエラーが出てるのかもわからない   
 プログラミングに限らず人に質問して自分の欲しい答えを引き出すには最低限の質問力が必要 
  すみませんんでした。 
 環境はWindows10で 
 >>341   何をやってどういう結果になったかを、相手に伝わるように正確に書くこと。 
 おそらくそれができていないから、実行した画面のキャプチャを撮って張り付けること。    
>>337 みたいなどうでもいい情報を書く前に、どうしたら欲しい回答が相手から得られるかを考えなよ。 
  >>341   古い版の「たのしいRuby」があったから見てみたけど   
 print(“Hello, Ruby.¥n”) と書いたhelloruby.rbというファイルを作成して 
 それをCドライブのsrcフォルダに保存してから 
 コマンドプロンプトで 
 >cd c:¥src 
 >ruby helloruby.rb 
 とやれって書いてるよ   
 「デバイス PRN を初期化できません」ってエラーが出るってことは 
 コマンドプロンプトに直接 print(“Hello, Ruby.¥n”) と打ち込んでるんじゃないの?   
 irbははinteractive ruby shellの略で対話型で1行ずつ書いたコードを実行する環境の名前で 
 irbコマンドはその環境を起動するコマンド 
 rubyコマンドは基本的にrubyのコードを書いたファイルを渡してプログラムを実行するためのコマンド 
  メモ帳notepad.exeで、ファイルをつくれ? 
 Rubyコマンドっていうから端末でruby起動して標準入力からコード書いてんのかと思ったら自作ワードだったか 
 パス通ってんなら「puts "Hello, Perverts!"」って内容のhoge.rbをダブルクリックすれば実行されんじゃないの? 
 エディタは、VSCode だけを使ってください! 
 >>341   エクスプローラーで適当なフォルダを作って、 
 そのフォルダをVSCode の左のサイドバー上のエクスプローラービューへドラッグ&ドロップすれば、 
 そこがワークスペース(プロジェクト)フォルダになる   
 エクスプローラービューの上の「新しいファイル」アイコンを押して、適当なファイルを作る。 
 例えば、script.rb   
 そのファイル上に、 
 print("Hello, Ruby.\n")    
 と書いて、それを選択して、または、ファイル全体を保存して、 
 右クリックメニューから、Run Code を起動すると、Code Runner で実行できる   
 VSCode の使い方は、ヘルプのようこそとか、対話型プレイグラウンドで学べる 
  基本的に、サンプルのコード片などは、全てVSCode のCode Runner で実行してください! 
 >>349 さん   
 皆さんありがとうございます。拡張機能でCode Runnerインストールして   
 ファイル上にprint("Hello, Ruby.\n")と入力、保存して右クリック、これでRuby動く!   
 と思ったものの、何も起きません…   
 私のようなバレーボール馬鹿にはプログラムは向いていないんでしょうか…   
 夕食後、もう一度やりなおしてみます。 
  ただし、ファイル名が、script.rb みたいに、 
 >>348 さん 
 Code Runnner 実行できました。皆さんありがとうございます。   
 ただ次のステップ、VSCode実行からどうしたらいいでしょうか? 
  そもそも初心者がVSCode使う意味が分からん。 
 そもそもRubyの公式エディタはEmacs 
 Emacsは初見殺しなんで 
 製品の詳しいことは解らないんですがそんなにだめなんでしょうか? 
 VSCodeはデフォルトの設定で使うなら 
 皆さんなんだかんだ言っても優しいですね。Rubyを選んで良かったです。 
 >そもそもRubyの公式エディタはEmacs 
 ホントの初心者ならirbだけでよい。 
 >>354   > Hello, world.レベルならirb使ってちまちまやった方が絶対勉強になる。   
 勉強とは何をやったか記録すること 
 irbでどうやって記録に残すんだ?あん? 
  >>362   初心者をバカにするな。 
 「お前は初心者だからプロと同じものを使うな」は 
 初心者をバカにする行為でしかない。そんな偉そうな人間でもないだろお前は 
  Hello worldなんて頭の中に記録できればログ記録しとく必要なんかないやろ 
 >>363   記録を目的にしたら本末転倒だろう。 
 最初のうちは色々入力して試行錯誤し、自分の頭で考えたり成功や失敗を繰り返し経験することのが大事。 
 まずは書き捨てていいからとにかく試して自分の理解がある程度整理できるようになってから残せばいい。 
  >>363   >勉強とは何をやったか記録すること  
 それ記録じゃなくて記憶の記憶違い 
  >>363   デフォルトで~/.irb_historyに1000行まで記録されてる 
 (2.6まではデフォルトでは履歴は無効、2.7からデフォルトで有効)   
 出力を含めた作業ログをファイルに残したいならそういう機能を持ったターミナルを使う 
 WindowsならPowerShellでStart-Transcript 
  >>363   絶望的なまでに頭が悪いなお前 
 それ読んで馬鹿にされたと思うのは劣等感の塊で自意識過剰なお前くらいだろ   
 そしてお前はirbのこと馬鹿にし過ぎ 
 教育現場でとっかかりとしてREPLを通して学ばせるなんて日常茶飯事だわ 
 東大でも準必修でRubyをirbを使って教わったぞ 
  >>366   いろいろ試行錯誤する時に、 
 あれ?さっきなんて入力したっけ? 
 ってなったら意味ないだろw   
 コードをじっくり見ないといかんし 
 勉強っていうのはタイプすることじゃないぞ 
 自分で何を書いたかを理解することだぞ 
  >>370   ctrl+rやctrl+pも知らない馬鹿がなんか言ってる 
  というか入出力の履歴が保存されてる件はスルーなのか 
 >>371   その程度の話なら画面スクロールでいいだろw 
 アホかw 
  >>373   端末の表示バッファ超えててもctrl+rや保存された履歴は有効なんだが底辺の底よりも頭悪いなお前 
  >>374   お前あれだろ、黒板の板書をそのまま書き写して勉強した気になってたやつだろ? 
 自分なりに整理して書かないやつがログとってても何の勉強にもならんよw 
  「irbでどうやって記録に残すんだ」とか馬鹿なこと言うからみんなからさんざん論破されてんのに意味不明すぎて笑える 
 初心者は、VSCode で、Code Runnner を使うべき! 
 >>377   irbでたバイト文字でバグらないようにすることは可能だし 
 Windows10のnotepadはBOMつきのUTF-8では保存できねえよ 
  >>376   だからお前の言うirbの記録=何の整理もしてない実行ログだろ? 
 あとから見ても何もわからない。これかなーって実行してエラー発生w 
  >>378   BOMつきのUTF-8で保存できるが? 
  >>363   >>367   勉強とは記録や記憶から 
 本質的な情報を抽出することだろう 
  >>382   違います   
 学習とは「経験によって生じる比較的永続的な行動の変化、それを生じさせる操作、及びその過程」です 
 有名なパブロフの犬や迷路実験も学習の一種です 
 犬やネズミや昆虫等は記録を行いませんが学習しています 
  Code Runnner 実行できました。簡単なコードですがRubyで実行したいです。 
 VSCode の左側のファイルエクスプローラーで、 
 >>383   いやいや 
 情報を抽出することと 
 行動を変化させることは 
 同じことを違う角度で見てるだけでしょ   
 脳の回路を変化させていることを 
 どう表現するかという違いでしかない 
  >>385   できました!PowerShell を起動させることでRubyが実行できるんですね。 
 ありがとうございます! 
  PowerShell・コマンドプロンプトから、ruby コマンドを実行できる 
 >>388   ギギギ…わかりません…   
 明日もバレーの練習終わったら勉強します。ありがとうございます。 
  >>389   puts "Hello, World!"   
 とかいたscript.rbをどっかに保存しておく。 
 保存したフォルダでshiftを押しながら右クリックから「コマンド ウィンドウをここで開く」を選択。 
 出てきたコマンドプロンプトに   
 ruby script.rb   
 と打ち込めばよい。   
 もしくはパスが通ってるならそもそもscript.rbをダブルクリックするだけで実行される。   
 puts "Enterキーを押すと終わるよ" 
 gets   
 で保存して試してみるといい。 
  エクスプローラーのフォルダの上で、 
 >>388   Linuxと同じでもないし、同じだとしても別に覚えやすくはねえよ。 
 おまえがBashに慣れとるだけやろ。w 
 PowerShell もそれなりにクセがあるから、どっちもどっち。   
 まあ、今さらcmdはないやろ、というならわからんでもないが。 
  returnでは現在のメソッドしか終了できませんが、呼び出し元のメソッドごと終了させる方法はありますか? 
 >>394   - 例外 
 - catch and throw 
 - block/proc 
 - &. 
 など   
 いろいろやり方あるけど処理内容とプログラムをどう構造化したいかによって選択肢が変わってくる 
  >>394   >return if と入れればできますが 
 できてるじゃん! 
 普通のIF文でもできるでしょ?   
 >毎回2行使ってしまう 
 行数が1行か2行かなんて気にしなくていい   
 それから例外を通常の条件分岐に使うのは 
 便利でも一般的にはあまり推奨できないな   
 もしもっと複雑な状態遷移に発展するなら 
 そもそも呼び出すメソッドを切り替える 
 仕組み(ステートパターンとか)も考えたい 
  exit で終了できる。その例外は、SystemExit でキャッチできる。 
 Windows 10, WSL, Ubuntu 18.04 で、Rails 環境を構築するために、 
 192.168.7.21騒動見てたらあるハッカーの顛末を思い出した 
 漢数字が、順番に並んでいない! 
 文字は文字コード順に並ぶやろから当然やな 
 >>401   アラビア数字でソートなり処理して 
 表示する時だけ漢数字に変換するのが 
 一番簡単だし確実だと個人的に思う 
  >>401   >>405   一回きりの簡単な処理ならともかく 
 数量データの規模が大きかったり 
 複雑な計算をしたりするときは特にね   
 漢数字で科学計算とかやりたくないでしょ? 
  >>401   require 'ya_kansuji' 
 array = %w(八京 2垓 1兆 壱萬 一兆 四 89 五 一 六 二 七 八 三 九 十 百 二十) 
 array.sort_by{|x| YaKansuji.to_i(x)} 
 #=> ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十",  
 "二十", "89", "百", "壱萬", "一兆", "1兆", "八京", "2垓"] 
  Rubyの公式リファレンスは docs.ruby-lang.org です 〜公式な情報源を調べるクセを付けよう〜 
 https://qiita.com/jnchito/items/2dc760ee0716ea12bbf0   「公式な情報源」が使いづらいからそういうことになるんだよな 
 Rubyの公式ドキュメントはマシな方 
 ドキュメントがない言語を使うメリットは何もないな 
 名前のタイプミスを狙った悪質なパッケージがRubyGemsで多数公開される 
 https://security.srad.jp/story/20/04/18/1920212/     700以上の悪質なパッケージが2つのアカウントからアップロードされたそうだ。 
 悪質なパッケージのダウンロード数は2アカウント合計で10万件   
 悪質なパッケージはいずれもWindowsユーザーをターゲットにしたものとみられ、 
 インストールすると最終的にVBScriptがループで常駐してクリップボードを監視する。 
 んと、コンビニの雑誌の表紙が深田恭子の水着だったので、 
 365でハードコーディングしないでうるう年換算しろ 
 require 'date' 
 ゴルファーとしては詰めたくなる。なお11月2日以外とする 
 【Rails 5】Userの現在の年齢を生年月日から計算する方法と、ransackを使わずに年齢の範囲検索フォームの実装 
 https://qiita.com/Yusya/items/aad599c2194aa3d4dacc     生年月日から年齢を簡易計算する数式  
https://qiita.com/aqril_1132/items/46e824541e657190ef3e     今日・生年月日を、yyyymmdd で表して、 
 ( 今日 - 生年月日 ) / 10000   
 ( 20200423-19821102 ) / 10000.to_f #=> 37.9321 
 ( 20200423-19821102 ) / 10000 #=> 37 
 2019-11-02 が、37歳の誕生日。 
 ああこれでいいのか 
 まだ詰められた。切りがないのでこれで最後に 
 確かに、宗教について聞けるくらいだったらWindows対応のポリシーについても聞いてみて欲しかったなw 
 >>430   宣教師の経験があるレベルやぞ? 
 宗教のことなんかぜひとも訊いてくれ、ってなもんやろ。   
 Windowsのことを訊いたって、UNIX至上主義の講釈が返ってくるだけや。 
  Rubyは書きやすくていいが 
 URLの差か? 
 https://www.ruby.org/  (存在しない)  
https://www.python.org/   https://www.perl.org/     それか英語で書かれたドキュメントの総量、 
 C/C++でのライブラリの作り方のドキュメント、 
 そしてendの量 
 >>434   個人的には ruby をもう一度盛り返したいと思っていますが 
 どんな分野を強化すればいいでしょうか? 
  >>436   まずは教養レベルの数学も知らないクソコテがこの世から消えることだな 
  >>436   RubyはRailsが強いのでWebアプリを本拠地にしていて 
 それはいいんだけど発展していくためにひとつは 
 今言ったWindows、もうひとつはAndroid 
 そこでアプリを作りやすい環境があるといいと思います   
 というのもJavaやJavaScriptはこういう 
 マルチプラットフォームにしやすいので 
 普及した面があるだろうと思うからです 
  Javascriptがマルチプラットフォームってなんやねん 
 >>437   教養レベルの数学とは、具体的にどういう分野ですか? 
  >>441   少なくとも留数定理知らないバカは教養がない 
  ちなみに教養って東大の教養学部時代のレベルってい見な 
 Javaだって実際にはほとんどUNIXサーバーで運用されてるわけで、Windowsとの相性の悪さは本質的な問題ではない 
 >>447   > Javaだって実際にはほとんどUNIXサーバーで運用されてるわけで、Windowsとの相性の悪さは本質的な問題ではない   
 UNIXサーバーで運用されるのと、Windowsとの相性がどう関係するの? 
 まさかUNIXサーバーで運用してるのは、WindowsやLinuxと相性が悪いからだ!って 
 言いたいわけ? 
  「主張しないOSだったから世界に広がった」TRONの生みの親・坂村健が語る 
 「主張しないOSだったから世界に広がった」そう張するTRONはなぜ世界に広がらなかったのか? 
 Rubyの初歩を終えたら上達のために何か作ってみたいのですが、どんなものを作るのがいいのでしょうか? 
 >>453   最初はローカルだけで完結するCLIツールがおすすめ 
 ファイル名検索、文字列検索、ファイル名の一括置換、文字列の一括置換、ログファイルの集計のようなもの 
 findやgrepの再発明だけど文字列操作、コレクション操作、ファイルI/O、オプションパース、エラーハンドリング、プログラムの構造化方法みたいな基本的なことが身につく 
 アルゴリズムのオーダーも考えながら作ると尚良い   
 次にWebアクセスを伴うCLIツール 
 AJAXが使われてないサイトの簡単なスクレイピングがおすすめ 
 HTTP、ロギング、非同期処理、変化する外部リソースを扱う場合の考慮点などがわかるようになる   
 お問い合わせフォーム自体はRuby使わなくても実現できるけど 
 POSTされたデータをRubyで処理したりフォーム自体をRubyから返すようなサイトを作るのは 
 HTML/CSS以外にHTTPとWeb framework(SinatraかRails)を学ぶ必要があるので 
 他言語を習得してるのでないなら上の2つくらいは問題なくできる程度にRubyに習熟してからのほうが効率がいいよ 
  railsの環境構築がダルい 
 Railsは本来的には古典的なMVCアプリに特化していて、SPAには無駄な部分がとても多いし、原理的にフロント部分についてはカバーのしようがないからね 
 >>453   >>454   >最初はローカルだけで完結するCLIツールがおすすめ 
 おおむね同意   
 CLIの難点は(初心者には)つまらないことだが 
 いきなりゲームとか作ろうとすると挫折するから 
 まず小物ツールを作って経験を積むのは大事だね 
  RailsがCoffeeScript推してた頃はフロントも総合した一貫性のある技術スタックにしていこうという気概があったんだけどね 
 DjangoもSpringもASP.NET(MVC/Razor Pages)もGinも 
 >>453   > 次に作成したいもの、作成できるものがよくわかっていません。 
 それは人に聞くものでもない。 
 自分が作りたいと思う動機付けが無ければ、意味がない。 
  理想は何か作りたいアプリがあって 
 Django はそれだけで API も造れるからまだ良いけど 
 いつもの妄想虚言癖くんは相変わらずRubyもRails知らないの丸出しだな 
 超有名な「Classi」学校教育のICT活用を支援するクラウドサービスもrails製 
 「ユーザー数」の詳細がわからんとなんとも。 
 https://www.itmedia.co.jp/news/spv/2005/07/news088.html   > 「課題が出せない」「試験が受けられない」――学校向けSaaS「Classi」がつながりにくい状態に 生徒から不満の声相次ぐ   
 Railsが悪いというつもりはないけど、まあよくある話だよね 
 多く見せるために全生徒をユーザー数として謳っていたけど、コロナショック以前は実際にはほとんど使われてなかったんだろう 
  俺は一通り文法学んだら数独ソルバーとかbrainf**kのインタープリタ作ってたな 
 Go, Ruby など、サーバー側は、CLI のちょっとしたフィルター・パイプなどを作るとか。 
 Farstep【プログラミング講座】 
 https://www.youtube.com/channel/UCiGdng-6ZLS5tlfw0xnG3TA     この人が、ここ1週間で4本、Rails 動画を上げてる。 
 Bootstrap を使ってる 
 教えて頂きありがとうございます。 
 Unity + C# 超おすすめ 
 まあRubyでも怪盗ロワイヤル系のクソソシャゲなら作れるぞ 
 RPGツクールXP/VXならばRubyなんだよなぁ 
 ツクールMVでJavaScriptに変えちゃったのが残念 
 C#がゲーム開発に適しているんですね。 
 趣味レベルでもいいので将棋プログラムやチェスプログラムも作ってみたいです。 
 いいんじゃない。自分の作ったAIと他人の作ったやつを対戦させてみればよい 
 >>476   いきなり難しいのは作れないから簡単なのから作るといいよ 
 たとえば将棋やチェスの前にリバーシやトランプとか 
 もっといえば最初はCUIのマルバツから始める位でいい 
  CUIのマルバツというと 
 >>480   ○・・ 
 ・・・ 
 ・・×   
 ↑みたいにCUIでも 
 盤面表示できるでしょ? 
 たった三行だし 
  お前のやる言語はRubyじゃないって散々言われてんのに聞く耳持ってないなコイツ。 
 >>484   なんかすごいなw 
 これだけ作り込んでいるのに、パッと見てすぐ目立つ Your Heath の綴りが間違ったままなのが謎だが。 
  いやまあ本格的にゲーム作るなら 
 なにをどうやりたいのかによるな。 
 Ruby は、小説ゲームなどのシナリオを、ゲームデータに変換するツールには使えるかも 
 RPGツクール(XP/VX)もあるし 
 2Dゲーム用の未だに開発が続いているRubyのライブラリってあんの? 
 初心者です。 
 こういうのってコンソールのエラー画像貼った方が分かりやすい 
 492です。 
 >>494   ズコー。 
 署名なんか関係なかったやろ。w 
  漏れは、Windows 10, WSL, Ubuntu 18.04 で、 
 CLIツールを作成するために、Bundlerをインストールしたいのですが 
 上からの一部になりますがこのような感じです 
 bundlerをインストールしてCLIツールを作成したいと思っているのですがbundlerのインストールのやり方がわかりません 
 rubyのインストールはコマンドプロンプトで行ったので同じようにインストールするものかと思いましたが 
 質問する時は以下の点に留意すると回答が得られやすいぞ 
 >>505   さらに 
 特にエラーメッセージがあるときはそれを貼る 
  基本、bundler だけは、gem install bundler で、グローバルに最新版をインストールする。 
 1.0.step(3, 0.2) {|n| puts n} 
 >>509   10.step(30,2){|n| puts n.fdiv(10)} 
  >>511   あ、これrailsのもんだあじゃないんだね! 
  誤差が嫌ならRational使え 
 浮動小数点は誤差があるので、お金の計算などでは使えない 
 > お金の計算などでは使えない 
 銀行の理屈だと桁数が大きいので下の方のの桁が軽視できないんだと 
 Rubyは文系や中卒高卒が多いんだから文系ディスはやめてやれ 
 >>517   文系「消費税は3%だ。端数?ちゃんと計算しろ。1円の誤差もゆるさねーぞ。」 
  >>515   「四捨五入」とか言ってまうヤツは、金の処理に口を出すな。 
  うちの環境だと 
 二進数の浮動小数点数は十進数の(1/10)を表せなくて誤差の蓄積が出るって言うけど 
 >>517   桁落ちは問題だが 
 切り捨ては銀行や政府が儲かるように 
 切り上げも銀行や政府が儲かるように 
 都合良く設定されているね 
  >>518   それはどの言語であれ、普及率が高ければ高いほどそうなる。 
  Pythonはアメリカでは教育に取り入れられている ---> 誰でもやっている 
 配列が大きくなるとHashのほうが速くなることを発見した 
 Rubyのリストは、reserve()的なことはできないんだっけ? 
 >>527   さすがにそれはないわ 
 それとも[1,1,1,1,1]を重複除去して[1]にしたい場合ってことなのかな    
>>529   先にallocateしたほうが必ずしも速いわけではないので最適化したければ要計測 
  StringにはcapacityあるけどArrayのrubyインタフェースには見つからんな 
 Rubyはユーザーコードの実行がとんでもなくゴミクソのように遅いから、 
 >>530   > 先にallocateしたほうが必ずしも速いわけではない 
 具体例を教えろ。 
  >>533   これ何度か繰り返して比較してみて  
https://ideone.com/N26HoC     GC.disable/enable/startとかも組み合わせて試してみるといいと思う 
  >>534   # gem install benchmark_driver 
 require 'benchmark_driver'   
 Benchmark.driver do |x| 
   x.prelude %{ input = (1..2_000_000).to_a.shuffle  
   RUBY 
   x.report 'push without size', %{o = []; input.each{|x| o.push x }} 
   x.report '[]= with size (each_with_index)', %{o = Array.new(input.size); input.each_with_index{|x,ix| o[ix] = x }} 
   x.report '[]= with size (each)', %{o = Array.new(input.size); i=0; input.each{|x| o[i] = x;i+=1 }} 
   x.report 'block with size', %{o = Array.new(input.size){|x| input[x] }} 
 end 
  prelude書き換えてる最中に送信してしまった 
 >>535   そのwith sizeとwithout sizeはpushの差では?   
 require 'benchmark_driver'   
 Benchmark.driver do |x| 
     x.prelude %{ input = (1..2_000_000).to_a.shuffle } 
     x.report 'Array.new(0)', %{o = Array.new(0); input.each{|x| o.push(x+1)}} 
     x.report 'Array.new(input.size)', %{o = Array.new(input.size); input.each{|x| o.push(x+1)}} 
     x.report 'init with []', %{o = []; input.each{|x| o.push(x+1)}} 
     x.report 'input.map', %{o = input.map{|x| x+1}} 
     x.report 'block with size', %{o = Array.new(input.size){|x| input[x]+1 }} 
 end   
 pushを使うようにすれば 
 要素数分のinitializeが必要なArray.new(input.size)が 
 高い確率で一番遅くなる 
  >>534   なんで 
>>529  + push ?  
>>528  のほうがストレートで速そうやろが。 
  >>537   Array.new(3).push(1) #=> [nil,nil,nil,1] 
  >>539   あらら、そうだね 
 これで比べればいいのかな?   
 Benchmark.driver do |x| 
     x.prelude %{ input = (1..2_000_000).to_a.shuffle } 
     x.report 'Array.new(0) + while + indexer', %{o = Array.new(0); i=0; while(i<input.size); o[i] = input[i]+1; i=i+1; end} 
     x.report 'Array.new(size) + while + indexer', %{o = Array.new(input.size); i=0; while(i<input.size); o[i] = input[i]+1; i=i+1; end} 
     x.report 'Array.new(0) + while + <<', %{o = Array.new(0); i=0; while(i<input.size); o << input[i]+1; i=i+1; end} 
     x.report 'Array.new(size) with block', %{o = Array.new(input.size){|x| input[x]+1 }} 
 end 
  文字列でコードを渡さなきゃいけない仕様って超微妙だな 
 2020年6月30日 
 Railsコースリリース!業界最安値で自走力が身につくワケを制作者が語る 
  東京フリーランスのとだこうきが、Rails の3か月コースを作った! 
 9万円! 
 Windows用に+DEVKITの方インストールしたけど1GB3万ファイル以上ってちょっとデカすぎないですか? 
 要するに、ビルドツールをインストールしたMSYS2やろ。 
 漏れは、Windows 10, WSL, Ubuntu 18.04 で、 
 ビルドツール付きで1GBなら温情あるじゃないか。最近のVisual Studioだと10GB単位で食うぞ 
 >>548   それはフルで入れたらでしょ 
 使いたい機能だけで入れたらそこまで容量使わないよ 
  >>549   「使いたい機能」とやらをどこまで絞れんの? 
 gemによってはビルドできなかったりしてもいいの? 
  macOS本体よりもでかい?Xcodeってなんなの?  
 http://2chb.net/r/mac/1574170194/   なんか8GB?ぐらいダウンロードさせられるんですけど? 
 macOS本体もそれぐらいだっけ? 
 >>550   csc.exe と必要なライブラリだけ集めれば makefile で出来る 
  "string”を ["s", "st", "str", "stri", "strin", "string”]にする場合の便利メソッドってある? 
 誰がそんなメソッド使うんだよ 
 >>555   accumulator付きのmap的なのは関数型を中心に結構標準で用意されてるよ 
 scanって名前が多い 
  ary = "abc".each_char.inject( [ ] ) do |ary, char|  
 >>557   二行目以降は 
 ary.push (ary.last || '') + char 
 end 
  rbenvでインストールしてglobalに設定したのにruby -vでコマンドが見つかりませんって出る 
 >>562   まずはこのスレを検索して、それがダメだったらまたな? 
  >>563   スレ見るまでもなく解決したわ 
 ありがとな無能さん 
 初心者スレにお前は合わんから消えた方がいいよ 
  >>496   に書いておいた   
 漏れは、Windows 10, WSL, Ubuntu 18.04 で、 
 Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、 
 ruby 2.6.6, node 12.16.2 を入れた   
 anyenv を推奨する。asdf もあるけど、 
 中を見たら、結局そのまま各言語の、*env を使っているものもあるみたい 
  多言語の場合、anyenv, asdf を使わないと、各言語ごとにやらないといけないので面倒。 
 調査によるが、Javaは未だに物凄く利用者数の多い言語。 
 javascript勉強した後だと、rubyの学習サクサク進むな 
 たのしいrubyって第6版まで出ていますが4版や5版の中古でも問題ないですか? 
 >>571   PHP の地位が低すぎる 
 PHP はダントツにあがってもいいほどだ、wikipedia も PHP 
  初心者でRUDYを習い始めたけど 
 progateのrailsのコンテンツで以下のようなコードがありました。 
 お気に入り数を増やすAPIを作っているんですが、1つづつ増やすのは以下でできたんですが、 
 >>582   コピペですまないものは全て一行ずつここで聞きながらプログラムを書く気かいな 
 何を作りたいのか知らんが、クラウドソーシングサイトで5000円でも払って作ってもらえよ 
  >> 583 
 >>584   そんなら他の言語に行けよ 
 Ruby界に高卒はいらないよ 
  ワッチョイ 7fbb-OVGNはNGだな 
 高学歴なんかみんな他へ行ってしまってもう残ってないだろ 
 >>582   質問の要件を満たしていません。 
 知性をアップデートしてから出直してきてください。 
  >>582   散々な言われよう   
 Active Recordを使ってDBの値をインクリメントする際 
 増分を指定するにはどうすればいいですか? 
 って質問なのかもしれないが   
 Acrive Record風のAPIを自作してて 
 インクリメントする場合はどういうAPIにするのがいいですか? 
 って質問に見えるから、ちょっと何言ってるんだろうってなる 
  >>581   =の有る無しで出力されるhtmlがどうなるか比較してみたら 
  ここなんでこんなイライラしてる人多いんだ 
 >当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 
 >>581   【Rails】form_tagの使い方を徹底解説!  
https://pikawaka.com/rails/form_tag     「formtag rails」で検索!   
 Rails Guide も、翻訳されてる    
>>582   >favorite_count = favorite_count + 1 
 この1 を、10 に変えれば? 
  そりゃそんな人も居るだろうけど 
 >>594   ここまで読んでみたところ、イライラしてるのはお前さんだけでないの? 
 まあ初心者の訳分からない質問に不寛容なのが多いのは確かだけど、
>>584 みたいなレスしちゃったら誰もまともに相手しようなんて思わないぞw 
  すべてのスレで、荒らしが書き込んでいるだけ。 
 >>581   <form>タグを生成しています。 
 viewが何やってるのかよくわからない時は 
 ブラウザの開発者ツールを開くのオススメ 
  pacman -Ss crystal 
 >>2   パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)、2020/07/25   
 Ruby 2.6.6 
 Rails 6.0.3   
 Windows 10 では、WSL 2 
  このところ、悪徳商法っぽいRuby教材屋が目立つな 
 reverse() と reversed() って違うメソッドなの? 
 >>608   本当の内容   
 【メキシコ】麻薬カルテル、ライバル組織の女を拘束、手足を縛り生きたまま解体 - 18禁グロ   
 ▼カテゴリ - 18禁グロには一部、異様・奇怪・猟奇的・暴力シーン・グロテスクな表現が含まれていますので、閲覧制限をしています。   
 1. 18歳未満は閲覧禁止です。 
 2. 耐性が無い方は閲覧しないでください。 
 3. 閲覧は自己責任でお願い致します。   
 ※上記、18歳以上で同意できる方は入室してください。 
  rails6使いづらくないです? 
 >>610   Railsは開発者に一貫性の高い開発スイートとワークフローを提供するというコンセプトではあるけど、 
 それ以前にWeb開発のスタンダードから外れてはいけないというのが大前提だ 
 いくらRailsの思想に合わなかろうが、たとえばMSのClassic ASP.NETみたいな標準をガン無視した独自路線へ行くのは絶対NG 
 でRuby自体がもはやWebのスタンダードではなくなりつつある今、大きな歪みが生じているわけだ 
  >>611   rails5→rails6の移行も仕様変わりすぎてて難易度高いよね 
 こりゃ5のサポート切れのタイミングで別言語乗り換えかな 
  NokogiriのTutorialsを見てます。 
 >>614   module Nokogiri 
   def HTML(s) 
     puts s 
   end 
   module_function :HTML                                                            
 end   
 Nokogiri::HTML("module OK") # => module OK   
 なんと、HTMLメソッドが定義されてました。 
  [スクレイピングのためのNokogiri利用メモ - それはそれ、これはこれ](
http://otn.hatenablog.jp/entry/20090509/p1 )   
 クラス構造の理解:Nokogiri 
 KernelにArrayメソッドがあるのと似たようなもんだな 
 Railsがマイクロサービスが流行って廃れたようなことを言う人もいるけどさ 
 >>614   NokogiriのRDocを見てます。 
 Nodeオブジェクトの 
 content, text, inner_text, to_str 
 メソッドは、みな同じって事ですかねぇ?   
 to_str以外、試してみたら同じ文字列が返って来ます。 
 to_strは後で試してみます。 
  >>619   じゃぁ、Session情報はどこに保存? 
  >>610   JSの方が、ブロックが楽に書けるし、数値の0がfalseの意味を持っているので分かり易いし、複数行コメントに /*・・・*/ が使えて便利だし、 
 if 文の条件式を ()で囲むし、単一行コメントが // だし、Cと似ている。 
  if文の()?正直いらねえわ。 
 自動的に if then else end に展開するスクリプトを書けば 
 JavaScript, PHP, Python は、各型に偽があるので、10個ぐらいあって大変。 
 しかし、コンピュータは、ロジック回路や電卓の時代から、0が偽で、1が真と 
 rubyの0はメモリに何も入ってないのを表すんじゃなくてNumericクラスのインスタンス 
 >>629   しかしそれ自体が、コンピュータの基礎とかけ離れた設計思想になっている。 
 コンピュータの世界では、非常に古くから0が偽であると定義されている。 
  数学の世界でも、真理値表では、0が偽、1が真。 
 >>629   だったら、偽なのはfalseだけにしとけよと思う。 
 真偽値でなければならないところは真偽式しか書けないようにしとけと。   
 微妙にいいかげんなんだよな。 
  いやいや、そもそも0や1が真になるのがおかしい 
 俺は、Rubyではnil, falseだけが偽とする。0を偽としないって設計は好きだな。 
 まあ一番基本的であろうdefで作った関数(ほんとは関数じゃないというのは置いといて)が第一級市民(オブジェクトと言うと誤解を招くので)として扱われない仕様には若干古くささを感じる。 
 Ruby では、関数・ブロック(クロージャ)の2つのスコープがある。 
 老害の極み 
 >>637   そのとおり!   
 いつまでも、0が偽であるべき! 
 なんて考えに取り憑かれているべきでは無い。   
 ちなみに、俺、56歳ね! 
  ぶっちゃけ今どきるびぃみたいな型なしクソ言語にしがみついてるやつらが老害だけどなw 
 >>635   オブジェクト指向原理主義的には、メソッドはオブジェクトに対してメッセージを送信した結果生じるオブジェクトの「反応」なんだよ 
 そこは完全にオブジェクト側に任されていて、オブジェクト自体がRubyの仮想マシン上でどう実装されてるかすらも呼び出し側が期待するべきではないの 
 JavaScriptだとオブジェクトが単なる連想配列であるという前提のもとでそこからメソッドを引っ張り出して呼び出すわけだけど、それはある意味オブジェクトのカプセル化を破っているというわけ 
 そういう思想的背景を理解すれば、Rubyのメソッドが第一級関数ではない理由は君にも納得できるんじゃないかな 
 まあその思想に拘ることにどれだけ実用的意義があるかは別問題で、俺もRubyが時代遅れだというのは同意するけどね 
  これ本当なのですか? 
 > あまりに、JSは巨大だから、かえって難しくなる 
 JS は最近まで、基本型であるハッシュも無かった 
 Railsは、PHP全盛期に誰が使っても大穴が開かないから人気があっただけでさ 
 >>643   あらさがしもいいとこ。 
 識別子に「__」を混ぜるヤツなんかそうそういねえ。 
  使っている単語を集めるアプリで、__proto__ が使われていたら、バグる 
 標準なのかRailsの独自拡張なのかの区別すら困難なほどにRailsにクソミソに汚されたRubyの悪口はやめなさい 
 暑くなるとどのスレにも変なのが湧くね 
 unixの世界では0がtrue、1を含むそれ以外がfalse。 
 >>650   それはシェルが扱う「プログラムの」返値のときで、しかも意味は 0 が正常終了、1 が非正常終了、と、ちょっと違う 
  >>651   testコマンドでは、0が真、それ以外が偽。    
>>650 が「unixの世界」とか言ったからややこしいけど、シェルだけの話でもない。 
  >>652   test コマンドの実体が外部の実行ファイルなら、それは 
>>651  のいうところの「プログラムの返値」‥‥@ 
 test コマンドがシェルの内部に埋め込まれている場合もある(例えば bash)‥‥A   
 @Aいずれの場合も「シェルの話」なのでは? 
  >>651   unix とか shell とか C の関数とか 
 戻り値の扱いが統一されてないのは不自然だよね 
  >>655   コマンドの終了コードは真偽の2値だけじゃないから。 
 わかりにくいといえばそうだが、しかたない。 
  >>650   それは真偽値じゃなく、0が成功、0以外がエラーで、番号でエラーの種類を表しているだけ。 
 Unixでは、誕生の時から、Cと二人三脚だったが、Cはもともと1が真、0が偽だった 
 わけだから、Unixも当然、1が真、0が偽。 
 エラー番号は、真偽値とは直接関係が無く、Unixとは関係ないMS-DOSや 
 PC-8801のアセンブラの世界でも、0が成功、0以外でエラーの種類を表すことが 
 多かった。なぜかといえば、それが効率が良かったから。 
 当時のCPUは非力だったので、そのように1つの整数で多くの情報を表すと、 
 飛躍的に体感速度が上がったからそうなっていた。 
  dllで 
 「ruby dll 呼び出し」で検索すれば? 
 require 'fiddle/import' 
 `require': cannot load such file -- ffi 
 >>662   ss = M.gethoge.force_encoding( Encoding::CP932 ) 
  一通りやったのに問題解決しませんでした、諦めました 
 dllがShift-JISでrubyがUTF-8でターミナルがWindows-32Jとかなんじゃねえの 
 そもそも本当に文字化けなのか? 
 #<Fiddle::Pointer:0x000000000313e7d0 ptr=0x00007ffea5c03038 size=0 free=0x0000000000000000> 
 require 'fiddle/import' 
 puts  M.gethoge 
 >>677   undefined method `encoding' for #<Fiddle::Pointer:0x0000000002c42230> (NoMethodError) 
  p M.gethoge.to_s.encoding 
 >>680   #<Encoding:ASCII-8BIT> 
  #include <stdio.h> 
 puts M.gethoge.to_s.force_encoding( Encoding::CP932 ) 
 >>683   お!出ました! 
 ありがとうございました 
 助かりました 
  hoge.dllコンパイルしてたら解決してた 
 Windows で、Ruby を使うのは、CP932 で苦しむ。 
 >>687   スクリプト/内部/外部のエンコーディングをCP932にすれば 
 CP932 -> UTF8とUTF8 -> CP932の変換や指定は不要 
  mechanizeのform送信を使って5chに書きこむことはできますか? 
 >>690   具体的にcoockieをどうすれば良いでしょうか? 
  >>687  >>688 氏が指摘しているように、エンコーディングをCP932で統一できるなら、 https://docs.ruby-lang.org/ja/latest/doc/spec=2fm17n.html  https://www.sl*d*share.net/tmtm/ruby-nseg30  https://tmtms.h*t*n*blog.com/entry/20120812/ruby_encoding    CSI方式を採用した背景はこれ読むといいよ 
 https://jp.quora.com/Ruby-deha-naze-UCS-seiki-ka-wo-saiyou-shi-tei-nai-node-shou-ka/answers/141570426     ↓こう書いとけばリテラルもI/OのデフォルトもCP932 
 #! /usr/bin/env ruby -E CP932:CP932 
 # encoding: CP932 
 エンコーディングのコストなんてIOに比べりゃ無視できる 
 windowsのファイルシステムのエンコーディングを中途半端なままにしたことで、 
 >>696   Windowsのファイルシステムでは、あらゆるエンコーディングがうまくいってない気がするな。w 
 まあ、しょせんUTF-16だしな。 
 安全そうなところだけをつかったほうが安心。 
  UTF-8 以外は実績が無いから、文字列処理とか、怖くて使えないだろ。 
 >>689   RubyでCookieの読み込みや保存を幸せにする(Mechanize&Selenium)  
https://rooter.jp/web-crawling/ruby-cookie/     「ruby mechanize cookie」で検索すれば?   
 漏れは、selenium webdriver で、実際のブラウザを操作しているだけだから、 
 クッキーの事も、考えたことはない。 
 ブラウザが勝手にやる   
 プログラミングでは、入力して、ボタンを押すだけだから、簡単。 
 下は、yahoo のログインの例   
 driver.navigate.to "
https://login.yahoo.co.jp/config/login_verify2?.src=ym" ;   
 element = driver.find_element(:id => "username") 
 element.send_key "ユーザー名"   
 driver.find_element(:id => "btnNext").click   
 element = driver.find_element(:id => "passwd") 
 element.send_key "パスワード"   
 driver.find_element(:id => "btnSubmit").click 
  selenium webdriver なら、これで、 
 この板のtest スレの、書き込み確認画面が出る。 
 ひょっとしたら、確認画面が出ないかも知れない   
 require "selenium-webdriver"   
 options = Selenium::WebDriver::Chrome::Options.new   
 options.add_option( :detach, true ) # ブラウザを切り離す 
 options.add_argument( '--start-maximized' ) # 画面最大   
 driver = Selenium::WebDriver.for :chrome, options: options 
 driver.manage.timeouts.implicit_wait = 15 # default timeout   
 # プログラム板のtest スレ 
 driver.navigate.to "
http://2chb.net/r/tech/1597362675/1" ;   
 element = driver.find_element( :css => ".formbody textarea" ) 
 element.send_key "あい"   
 driver.find_element( :css => ".formbody input.submitbtn" ).click 
 >>701   の続きに、以下を書くと、確認画面に切り替わった後の処理も、できる   
 単に、input[type=submit] のボタンを待つと、 
 遷移前後の両方のページで、ヒットするので、 
 確認画面に切り替わったかどうか、判別できない   
 遷移後のページだけに存在する、要素を待てば、 
 それが出現するまで、wait できるかも   
 sleep 7   
 # 確認画面が出る。
https://mevius.5ch.net/test/bbs.cgi   puts driver.current_url # 切り替わったかどうか、URL を表示する   
 # ボタンのラベルを表示する 
 puts driver.find_element( :css => "input[type=submit]" ).attribute( "value" ) 
  >>700 さんのリンク先参考に見よう見まねでとりあえずやってみたんですけど、いまいちcookie_jarとかよくわからない・・・   
 require 'mechanize' 
 require 'yaml'   
 agent = Mechanize.new 
 agent.user_agent_alias = "Windows Mozilla" 
 agent.get('
http://2chb.net/r/tech/1578068134/l50' ) 
 cookie_str = agent.cookies.map{|e| e.set_cookie_value}.join(", ") 
 #puts cookie_str   
 agent2 = Mechanize.new 
 HTTP::Cookie.parse(cookie_str, "
http://2chb.net/r/tech/1578068134/l50" ;).each{ |cookie| agent2.cookie_jar << cookie }   
 cookie_yml = agent.cookies.map{ |e| e.to_yaml }.join 
 #puts cookie_yml   
 agent2.cookie_jar << YAML.load(cookie_yml)   
 #pp agent2.cookie_jar   
 agent2.user_agent_alias = "Windows Mozilla" 
 page = agent2.get('
http://2chb.net/r/tech/1578068134/l50' )     
 form = page.form_with(:action=>'//mevius.5ch.net/test/bbs.cgi') 
 form.field_with(:name=>'MESSAGE').value = 'テスト' 
 next_page = agent2.submit(form) 
 form2 = next_page.form_with(:action=>'../test/bbs.cgi?guid=ON') 
  そりゃ、個別のページのクッキーを解析したり、大変だよ。 
 >>703   >form = page.form_with(:action=>'//mevius.5ch.net/test/bbs.cgi')   
 >form2 = next_page.form_with(:action=>'../test/bbs.cgi?guid=ON')   
 これらには、https: とか、付いていないけど、動くの? 
  簡単に言えば、serialize と同じなんだろう。 
 agent.getの時点でcookieの情報って得られてるんですね 
 >>705   seleniumはブラウザ操作でmechanizeはhttp解析?みたいな感じですか? 
  >>689   よく調べたわけじゃ無いけど、 
 CSRF, クロスサイトリクエストフォージェリ、サイバー攻撃の一種対策されてるんじゃないかなぁ。   
 つまり、何某かのTokenが5chから送られていて、そいつをPOSTしないといけないとか。   
 5chのサイトからPOSTする時には、<input type=“hidden” value=“Token” name=“CSRF対策”>とかのタグがあって、Submitと共に自動送信される。 
  プログラム板のtest スレと、その確認画面は、どちらも、mevius.5ch.net だから、 
 たぶん、Mechanizeは、Nokogiri みたいなものなんだろう 
 >>712   MechanizeはServerから受け取ったCookieを返すよ。   
 だから、POSTしたパラメータに問題があって上手くいかないのだ。   
 書き込み画面のHTMLからinputタグをscrapingしてhidden属性の付いてるのを探す事が先決。   
 見つかったらそのname, valueを取り出してPOSTパラメータへセットしてやれば良い。 
  seleniumが簡単だが、動作が重い。 
 >>687   これは違う!   
 外部・CP932 → Ruby内部・CP932 → 外部・CP932   
 が正解。 
 Ruby内部は、外部・CP932であればCP932だし、UTF-8なら、それに合わせて、Ruby内部・UTF-8なのだ。 
  大抵のWebサイトのFormは、Formを表示したBrowserからしか、POSTできない様になっている。 
   その仕組みは、ServerがFormを表示するするHTMLを生成する時に、Tokenを埋め込み、そのTokenが帰って来なかったPOSTを弾くと言うものだ。   
 TokenはFormが表示されるごとに変更さる。(one time Token)    
https://html-coding.co.jp/knowhow/security/csrf/   Rails にもある、CSRF のセキュリティー・トークンとかか? 
 >>718   違うんだなぁ。 
 RubyプログラムがいきなりPOSTしても成功しない。 
 一旦Form画面をScrapingすれば良いのだ。 
  >>715   それも違う。RubyはUnicode対応で作られてる 
 だから内部もUnicode 
 Windows側からUTF16で渡された場合はUnicodeで受け取るし 
 ANSIで渡された場合はUnicodeに変換して処理する 
 出力する場合はその反対 
  Ruby の文字列は、混在できる 
 >>719   kan = [ 
  "\xE6\xBC\xA2\xE5\xAD\x97".force_encoding( Encoding::UTF_8 ), 
  "\x8A\xBF\x8E\x9A".force_encoding( Encoding::CP932 ), 
  "\xB4\xC1\xBB\xFA".force_encoding( Encoding::EUC_JP ), 
  "\x1B\x24B4A;z\x1B(B".force_encoding( Encoding::ISO2022_JP ) 
 ] 
 puts kan 
 kan.combination(2){ |a,b| p a == b } 
 kan.size.times{|n| puts kan.inject(''){|r,s| r << s.encode(kan[n].encoding) } } 
 puts kan.map{|s| s.encoding } 
  >>718   解析が大変かどうかはものによる。 
 セッションIDベースのWebアプリならともかく、ログインなしの掲示板なら大したことはないやろ。 
  Rubyをしばらく使ってきたが、やっぱり、ブロックの最後がendであることや、 
 >>727   個人的には、実世界では、能力はかなり高いと評価されているけれど。 
  0, 0.0, 空文字列、空配列、空辞書など、 
 >>728   相対評価は、まわりのレベルがわからんので、なんとも。 
 元コメから判断すると、周辺まるごと低いのかな?と思わざるを得ない。w   
 まあ、たまたま自分が使ってない特定機能をアレコレ言うのはアホに見えるのはたしか。 
  >>729   型のないRubyでそんなことを言われても。w 
 そんなの、たいした違いじゃないよ? 
  >>731   そんなことない。 
 非常に上層のごく一部の人しか入れないところだと言われている。 
  学術の巨大掲示板群 - アルファ・ラボ 
http://x0000.net   数学 物理学 化学 生物学 天文学 地理地学 
 IT 電子 工学 言語学 国語 方言 など   
 VM + ASM を書いた (C#, DX) * x86 ではない! 
 simulationライブラリで純粋な関数式プログラミングをする 
 UIライブラリ (C#, 2D) を作ったよ 
 連続と離散を統一した! 
 4Dエンジン 
 matrixのライブラリ 
 ある強力なFor関数 
 SQLライブラリ   
 VM + ASM のダウンロード  
http://up.x0000.net/files/TSimulang.zip   「実世界では、能力はかなり高いと評価されている」っていう言い回しが最高に知性を感じないんですけど 
 >>736   非常に上層のごく一部の人しか入れないんだぞ! 
  >>736   あんまりちゃんと人と会話したりまともな本とかは読んだことがなくて、丁寧にかつちょっとカッコつけて話そうとしたらラノベとかで覚えた変な言い回ししか出てこなかった、と予想してみる 
  まあ、能力の高いっていうそこのお方は、Youtubeで流行ってる学歴ジャンケンでもして能力を示した方がいいんじゃん? 
 Rubyは、node.jsに比べて、ファイル出力のメソッド名が短いので楽。 
 >>742   「Sync」をあえて表現してるんやろ。 
 ポリシーの問題。 
  ブロックと;省略で 
 >>744   でも、コンピュータ黎明期の非常に古くから open, write は、同期的だったの 
 だから、互換性を考えれば、逆さまにしたのは問題。 
  open, writeといえば、Unix/Linux/Windows/Macでも動作がほぼ同じな 
 >>747   Cとの互換性がー、とか非同期重視のアグレッシブなNode.jsに言うの?w 
  >>748   でもネットワークはファイルじゃないんですよ 
 全てがファイルという設計と言っても 
 その程度のものなんです。 
  >>749   Cとの互換性というより、UnixやWindowsなどのあらゆるOSの基礎の部分との 
 互換性。 
 それくらい、open, writeは、OSの基礎に根ざしていて、勝手に働きを変えるべき 
 じゃない。 
 働きを変えたいなら、変えた方の関数の名前を少し変えるべき。 
 それで十分なのに、名前と働きをさかさまにしてはいけなかった。 
  rubyInstallerでruby 2.7入れたんだがirbのレスポンスがめちゃくちゃ遅くて 
 >>751   いちいちAsyncをつけろというのか? 
 Node.jsのポリシーにあわんやろ。 
 郷に入っては郷に従え。   
 オレも知らんけど。w 
  Node.js は非同期が基本。 
 Windows では、50ms 以上掛かるものは、非同期にするのが基本    
>>752   irb とか、そんな面倒なものは使わない   
 VSCode の拡張機能・Code Runner(Run Code)で、 
 ファイル全体、または、コード片を選択して実行できる 
 VSCodeでCode Runnerね。オーケーオーケー 
 エンジニアチャンネル粟島、9/4 
   プログラミングでYouTube動画の編集作業を自動化する  
 プログラミングで、自動的に無音部分をカットして、動画をつなげる。 
 Python で作ってる   
 皆、何時間も掛かって編集しているから、 
 誰か、Ruby で作って、公開しろ   
 粟島に、スーパー・プログラマーの称号を独り占めさせるのは、癪にさわる 
 ffmpeg 呼んでるだけだから ruby で同じことすればいいだけ 
 粟島に、敵対心むき出しの、凡才プログラマーKBOY に教えてやったら? 
   エンジニアチャンネル粟島   
 【検証】現役プログラマーは30万円の案件を何時間で出来るのか?  
 YouTube API で、指定条件に当てはまる、動画を集める(filtering)のを、Ruby で、1時間で作った。 
 つまり、時給30万円!   
 これも最終的に、30人が応募して、数千円になったらしいがw 
 エンジニアチャンネル・小川 
   【悪用厳禁】Amazonの価格を監視するシステムを作ってみた  
 Amazon のAPI を使って、価格を監視して、LINE へ通知する 
 JSON ファイルの中身が、下のようなユニコード・コードポイントの表示が多くて、読めない 
 >>764   paiza.jp は比較的、新しいバージョンだったと思う   
 puts RUBY_VERSION 
 と入力してみ 
  JSON ファイルをcat しても、変換されませんでした! 
 matlabでのfiltfilt()のように、ゼロ位相デジタルフィルター処理ができる関数はなんでしょうか 
 c@at input.json | pe@rl -@Xpne 's/\\u([0-9a-fA-F]{4})/c@hr(h@ex($1))/eg' 
 Rubyだと、正規表現にマッチした部分を引数にして関数に渡してくれる 
 -Ks -Ke -Ku があるから -Kw もあるはずだろう(驚き最小) 
 >>771   以下のようにすれば、\uXXXX の部分を unicode コードとして文字に直した後のテキストが 
 標準出力に出力されるのではないかと思われる。 
 なお、試して無いので実際に動くかどうかは分からない。 
 $1.to_i(16)は、$1 に入っている文字列を 16進数とみなして整数値に直しているつもり。 
 x.chr は、数値 x を文字コードとして対応する文字に直しているつもり。 
 gsub は、正規表現に合致した部分を後続のブロックの中の $1 に入れて、結果に 
 置換しているつもり。   
 [test.rb]   
 strJson = JSONを読み込んだ文字列;   
 print( strJson.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr  } ); 
  そういうことならJSON.load使えば? 
 >>774   間違いがあった。正しくは、 
 print( strJson.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr("UTF-8") } ); 
  "UTF-8"ではなくて、"UTF16-BE"か、"UTF16-LE"かも知れない。 
 >>775   >>776   でも、正常に動きました。ありがとう。 
 JSON.load で、自動的に読めるようになるのが便利   
 require 'json'   
 json = File.read( "input.json" ) 
 p JSON.load( json )   
 p json.gsub(/\\u(\h{4})/){[$1].pack('H*').unpack('n*').pack('U*')}   
 print( json.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr("UTF-8") } ); 
  👨👩👧👦1コードポイント1文字とは限らないし¥uの後は4桁とは限らないよね👨 
 それなら、単純な正規表現では、ダメ。 
 >>780   全ての文字を utf16 に変換してから、utf8に再変換すればいい気がする。 
 第一段階の変換で、ついでに \uXXXX の部分を 単純に 16BIT 整数に直せばいいはず。 
  👨👩👧👦 は、4つの文字が連結したような感じ 
 もう ruby 関係無いだろ 
 ( line, ary ), line_num 
 初心者です 
 漏れは、WSL, Ubuntu 18.04 を使っているけど、 
 2020-10-06  
 Windows 版Ruby の日本語入力では、 
 >>788   修正   
 >ユーザー環境変数に、RUBYOPT を作って、--encoding=UTF-8 を設定するとか。 
 >ただし、irb が、コマンドプロンプトでは使えなくなるので、 
 >PowerShell しか使えなくなる   
 RUBYOPT に、--encoding=UTF-8 を設定すると、 
 コマンドプロンプト・PowerShell の両方で、irbが起動しなくなる   
 C:/Ruby25-x64/lib/ruby/site_ruby/rbreadline.rb:6135:in `delete': invalid byte sequence in UTF-8   
 コマンドプロンプト・PowerShell の文字コードの設定で、使えるようになるのかな? 
 漏れは、VSCode, Code Runner を使っているから、irbを使っていない 
  >>787   ridk use で切り替えられるから最新版を試すと良い 
 このへんの問題も改善されてたはず 
  RUBYOPT に、--encoding=UTF-8 を設定すると、 
 みんなありがとうございます 
 OS の再起動は、いらないと思う。 
 pryがirb使ってるわけないじゃん。(「irb使う」ってのもよくわからんが) 
 pry, rails console を起動すると、irb が起動されるのかな? と思っていた。 
 RUBYPORT変えてやってみたけどだめでした. 
 >RUBYPORT 
 ただし、RUBYOPT に、--encoding=UTF-8 を設定した場合、 
 >>802   修正   
 >chcp はデフォルトの、CP932 のままにしておく! 
 >65001 にしない   
 RUBYOPT に、--encoding=UTF-8 を設定した場合、 
 CP932/65001 のどちらでも、文字化けしない。正常に動く 
  >>803   ごめん!RUBYOPT変えた! 
 ファイルの設定ってプログラム書いてるテキストファイルの設定ってことですか?どうやって変えるのでしょうか? 一応Rubyopt変えただけだと文字化けしちゃってchcp 65001って実行してプログラム起動させたらコマンドプロンプトは落ちちゃった. PowerShellはもう日本語全部文字化けしちゃった 
  たぶん、エディタの文字コードの設定メニューあたりから、 
 >>799   noreadlineで起動すればいいって言ってんじゃん 
  RUBYOPT に、--encoding=UTF-8 を設定すると、 
 RUBYOPT に、--encoding=UTF-8 を設定すると、 
 Windows では、RUBYOPT の、--encoding=UTF-8 と、irb は両立しない 
 powershellじゃなくてレガシーコンソールのコマンドプロンプトを使わないとダメだったはず 
 >>808   は、PowerShell・コマンドプロンプトのどちらでも、エラーになる 
  4,000行ほどのRubyプログラムをnode.jsに乗り換えようと思ってましたが 
 Rubyはちゃんとしたブロック変数が作りにくいことが欠点だと思っていたのですが 
 >最初の定義時に、let(またはvar)を書くかどうかだけで区別されており 
 YouTube で有名な雑食系エンジニア・KENTA は、 
 KENTA「Rubyに拘泥する奴は伸びない。さっさと他の言語に進め」 
 >>814   Cは、関数スコープというより、ブロックスコープ。 
 Rubyとは違う。 
  VSCodeなどにHTMLのLivePreview機能がありますが、 
 VSCode の拡張機能のLive Server では、Web Extension で、 
 PHP で作る動的ページも表示してるけど、ERB のやり方は分からない    
https://chrome.google.com/webstore/detail/live-server-web-extension/fiegdmejfepffgpnejdinekhfieaogmj?hl=pt-BR     Rails 6 なら、webpack-dev-server が標準 
 >>820   ありがとうございます 
 webpack-dev-server 調べてみます 
  number = "0.072953" 
 どっちも変わらん 
 ありがとう 
 rubyはバージョン上げると前動いたコードが動かないからな。 
 >>826   phpは知らんけど 
 js >> ruby >>> python やろ   
 railsと違ってruby自体は後方互換性かなり高いぞ 
 CLI系なら10年以上前のものでもだいたい問題なく使える   
 pythonも言語自体は後方互換性高いが 
 バージョンごとにdeprecated/removedになるAPIはrubyよりずっと多い 
 それもあってメジャーなライブラリの新バージョン対応は遅くて 
 半年くらい待たないと言語の新しいバージョンを使えないし 
 言語の新バージョン  + ライブラリの旧バージョンの組み合わせだと 
 動かなくなる率が高くてライブラリのAPI変更にも対応しないといけない 
  確かにpythonは2系と3系は隔絶してるけどマイナーバージョンアップでブッ壊れるのはrubyだろ 
 マイナーバージョンアップで後方互換性がぶっ壊れた例 
 >>827   よく考えるとjsもクライアントサイドだけじゃなく 
 サーバーサイドで考えると動かなくなることあるな   
 rubyやpythonに比べて新陳代謝が激しくて 
 10年使い続けたりしないから気にならないだけかも 
  >>829   リリースノートでも読め。 
 標準モジュールの変更とか。 
  >>833   エアプでしたか 
 pythonと違ってrubyでは「標準モジュール」という言い方はしないよ 
  >>835   んな言葉の違いはどうでも。w 
 ま、違いにあたらなければどうということはないから、すきにしろ。   
 実際にあたった人や、心配性にはツラい言語。 
 3以降は、絶対にないレベルにしてほしいものだ。 
 できればPerlレベルに。 
  Ruby が C++ を Hate してるのはホント良く判る 
 >>836   Perlもエアプかいw 
 駱駝道で極楽浄土に行けるといいネ 
  >>838   今やPerl6は存在しないことを知らないの?w 
  >>2   リファクタリング:Rubyエディション (日本語) 単行本、2020/3、 
 Jay Fields/Shane Harvie/Martin Fowler/Kent Beck/長尾 高弘   
 Martin Fowlerの名著『リファクタリング』のRuby対応全面改訂版が、ついに復刊! 
 Kent Beck は、eXtreme Programming(XP)の提唱者   
 Java 版をRubyへ書き直したもの。 
 2010年の復刊。8,800円! 
  ruby初心者です。 
 >>842  さん >>843  さん https://ideone.com/IjTOn4 に記載されていた実装は   >> 844 
 Mix-in とは、何かのモジュールをinclude すると、 
 「Ruby each 実装」「ruby イテレータ 実装」で検索! 
 内部・外部イテレータの違いも、調べてみれば?   
 ruby eachの実装  
https://teratail.com/questions/117974   >>846 さん 
 アドバイスありがとうございました。 
 示していただいたキーワードを使ってネットの情報を読み漁ってました。 
 rubyに関する基本的な文法知識も弱いのですが、デザインパターンという 
 考え方?思想?もわかっていないので、文法の習得と並行して勉強が必要だと 
 感じました。修業します。 
  Mix-in の例で、include Enumerable して、 
 一部のメソッドで、遅延評価できる 
 Enumerableは高階関数とともに脱初心者の一番の目安 
 Ruby の強みは、 
 とうとうperlより下になったかw 
 問題 Rubyを開発したのはだれか 
 答え 2ちゃんねる開発者でもあるひろゆき   
 根拠  
https://programmercollege.jp/column/16456/   初めまして、現在の状況はRuby、Windows 10、 VSCode(エディターのみ)です。 
 >>789   に書いた   
 漏れは、Windows 10, WSL1, Ubuntu 18.04 で、 
 VSCode の拡張機能、Remote WSL も使う   
 WSL2 と言う、Hyper-v を使ったものもあるけど、 
 安定バージョンかどうかは、知らない   
 VSCodeの便利な拡張機能については、VSCodeのスレで聞いてください。 
 本は、徹底解説Visual Studio Code、本間咲来、2019/9   
 漏れのおすすめ拡張機能、Code Runner 
 右クリックメニューから、選択したコード、またはファイル全体を実行する   
 この設定をチェックしておく 
 Code-runner: File Directory As Cwd 
 Whether to use the directory of the file to be executed as the working directory.   
 デバッガーは漏れは、p, pp, tap などで見てる   
 VSCodeの拡張機能では、Ruby というものかな? 
 8個の拡張機能をパックした、Ruby extension pack とか? 
 漏れは、よく知らない   
 gem でインストールするのは、bundler だけ! 
 その後は全て、bundlerでインストールする   
 gemは、依存関係を考慮しなかったっけ? 
 gemでインストールしても、依存関係で動かないかも   
 gem, bundler については、検索して調べてください! 
  g++です 
 そもそもDLLが見つかりません 
 g++ は、GNU の GCC に含まれる、C++コンパイラ。 
 GNU で、Windows 向けのDLL を作るの?   
 RubyInstaller か? 
 MSYS2/MINGW の、RubyInstaller Development Kit(DevKit)有りか? 
 ridk install がどうしたこうしたとか? 
 よく知らないけど    
https://rubyinstaller.org/downloads/     Windows 10, WSL, Linux でコンパイルする方法なら、  
>>789   に書いたけど 
 c++にruby_initを組み込んでみたいです 
 #include <ruby.h> 
 正気? 
 ffi は C や C++ ように作成された共有ライブラリを、 
 Ruby で扱うことができるようにするためのライブラリです   
 libffi を使っているので、事前にインストールが必要です。 
 NativeExtensions を直接扱わずに、C を操作できます   
 ruby ffi 入門  
https://hawksnowlog.blogspot.com/2019/04/getting-started-ruby-ffi.html   C/C++ から、Ruby を呼ぶ方法か 
 Windows では、無理じゃない? 
 Windows使ってるってだけで教祖様の号令一下で石投げられるのがRubyコミュニティだからな 
 C/C++ から Python を呼ぶ方法なんて袋叩きに逢うのが 
 普通は、Ruby から、C 製のNArray みたいな高速なライブラリを呼ぶ 
 まつもと:それから「Backquotes」の地上げも考えていたんですけども、Backquotesをするとシェルで実行して結果を文字列で返すってやつですね。 
   (参加者から「いける、いける」の声)   
 まつもと:なんかあの辺で「いける、いける」って言ってる人がいますけど、信じない(笑)。なので、これももうちょっと先で、もう1回くるかもしれませんが、少なくとも3.0では死なないということです。  
https://logmi.jp/tech/articles/321308     バージョンによって使えてたクォートが使えなくなったりするクソ言語 
 Python 2/3 のコミュニティーの分断は、地獄だった 
 マイナーバージョンで細切れ分断してるからな。 
 >>882   >C/C++ から Python を呼ぶ方法なんて袋叩きに逢うのが Python コミュニティ 
 初めて聴いたけどどこ情報? 
  >>881   「私がWindowsを嫌っているのではなく、WindowsがRubyを嫌っているのだ。だからWindowsを使ってはいけない。」と教組様が言ってたけど。 
  教祖も言ってるけど 
 エラーが出たので助けてほしいです… 
 エラーが出たので教えてほしいです… 
 >>865   $ export PKG_CONFIG_PATH="$HOME/.rbenv/versions/2.7.2/lib/pkgconfig" 
 $ gcc $(pkg-config --cflags --libs ruby-2.7) hello.c -o hello   
 上の例はWindowsじゃなくmacOSでrbenv使ってる環境だけど 
 Windowsでも.pcファイルあると思うからpkg-configで必要なオプション取得すれば良いと思うよ 
  拡張ライブラリについての質問です 
 VALUE, FIX2INT, RARRAY, rb_ary_entry 
 Ruby では、ary[offset] だろ。 
 やっと解りました。。。 
 ocraを実行してexe化したのですが、 
 フォルダ名に日本語混ざってるとocra使えないからそれかもね 
 日本語Windows環境ならocraよりneri使ったほうがいいと思うよ 
 どちらもだめでした 
 最近同じエラー吐いてる人が多いからマルチバイト文字とかじゃなくてocraのバグじゃね 
 ひょっとして、フォルダ名・PC のユーザー名に、日本語を使っていないか? 
 日本語じゃないって否定してんのに直前のレスも読めねーのか 
 https://stackoverflow.com/questions/64368535/ruby-compile-with-ocra-error-libssp-0-dll-not-found     Maybe you don't have the libssp-0.dll file installed. 
 You can download it from 
https://www.dll-files.com/libssp-0.dll.html   then placing the file where the error says. 
 neriのエラー 
 こっちは64bit windows10でneri使えてるけどなぁ 
 2.4で動きました 
 自分でエラーを作っているから、原因は君にしか分からない 
 文字列内にある、URL を抜き出す、URI.extract、 
 または、正規表現のURI.regexp は、   
 Ruby 2.2 から obsolete になっているけど、 
 それに代わるものは、何ですか?   
 require 'uri'   
 URI.extract("文字列", ['http','https'] )   
 p URI.regexp =~ "
http://www.ruby-lang.org/" ;  #=> 0 
 >>912   neriでexe化できました 
 ocraは相変わらずですが 
 ありがとうございました! 
  >>913   text ="  
http://www.ruby-lang.org/   " 
 text.scan(URI.regexp).map { Regexp.last_match }.each { |uy| 
   puts uy 
 } 
  text.scan(URI.regexp){|v| puts '%s://%s' % [v.shift, v.compact.join]} 
 text.scan( URI.regexp ){ |v| p v } 
 https://bugs.ruby-lang.org/issues/2542   はっきりした理由は書いてないけど 
 RFC2396自体がobsoleteになって新しくRFC3986/3987対応のregex考えるの大変だから 
 URI.extract/URI.regexpはobsoleteになったように見える   
 なので今の仕様で問題ないなら使えばいいんじゃないかって気がする 
 warningを避けたいならURI::DEFAULT_PARSER.extractを直接使ってもいいけど中身は同じ 
 もう少しちゃんとしたのがよければtwitter-textのExtractor.extract_urls 
  qiitaにRFC3986対応の正規表現とか出てるけどそんな大変なのかね 
 多言語対応まで考えるとややこしいから、すっぱりあきらめたんやろ。 
 RFC3986に準拠したURI検証用正規表現 
 https://qiita.com/shimataro999/items/fced9665fa970c009c1e     HTTP/HTTPS の所には、こういうのが出てくるから、これらが特殊文字なんだろう。 
 もっと簡単な正規表現で良い   
 終了点を知りたい。ある文字が出たら、そこで終わりみたいな。 
 URL で使われない文字   
 ^https?:\/\/   
 |[!$&'()*+,;=]|:)*@)? 
 |[!$&'()*+,;=])*)(:\d*)? 
 |[!$&'()*+,;=]|:)+ 
 |[!$&'()*+,;=]|[:@]))*)*   
 [-._~] 
 コンテンツをファイルに書きこみながら、同時にハッシュ値も求める場合、 
 RailsチュートリアルをRubyの言語自体の入門書としてみた場合、一般的な入門書の何割ぐらいをカバーしてるものなのですか? 
 Rails チュートリアルは軽く「たのしいRuby」の10倍以上はある 
 そして、それでいて文法やメソッドなどの基礎的なところをすっとばしている可能性が。w 
 入門書で文法を学んだら、Enumerable のメソッドの内容を見てから、 
 3割くらいじゃね 
 ちょ、DateTimeがdeprecatedになってるんですが・・・ 
 2.5からだね 
 な?ww 
 >>933   2.5からというソースある? 
 9末に特にアナウンスもなく変更されてるように見えるんだけど  
https://github.com/rurema/doctree/commit/0645aad1d9107fa4020269f12ca9a21ec6bd859c     deprecatedになっても削除されるものじゃないから実害はないんだけど 
 さすがにこれはやり方が乱暴 
  DateTime は非推奨で、代わりに、Time を使うこと。 
 deprecatedで混乱するもんなの? 
 Ruby開発勢ならなんでいきなりdeprecatedになってるんだ?って 
 その身朽ちても仕様変更の激しい言語の代名詞としてruby生き残ったりして 
 rails自体によるdeprecatedなんていくらでもあるしそんなに騒ぐようなものでは無い 
 名実ともにrailsが本体、rubyはそのバッテリーだなwww 
 >>937   ソースの 
https://github.com/rurema/doctree/blob/master/refm/api/src/date/DateTime  では 
 バージョンに関係なく deprecated になってるから、まだ変更が反映されてないだけですね   
 require 'open-uri' 
  %W[ 2.3.0 2.4.0 2.5.0 2.6.0 2.7.0 ].each{|ver| 
   open( "
https://docs.ruby-lang.org/ja/# {ver}/class/DateTime.html" ) {|f| 
    puts "#{ver}  #{( f.read.force_encoding( Encoding::UTF_8 ).match( /\bdeprecated\b/ ) )? "true ": "false"}  #{f.last_modified.localtime.strftime( '%Y/%m/%d %T %z' )}" 
   } 
  } 
 #=> 
 2.3.0  false  2018/08/19 18:16:47 +0900 
 2.4.0  false  2020/04/10 09:17:55 +0900 
 2.5.0  true   2020/10/25 09:17:38 +0900 
 2.6.0  true   2020/10/25 09:17:11 +0900 
 2.7.0  true   2020/10/25 09:16:43 +0900    
>>935  仰るとおり、9月の変更が反映されているかどうかのようです 
  先日のURIのやつもそうだけど、過剰でもう手におえなさそうな実装を切ろうとしてんのかな。 
 >>945   なるほど、2.4はサポート切れてるから2.5以降だけリファレンスを更新したんだろうね   
 Railsとか本番で使うシステムは特殊な用途以外はTimeかTimeWithZone使ってるから別にいいんだろうけど 
 ちょっとしたツールでactivesupport使うまでもないようなものはTimeじゃなくDateTime使うことが多かったから 
 急にdeprecatedになってて驚いた 
  deprecatedで驚くのは中級以上の証 
 ルビー初心者なんですがうまく動かなくて悩んでいます。 
 >>949   OSとruby -vの結果とエラーログを貼ってください。 
  ありがとうございます 
 current_user情報の保持はRsquestStoreを使っています 
 Rails 4.2 は古い 
 同じ本に、default_scope は使うなって書いてある 
 >>953   まずはcurrent_userを設定してるところに問題ないか見直したほうがいいんじゃね? 
  anemoneが更新されていないのですが、 
 DBロールバックっていつ使うんすか? 
 >>960   トランザクションの基礎を勉強しなさい 
 アプリを実際に作りなさい 
 経験がなさすぎる 
  >>961   あーそっちのロールバックじゃなくてマイグレのロールバックな 
  >>962   それは「Ruby」「初心者」スレで聞くことなのか? 
  >>960   もし戻す必要が出た場合にそれまでの間に追加・更新されたデータをどうするか先に考えておく必要がある 
 NOT NULLに戻す場合はchange_column_nullだけで対処可能だからそんなに問題にならない 
 バックアップから戻したら追加・更新されたデータが消える 
  >>963   初心者といったらruby 
 rubyといったらrails 
 railsといったらmigration 
  >>964   ふむ 
 マイグレのセマンティクスをよく考えて個別にロールバックを実装していくしかないのかな 
 でもそれだとロールバック実装コストがかなり高く付きそうではあるな 
 どうせロールバックは緊急時にしか使わないわけであって 
 だったらロールバックは捨ててバックアップリストアでもいいんじゃないかなと 
  >>966   実装しないとしても戻す必要が出た場合にどう対応するのかを事前に検討しておく 
 検討の結果、実装しない選択をするんであればいいけど 
 何も考えずバックアップリストアでいいとか言ってると確実にGoToトラブル   
 ロールバック時に必要な対応も考慮して 
 アプリは戻してもDBは戻さなくていいような方法を取ることもよくある 
  .そもそも戻す必要性を可能な限り無くすために実データレプリカを含む膨大なデータセットでテストする 
 1. まず、これから更新するデータを、ジャーナルに書き込む 
 Kubernetes では、ネットワーク分断に備えて、 
 AWS S3 では、3重に記録してる 
 Software Design 12月号は、Docker, AWS 特集だけど、 
 クラスメソッドの社員が、AWS 主要サービスを紹介している   
 クラスメソッドには会社全体で、AWS の800資格を持ち、 
 12資格すべてを持つ、マスターが7人いる   
 MySQL・PostgreSQL 互換のAurora について、 
 1つのAZ(データセンター)毎に、2つずつ、合計3つのAZで6重にしてる。 
 Primary に2つと、Read Replica 2つに、2つずつ    
>>2   Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11/25   
 宇宙開発などの組み込み用、Lua, Squirrel の代替になる。 
 Ubuntu 18.04, C99 対応 
 (u_・y)言うほどRubyで書いた制御システム詰んだ宇宙船に乗りたいか? 
 F-15はエイダ、F-22、F-35はC++で書かれてる。 
 Ruby VM では、1秒間に、100万回ループすると、 
 いや指定した数だけループしろよ 
 Rubyを使ってunityでゲームを作る事は可能ですか? 
 何その苦行 
 >>981   現実的に不可能。   
 Ruby→C#トランスレータが存在すれば可能かも?w 
  何その苦行 
 >>983   Rubyからunityを呼び出せば原理的には可能じゃないの? 
 そんなめんどくさいことを誰がやるのかという問題はあるけど 
  >>986   それのどこが「Rubyを使ってunityでゲームを作る事」なの? 
  松原案件でRuby松本メルカリ弟は絶対死亡になりました 
 Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11/25 
   この本を読んだ印象では、 
 宇宙開発などの組み込み用、Lua, Squirrel の代替になる   
 Apache などのミドルウェアに組み込んで、拡張機能を作る。 
 ロジック・文字列処理は、C よりも、GC のあるmrubyでやった方が、安全性が高い   
 Unity, Xamarin は、Mono か。 
 Mono とは、Linux で、C# を動かす、.NET 用のOSS    
 Mono に組み込んで使えるかも知れない   
 次スレ   
 Ruby 初心者スレッド Part 67  
http://2chb.net/r/tech/1608837867/l50   mrubyの本にmrubyは使い物になりませんなんて書いてあるわけないだろ 
 mruby で作った、小型人工衛星イザナミの打ち上げが成功した! 
 デスクトップにショートカットを作って、 
 autoload は、モジュールを使う場合にだけ、require されて、 
 >>989   次スレありがとう! 
 こっち埋めておくね 
 
ID:JONuvCWb0のレス一覧:  >>689   よく調べたわけじゃ無いけど、 
 CSRF, クロスサイトリクエストフォージェリ、サイバー攻撃の一種対策されてるんじゃないかなぁ。   
 つまり、何某かのTokenが5chから送られていて、そいつをPOSTしないといけないとか。   
 5chのサイトからPOSTする時には、<input type=“hidden” value=“Token” name=“CSRF対策”>とかのタグがあって、Submitと共に自動送信される。 
  プログラム板のtest スレと、その確認画面は、どちらも、mevius.5ch.net だから、 
 たぶん、Mechanizeは、Nokogiri みたいなものなんだろう 
 >>712   MechanizeはServerから受け取ったCookieを返すよ。   
 だから、POSTしたパラメータに問題があって上手くいかないのだ。   
 書き込み画面のHTMLからinputタグをscrapingしてhidden属性の付いてるのを探す事が先決。   
 見つかったらそのname, valueを取り出してPOSTパラメータへセットしてやれば良い。 
  seleniumが簡単だが、動作が重い。 
 >>687   これは違う!   
 外部・CP932 → Ruby内部・CP932 → 外部・CP932   
 が正解。 
 Ruby内部は、外部・CP932であればCP932だし、UTF-8なら、それに合わせて、Ruby内部・UTF-8なのだ。 
  大抵のWebサイトのFormは、Formを表示したBrowserからしか、POSTできない様になっている。 
   その仕組みは、ServerがFormを表示するするHTMLを生成する時に、Tokenを埋め込み、そのTokenが帰って来なかったPOSTを弾くと言うものだ。   
 TokenはFormが表示されるごとに変更さる。(one time Token)    
https://html-coding.co.jp/knowhow/security/csrf/   Rails にもある、CSRF のセキュリティー・トークンとかか? 
 >>718   違うんだなぁ。 
 RubyプログラムがいきなりPOSTしても成功しない。 
 一旦Form画面をScrapingすれば良いのだ。 
  >>715   それも違う。RubyはUnicode対応で作られてる 
 だから内部もUnicode 
 Windows側からUTF16で渡された場合はUnicodeで受け取るし 
 ANSIで渡された場合はUnicodeに変換して処理する 
 出力する場合はその反対 
  Ruby の文字列は、混在できる 
 >>719   kan = [ 
  "\xE6\xBC\xA2\xE5\xAD\x97".force_encoding( Encoding::UTF_8 ), 
  "\x8A\xBF\x8E\x9A".force_encoding( Encoding::CP932 ), 
  "\xB4\xC1\xBB\xFA".force_encoding( Encoding::EUC_JP ), 
  "\x1B\x24B4A;z\x1B(B".force_encoding( Encoding::ISO2022_JP ) 
 ] 
 puts kan 
 kan.combination(2){ |a,b| p a == b } 
 kan.size.times{|n| puts kan.inject(''){|r,s| r << s.encode(kan[n].encoding) } } 
 puts kan.map{|s| s.encoding } 
  >>718   解析が大変かどうかはものによる。 
 セッションIDベースのWebアプリならともかく、ログインなしの掲示板なら大したことはないやろ。 
  Rubyをしばらく使ってきたが、やっぱり、ブロックの最後がendであることや、 
 >>727   個人的には、実世界では、能力はかなり高いと評価されているけれど。 
  0, 0.0, 空文字列、空配列、空辞書など、 
 >>728   相対評価は、まわりのレベルがわからんので、なんとも。 
 元コメから判断すると、周辺まるごと低いのかな?と思わざるを得ない。w   
 まあ、たまたま自分が使ってない特定機能をアレコレ言うのはアホに見えるのはたしか。 
  >>729   型のないRubyでそんなことを言われても。w 
 そんなの、たいした違いじゃないよ? 
  >>731   そんなことない。 
 非常に上層のごく一部の人しか入れないところだと言われている。 
  学術の巨大掲示板群 - アルファ・ラボ 
http://x0000.net   数学 物理学 化学 生物学 天文学 地理地学 
 IT 電子 工学 言語学 国語 方言 など   
 VM + ASM を書いた (C#, DX) * x86 ではない! 
 simulationライブラリで純粋な関数式プログラミングをする 
 UIライブラリ (C#, 2D) を作ったよ 
 連続と離散を統一した! 
 4Dエンジン 
 matrixのライブラリ 
 ある強力なFor関数 
 SQLライブラリ   
 VM + ASM のダウンロード  
http://up.x0000.net/files/TSimulang.zip   「実世界では、能力はかなり高いと評価されている」っていう言い回しが最高に知性を感じないんですけど 
 >>736   非常に上層のごく一部の人しか入れないんだぞ! 
  >>736   あんまりちゃんと人と会話したりまともな本とかは読んだことがなくて、丁寧にかつちょっとカッコつけて話そうとしたらラノベとかで覚えた変な言い回ししか出てこなかった、と予想してみる 
  まあ、能力の高いっていうそこのお方は、Youtubeで流行ってる学歴ジャンケンでもして能力を示した方がいいんじゃん? 
 Rubyは、node.jsに比べて、ファイル出力のメソッド名が短いので楽。 
 >>742   「Sync」をあえて表現してるんやろ。 
 ポリシーの問題。 
  ブロックと;省略で 
 >>744   でも、コンピュータ黎明期の非常に古くから open, write は、同期的だったの 
 だから、互換性を考えれば、逆さまにしたのは問題。 
  open, writeといえば、Unix/Linux/Windows/Macでも動作がほぼ同じな 
 >>747   Cとの互換性がー、とか非同期重視のアグレッシブなNode.jsに言うの?w 
  >>748   でもネットワークはファイルじゃないんですよ 
 全てがファイルという設計と言っても 
 その程度のものなんです。 
  >>749   Cとの互換性というより、UnixやWindowsなどのあらゆるOSの基礎の部分との 
 互換性。 
 それくらい、open, writeは、OSの基礎に根ざしていて、勝手に働きを変えるべき 
 じゃない。 
 働きを変えたいなら、変えた方の関数の名前を少し変えるべき。 
 それで十分なのに、名前と働きをさかさまにしてはいけなかった。 
  rubyInstallerでruby 2.7入れたんだがirbのレスポンスがめちゃくちゃ遅くて 
 >>751   いちいちAsyncをつけろというのか? 
 Node.jsのポリシーにあわんやろ。 
 郷に入っては郷に従え。   
 オレも知らんけど。w 
  Node.js は非同期が基本。 
 Windows では、50ms 以上掛かるものは、非同期にするのが基本    
>>752   irb とか、そんな面倒なものは使わない   
 VSCode の拡張機能・Code Runner(Run Code)で、 
 ファイル全体、または、コード片を選択して実行できる 
 VSCodeでCode Runnerね。オーケーオーケー 
 エンジニアチャンネル粟島、9/4 
   プログラミングでYouTube動画の編集作業を自動化する  
 プログラミングで、自動的に無音部分をカットして、動画をつなげる。 
 Python で作ってる   
 皆、何時間も掛かって編集しているから、 
 誰か、Ruby で作って、公開しろ   
 粟島に、スーパー・プログラマーの称号を独り占めさせるのは、癪にさわる 
 ffmpeg 呼んでるだけだから ruby で同じことすればいいだけ 
 粟島に、敵対心むき出しの、凡才プログラマーKBOY に教えてやったら? 
   エンジニアチャンネル粟島   
 【検証】現役プログラマーは30万円の案件を何時間で出来るのか?  
 YouTube API で、指定条件に当てはまる、動画を集める(filtering)のを、Ruby で、1時間で作った。 
 つまり、時給30万円!   
 これも最終的に、30人が応募して、数千円になったらしいがw 
 エンジニアチャンネル・小川 
   【悪用厳禁】Amazonの価格を監視するシステムを作ってみた  
 Amazon のAPI を使って、価格を監視して、LINE へ通知する 
 JSON ファイルの中身が、下のようなユニコード・コードポイントの表示が多くて、読めない 
 >>764   paiza.jp は比較的、新しいバージョンだったと思う   
 puts RUBY_VERSION 
 と入力してみ 
  JSON ファイルをcat しても、変換されませんでした! 
 matlabでのfiltfilt()のように、ゼロ位相デジタルフィルター処理ができる関数はなんでしょうか 
 c@at input.json | pe@rl -@Xpne 's/\\u([0-9a-fA-F]{4})/c@hr(h@ex($1))/eg' 
 Rubyだと、正規表現にマッチした部分を引数にして関数に渡してくれる 
 -Ks -Ke -Ku があるから -Kw もあるはずだろう(驚き最小) 
 >>771   以下のようにすれば、\uXXXX の部分を unicode コードとして文字に直した後のテキストが 
 標準出力に出力されるのではないかと思われる。 
 なお、試して無いので実際に動くかどうかは分からない。 
 $1.to_i(16)は、$1 に入っている文字列を 16進数とみなして整数値に直しているつもり。 
 x.chr は、数値 x を文字コードとして対応する文字に直しているつもり。 
 gsub は、正規表現に合致した部分を後続のブロックの中の $1 に入れて、結果に 
 置換しているつもり。   
 [test.rb]   
 strJson = JSONを読み込んだ文字列;   
 print( strJson.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr  } ); 
  そういうことならJSON.load使えば? 
 >>774   間違いがあった。正しくは、 
 print( strJson.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr("UTF-8") } ); 
  "UTF-8"ではなくて、"UTF16-BE"か、"UTF16-LE"かも知れない。 
 >>775   >>776   でも、正常に動きました。ありがとう。 
 JSON.load で、自動的に読めるようになるのが便利   
 require 'json'   
 json = File.read( "input.json" ) 
 p JSON.load( json )   
 p json.gsub(/\\u(\h{4})/){[$1].pack('H*').unpack('n*').pack('U*')}   
 print( json.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr("UTF-8") } ); 
  👨👩👧👦1コードポイント1文字とは限らないし¥uの後は4桁とは限らないよね👨 
 それなら、単純な正規表現では、ダメ。 
 >>780   全ての文字を utf16 に変換してから、utf8に再変換すればいい気がする。 
 第一段階の変換で、ついでに \uXXXX の部分を 単純に 16BIT 整数に直せばいいはず。 
  👨👩👧👦 は、4つの文字が連結したような感じ 
 もう ruby 関係無いだろ 
 ( line, ary ), line_num 
 初心者です 
 漏れは、WSL, Ubuntu 18.04 を使っているけど、 
 2020-10-06  
 Windows 版Ruby の日本語入力では、 
 >>788   修正   
 >ユーザー環境変数に、RUBYOPT を作って、--encoding=UTF-8 を設定するとか。 
 >ただし、irb が、コマンドプロンプトでは使えなくなるので、 
 >PowerShell しか使えなくなる   
 RUBYOPT に、--encoding=UTF-8 を設定すると、 
 コマンドプロンプト・PowerShell の両方で、irbが起動しなくなる   
 C:/Ruby25-x64/lib/ruby/site_ruby/rbreadline.rb:6135:in `delete': invalid byte sequence in UTF-8   
 コマンドプロンプト・PowerShell の文字コードの設定で、使えるようになるのかな? 
 漏れは、VSCode, Code Runner を使っているから、irbを使っていない 
  >>787   ridk use で切り替えられるから最新版を試すと良い 
 このへんの問題も改善されてたはず 
  RUBYOPT に、--encoding=UTF-8 を設定すると、 
 みんなありがとうございます 
 OS の再起動は、いらないと思う。 
 pryがirb使ってるわけないじゃん。(「irb使う」ってのもよくわからんが) 
 pry, rails console を起動すると、irb が起動されるのかな? と思っていた。 
 RUBYPORT変えてやってみたけどだめでした. 
 >RUBYPORT 
 ただし、RUBYOPT に、--encoding=UTF-8 を設定した場合、 
 >>802   修正   
 >chcp はデフォルトの、CP932 のままにしておく! 
 >65001 にしない   
 RUBYOPT に、--encoding=UTF-8 を設定した場合、 
 CP932/65001 のどちらでも、文字化けしない。正常に動く 
  >>803   ごめん!RUBYOPT変えた! 
 ファイルの設定ってプログラム書いてるテキストファイルの設定ってことですか?どうやって変えるのでしょうか? 一応Rubyopt変えただけだと文字化けしちゃってchcp 65001って実行してプログラム起動させたらコマンドプロンプトは落ちちゃった. PowerShellはもう日本語全部文字化けしちゃった 
  たぶん、エディタの文字コードの設定メニューあたりから、 
 >>799   noreadlineで起動すればいいって言ってんじゃん 
  RUBYOPT に、--encoding=UTF-8 を設定すると、 
 RUBYOPT に、--encoding=UTF-8 を設定すると、 
 Windows では、RUBYOPT の、--encoding=UTF-8 と、irb は両立しない 
 powershellじゃなくてレガシーコンソールのコマンドプロンプトを使わないとダメだったはず 
 >>808   は、PowerShell・コマンドプロンプトのどちらでも、エラーになる 
  4,000行ほどのRubyプログラムをnode.jsに乗り換えようと思ってましたが 
 Rubyはちゃんとしたブロック変数が作りにくいことが欠点だと思っていたのですが 
 >最初の定義時に、let(またはvar)を書くかどうかだけで区別されており 
 YouTube で有名な雑食系エンジニア・KENTA は、 
 KENTA「Rubyに拘泥する奴は伸びない。さっさと他の言語に進め」 
 >>814   Cは、関数スコープというより、ブロックスコープ。 
 Rubyとは違う。 
  VSCodeなどにHTMLのLivePreview機能がありますが、 
 VSCode の拡張機能のLive Server では、Web Extension で、 
 PHP で作る動的ページも表示してるけど、ERB のやり方は分からない    
https://chrome.google.com/webstore/detail/live-server-web-extension/fiegdmejfepffgpnejdinekhfieaogmj?hl=pt-BR     Rails 6 なら、webpack-dev-server が標準 
 >>820   ありがとうございます 
 webpack-dev-server 調べてみます 
  number = "0.072953" 
 どっちも変わらん 
 ありがとう 
 rubyはバージョン上げると前動いたコードが動かないからな。 
 >>826   phpは知らんけど 
 js >> ruby >>> python やろ   
 railsと違ってruby自体は後方互換性かなり高いぞ 
 CLI系なら10年以上前のものでもだいたい問題なく使える   
 pythonも言語自体は後方互換性高いが 
 バージョンごとにdeprecated/removedになるAPIはrubyよりずっと多い 
 それもあってメジャーなライブラリの新バージョン対応は遅くて 
 半年くらい待たないと言語の新しいバージョンを使えないし 
 言語の新バージョン  + ライブラリの旧バージョンの組み合わせだと 
 動かなくなる率が高くてライブラリのAPI変更にも対応しないといけない 
  確かにpythonは2系と3系は隔絶してるけどマイナーバージョンアップでブッ壊れるのはrubyだろ 
 マイナーバージョンアップで後方互換性がぶっ壊れた例 
 >>827   よく考えるとjsもクライアントサイドだけじゃなく 
 サーバーサイドで考えると動かなくなることあるな   
 rubyやpythonに比べて新陳代謝が激しくて 
 10年使い続けたりしないから気にならないだけかも 
  >>829   リリースノートでも読め。 
 標準モジュールの変更とか。 
  >>833   エアプでしたか 
 pythonと違ってrubyでは「標準モジュール」という言い方はしないよ 
  >>835   んな言葉の違いはどうでも。w 
 ま、違いにあたらなければどうということはないから、すきにしろ。   
 実際にあたった人や、心配性にはツラい言語。 
 3以降は、絶対にないレベルにしてほしいものだ。 
 できればPerlレベルに。 
  Ruby が C++ を Hate してるのはホント良く判る 
 >>836   Perlもエアプかいw 
 駱駝道で極楽浄土に行けるといいネ 
  >>838   今やPerl6は存在しないことを知らないの?w 
  >>2   リファクタリング:Rubyエディション (日本語) 単行本、2020/3、 
 Jay Fields/Shane Harvie/Martin Fowler/Kent Beck/長尾 高弘   
 Martin Fowlerの名著『リファクタリング』のRuby対応全面改訂版が、ついに復刊! 
 Kent Beck は、eXtreme Programming(XP)の提唱者   
 Java 版をRubyへ書き直したもの。 
 2010年の復刊。8,800円! 
  ruby初心者です。 
 >>842  さん >>843  さん https://ideone.com/IjTOn4 に記載されていた実装は  レス:1-200  201-400  401-600  601-800  801-1000  ALL  
このスレへの固定リンク: http://5chb.net/r/tech/1578068134/ ヒント: http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。TOPへ  TOPへ   
 
	  
全掲示板一覧  この掲示板へ  人気スレ  | 
	Youtube  動画  
	>50  
	>100  
	>200  
	>300  
	>500  
	>1000枚  
	新着画像 ↓「Ruby 初心者スレッド Part 66 YouTube動画>16本 ->画像>3枚 」 を見た人も見ています:・【野球】オリックスが優勝パレード 「待ち望んだ日」大阪・御堂筋に光と歓声  [ひかり★] 【雑誌】週刊少年チャンピオン速報スレッドVer.79042【ネタバレ】  「無礼者!戻れ!」とジャーナリストが斎藤知事へ 第三者委の「漏えい指示」指摘後初の定例会見で怒号  [夜のけいちゃん★] 【MTG】コモンデッキ・Pauperスレpart27 	 ( ’w’)(*‘ _ゝ‘)【天使】ハロヲタがマリウス葉と松島聡を応援するスレッド85.1【まっつー】( ^ w^)(*^ _ゝ^)☆.+。.:・゚ ・ ・ 	 《本スレ》よっさんこと森義之容疑者アンチスレ懲役211年《厳しい包茎のドリチン野郎》 [広域避難所] 	 【軍事技術】ロシアで実戦配備間近、スクラムジェット極超音速巡航ミサイル「ツィルコン」の形状と性能の推定  [すらいむ★] 【K防疫失敗】韓国のコロナ感染者 2日連続63人増=首都圏と光州に集中  【テレビ】上沼恵美子『おしゃべりクッキング』27年の歴史に幕「本当に幸せでした」 最後の料理は親子丼  [爆笑ゴリラ★] 【転売ヤー死亡】日本政府、来週にもマスクを転売した者に「5年以下の懲役、または、300万円以下の罰金」を科すことを検討 ★19  【速報】嫌儲の姫のドブマンさん、46歳の彼氏と結婚www住まいはエレベーター無しの団地4Fに決定する   阪急車両は遮光ガラス+ブラインドで日除け対策バッチリやな  【死者冒涜】サトシアンチスレ21【20周年】 	 【相撲】大相撲一月場所十四日目 栃ノ心初優勝!ジョージア出身力士初快挙・春日野部屋46年ぶりV! 鶴竜また引いた4連敗★2 	 魔法使いと黒猫のウィズ 無課金・微課金スレ6948  【記者会見】<菅首相>緊急事態宣言の解除基準について「そのときの状況を考え、総合的に判断する。対策を徹底して結果を出したい」  [Egg★] 【核酸増幅法】8度のPCR検査でいずれも陰性だった女性、新型コロナ感染確認=中国ネット「早くほかの検査方法を…」[2/25]  12~14歳の少年、計6人にお金を支払ってセックス。逮捕・起訴された中学校の先生(31歳)。懲役2年6か月、執行猶予3年の有罪判決   【社会】「猫殺した容疑者に懲役刑を」3万7千人分の署名集まる 東京地検に提出★8  	 日本人観光客ら16人死傷の韓国・釜山射撃場火災から10年 唯一の生存者語る 	 【速報】千葉・松戸市のベトナム国籍小学3年女児(リンさん)殺害 保護者会の元会長に無期懲役の判決−千葉地裁★2 	 白のAMGとシルビアを乗り回し大黒PAにも出没してたポン中女車カスに懲役5年。職質逃れで歩行者轢き殺し  【サッカー】<あらためて、ハリルJは限界>欧州遠征は見切りをつけるラストチャンス!コミュニケーション能力のなさは深刻	 【神戸地裁】働かず家に引きこもる息子の将来を心配して叱責した父親に逆ギレし包丁で 刺  殺した男(30)に懲役12年 	 【岸田悲報】レストランでぬいぐるみを並べて写真撮る女オタク、キモすぎて炎上xwxwxwxxwxwxwxw終わりだよこの国   【スイーツ・腐女・ゲイなりすまし】おっさんずラブ総合晒し&ヲチスレ【絵師・物書き】 	 【ツイッター】橋下徹氏、チャンネル桜・水島聡氏に著書批判され激怒「保守だと喚く連中に限って日本人としての礼節を知らない」★2 	 【悲報】「青森県」、東北屈指の絶望県に。街には年寄りしかおらず平均寿命、自殺率もワースト。   【環境】南アジア、地球温暖化に歯止めをかけるための対策を何も講じなければ2100年に「生存不可能レベル」の猛暑に	 【滋賀】長女に淫らな行為を繰り返したお父さんに検察が懲役7年求刑 監護者性交罪 弁護士「被告は反省している」 	 【フランス】 日光で不明の仏女性の妹、安倍首相に直訴 自身は記者 2018/10/18 	 【速報】桐生の9秒台の快挙に「サニブラウンやケンブリッジより先で良かった」と祝福の声  スラダン聖地で観光公害深刻化「外国人に注意すると威嚇される」13日から対策実験   日本国旗を振りながら「慰安婦は売春婦」と発言した男に暴言浴びせた韓国メディアの代表…検察が懲役1年を求刑 [3/14]  [ばーど★] 藤本ミキティ「ネットで叩かれてるの見ても全然平気、こんなこと言ってる人より幸せだわって常に思ってる」  移籍・レンタル・戦力外「ら」スレ Part13816  【FFBE】FINAL FANTASY BRAVE EXVIUS 1920 【祝FF30周年はご確認下さい】 	 【悲報】香山リカ「ネトウヨは大村リコールに命がけで署名した。リスクは必然だから弊害は受け入れろ」   女子大生死体遺棄事件の容疑者、「3人目かぁ」など複数殺害をほのめかすツイートは嘘松でしたと供述   連続レイプで懲役21年のNHK記者、控訴審でも断然無罪を主張 現場に残されたDNAは俺のもんじゃないと言い張る 	  【ツイフェミ】自称フェミニスト観察スレ Part.79【アンチ男性】  【観光庁】訪日客半年で過去最多1375万人。韓国がけん引、4〜6月の消費は1兆円超	 なぜメディアは「韓国でコメを買う日本人観光客が急増」と伝えたのか   【さいたま地裁】義父に懲役16年 小4男児殺害 首を電気コードで締め付け殺害し、隣室の電気水道設備室内に遺体を遺棄  [首都圏の虎★] 建売住宅、中古住宅買う人、リフォーム予定の人が集まるスレ  Part.16  ボンバーガール BOMBERGIRL 愚痴スレ50  【元次官長男殺害】検察、懲役8年求刑…「いま幸せです」と書いていた長男の人生を奪う権利は誰にもない。酌量の余地は乏しい ★5 	 【大阪】統合失調症の43歳娘を殺害 87歳父と70歳母に懲役3年の実刑判決…娘は金使い荒く、年金使われ、貯蓄が尽き  【EV】トヨタ、テスラと提携解消 株売却、EV共同開発も終了 	 【NHK】桑子真帆アナ、小澤征悦との熱愛で「ノーマスク外出」が発覚! NHKエースが炎上  楽器破壊パフォーマンスについてどう思いますか?  【北ミサイル】Jアラート、受け手に困惑も…地下への避難を求められても「青森に地下なんてほとんどない。どこに逃げたらいいのか」★4 	 【札幌市第三セクター】日本ハムを追い出した札幌ドームが、大赤字で日本ハム誘致へ  [和三盆★] 【埼玉】41歳無職男に懲役20年求刑 ネットカフェ立てこもり さいたま地裁 [シャチ★] 日本人観光客「財布落としましたよ」アメリカ人「イヤアアアア泥棒!」バンッ  【NGT48】NGT、12人のメンバーが一部のファンと私的に接触 暴行事件第三者委が認定 	 【日本】電子査証、20年春初導入へ 政府、中国人観光客対象 	 【裸で来るな】中国人観光客が日本でトラブルに遭遇するケースが相次ぐ [10/24]  [ばーど★] 【乃木坂46】新内眞衣応援スレ☆17【まいちゅん】  【人出9割減も】大型連休 後半初日の観光地の人出 90%超の減少も  [蚤の市★] ウチさぁ、スロットあんだけど…打ってかない?354  【観光】8月の訪日客数は同月最高の247万7500人 中国人客は初の80万人超え 	 【二期生】ラストアイドル☆205  カップヌードル、214円に値上げ   【2024】2025年7月の大災難 8スレ目【2026】  岸田文雄について語るスレ   
  
    
  
 
 15:38:14 up 9 days,  6:00,  0 users,  load average: 62.66, 74.58, 83.18
in 5.0777220726013 sec
@[email protected]  on 110104