◎正当な理由による書き込みの削除について: 生島英之 とみられる方へ:Ruby 初心者スレッド Part 65 	YouTube動画>11本 ->画像>3枚  
動画、画像抽出    || 
この掲示板へ   
類似スレ   
掲示板一覧  人気スレ  動画人気順 
 このスレへの固定リンク: http://5chb.net/r/tech/1545421414/ ヒント: http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。
 プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ 
    質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。 
 Ruby on Rails については、WEBプログラミング板で    
 前スレ  
 Ruby 初心者スレッド Part 64  
http://2chb.net/r/tech/1535797516/     るりまサーチ (リファレンス検索)   
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   前スレの、>995 
   >rubyでサイトにアクセスさせてたんだけど、そのrubyが急に動かなくなってしまいまして、どうしたもんかと   
 selenium-webdriver(SW) を使っているなら、ブラウザが新しくなってエラーが出るとか? 
 SW, chromedriver を最新にすれば?   
 最新のchromedriver をダウンロードする  
http://chromedriver.chromium.org/home     レポジトリの情報を見る。 
 gem search -r selenium-webdriver 
 #=> version 3.141 が最新   
 グローバルにインストールする。 
 gem install selenium-webdriver   
 インストール済みGemを確認する。 
 gem list selenium-webdriver 
 > なお、「Ruby」で採用されているJITコンパイラーは、他の言語で採用されている一般的なものとは異なり、 
 Cみたいに、構造体CPersonを要素とする配列を作りたいんだけど、どうやればいい? 
 誤: CPerson Struct.new(:name, :age);  
 Effective Ruby の著者のサイトに、本のソースコードが載っている 
   項目10 : 構造化データの表現には、Hash ではなく、Struct を使おう  
https://github.com/pjones/effrb/blob/master/oop/struct_test.rb     ハッシュキーは内部実装の詳細情報なので、 
 これがユーザーに公開されているのは、良くないから   
 一方、Struct は、Class Generator。 
 簡易クラス 
 簡単にクラスが作れる!軽い気持ちでじゃんじゃんクラスにしてね!な言語かと思ってたのに簡易クラスとは… 
 Struct は入門書にも書いていないのに、これを使うのは物好きな人だろう。 
 >>8   お前さんが考えてる「遥かにスマートな方法」って何? 
  >>10    何がしたいのかよくわからんがRubyでfor文は殆ど使わない 
 forを使わないのは良いが 
 これのどちらかだな(%よりはformatの方が推奨される) 
 print name, ", ", age, "\n"; 
 煽り抜きで
>>20 はアスペっぽい 
 文脈が理解できてない 
 Ruby鉄の掟 
 >>26   お前以外は俺が言ったことを理解できてるぞw 
 だからアスペはお前じゃん 
  >>28   いやだからさ、初めから配列arrの要素に対してこういうことをした結果を出力したいっていうのであれば 
 puts arr.map{|e| hoge}.join(s) 
 て書くのは当たり前だけど、この元の発言の人はそんなこと言ってなくてむしろ配列の参照の仕方について言ってるんだから上の説明じゃ全然駄目だってことくらいわかるだろ 
 ドヤ顔で他人見下して見当はずれの発言しているあんたが痛いって話だよ 
  >>24   関数型。w 
 ふつうにふつうのコードを書けよ。 
  >>29   やっぱアスペじゃん   
 俺は 
>>19  の書き込み、forを使ってるものを「forなんて殆ど使わない」と言って 
 eachを使って書き換えました。(どやぁ) 
 っていうのを見て、萎えた(eachも使わねーよ)って言ってるだけだから   
 arrの要素に使ってこういうことした結果〜とか 
 そんな話してねーから 
  質問者の意図を無視して勝手に副作用だの言ってる奴いて草 
 元の質問者になんかレスしてねーのに 
 ID:xdSwIlO30 
 副作用うんたらかんたら君は一切画面出力せずにプログラミングしろよwww 
 まとめるとこうだな 
 for文よりary.each { |e| hoge(e) }って書いた方が一般的だよってレス(
>>19 )に対して 
 hoge(e)のところがたまたま今回putsだったってだけでputs ary.map { |e| fuga(e) }って書かないとか萎える(
>>20 ) 
 と意味不明なこと言って荒らしまわってる奴がいる 
 精神障碍者の相手をしてはいけないということだ 
 試してないけど、C/C++ ばっかりの自分には、 
 ああ、分かった。% は、sprintf の syntax suger みたいなものらしいね。 
 >>38   いい答えだね。 
 だけどアスペは文脈がわからないからこう言うんだ。   
 お前が言ってることは
>>18 に対してのレスではない!と   
 (
>>18 へのレスではなく、
>>19 へのレスなのは見ればわかるが 
 アスペは文脈がわからないから関係ない話をしてるように見える。 
 関係ない話をするな。俺に攻撃をするな。と) 
  素で気持ち悪いなこいつ。もはや日本語による意思疎通は不可能だな 
 >>20 の異常性が分かるまとめ    
>>18  「生のトマトが嫌いなんだけどどうやったら克服できるだろうか」  
>>19  「火を通したトマトを食べてみたら案外慣れるかもよ」  
>>20  「トマトは生が一番おいしいに決まってるだろ。火を通すとか萎えるわ」  
>>19  「生が苦手って言ってるからそれ以外を勧めてるんだけど……」  
>>20  「いや、俺はお前に言ってんだけど。トマトは生に限るだろ」  
>>19  「えぇ……」 
 >>42   適確すぎて草 
 そしてアスペは例え話を理解できないらしいからきっとこれも理解できてねえぞ 
  よくみたらこいつ単芝君じゃん 
 >>42 が間違ってることはちゃんと説明できる   
 本当の 
>>20 は 
>>19 へのレスになっている 
 (
>>19 で書いた内容がクソであると言ってる)   
 だけど
>>42  では 20 が 18 へのレスになってる。   
 アスペはこの違いがわからない 
  >>37   メタプログラミングで、すべての属性名と値を、表示できないの? 
  メタプログラミングじゃなくて、普通にto_hとかでわかるがそういう問題じゃないw 
 >>47   Struct#membersでメンバの名前を取得できるよ 
  やっぱ単芝君はガチのアスペやったんだな 
 >>42 の20は普通に19への返事になってんでしょ 
 それが理解できないのは脳みそに欠損でもあるんじゃねえの 
 > 
>>42 の20は普通に19への返事になってんでしょ   
 18が生のトマトが嫌いといってるのに、20で生のトマトが一番と言ってるって話 
 俺は
>>18 に対して何もレスしていない   
 この違いぐらいわかれよw 
 少し訂正 
   18が生のトマトが嫌いといってるのに、20で生のトマトが一番と言ってる 
 20は18へのレスになっているが   
 それとは違い俺は
>>18 に対して何もレスしていないという話 
 >>51-52   ここまで言わないとわからないとか脳みそ小学生以下だろ  
>>42 の 
 20 「トマトは生が一番おいしいに決まってるだろ。火を通すとか萎えるわ」 も 
 19 「火を通したトマトを食べてみたら案外慣れるかもよ」へのレスであって18には何も触れてないじゃん 
 火を通したらいいかもよってアドバイスに対して「18には触れずに」トマトは生以外萎えるとかいうトンチンカンなこと言ってんのがお前   
 理解できないならマジで病院行くか死んだ方が良いよ 
 てかアスペって本当に比喩表現が理解できないんだな、コイツ本物のアスペだろ 
  あと絡んだ俺が言うのもなんだけどこいつとは会話が成り立たないから本当にスルーに限るな 
 じゃあスルーしろ(反論してくんな) 
   俺は
>>18 に対して否定するようなことは何も言ってないんだよ。  
>>19 に対してのレスでしか無いのに  
>>42 はそうなってないって話をしてる   
 繰り返すが、スルーしろ 
 名前をNGで「98-」で設定しておくと単芝君消えるよ 
 >>55   きもいわーお前マジで 
 ここまで行って理解できないなら本当に死んだ方が良いよお前 
 死ねよお前 
 みんなの迷惑なんだわ 
 さっさと死ね 
  >>42 を訂正するならこんなところだな    
>>18  「生のトマトが嫌いなんだけどどうやったら克服できるだろうか」  
>>19  「火を通したトマトを食べてみたら案外慣れるかもよ」  
>>20  「焼きトマトとかまずいわ。煮た方が良いだろ」  
>>19  「生が苦手って言ってるから焼いたほうが良いって言ってるんだが」  
>>20  「だから焼いたらまずいってお前に言ってるんだよ。煮たほうがいいって提案してるじゃねーか」 
  >>57   お前が理解してないようだから訂正してあげたよ 
 反論があるならどうぞ 
 スルーするに限るっていうなら、スルーしろ 
  比喩表現を理解できないやつって本当にいるんだね 
 >>42 はそこそこうまく状況を再現してるしそれにいちゃもんつけてるのは当事者であるワッチョイ 7d98-4fynしかいないという 
 言ってることは支離滅裂だし自分が異常者で迷惑者だって気づかないものなのかね 
 そこそこw 言われてやんのwww 
   まあ
>>58 を見てよ 
 より正確だから 
 >>61   気色悪いよあんた。友達も恋人もいないでしょ  
>>58 は全然スレの流れに沿ってないじゃん 
 これは親切心でいうけど、もしこれを本気で言ってるなら本当に発達障害だと思うから心療内科にでも行った方が良いよ 
  >>58 は
>>42 を訂正しただけだよ。 
 もともと言い出したのは
>>42    え、何言ってんのこの人 
 >>42 はそこそこうまく状況を再現してる  
>>58 は全然スレの流れに沿ってないじゃん 
 ってあるのに「
>>58 は
>>42 を訂正しただけだよ。」って会話が成立してないじゃん 
 やっぱり日本語が理解できてないじゃん 
 障碍者なら病院から出てきてみんなに迷惑かけないでよね 
 だからワッチョイ 7d98-4fynはこの板に粘着してる単芝君っていう荒らしだからスルーするなりNGするなりしろって 
 > 
>>42 はそこそこうまく状況を再現してる 
 > 
>>58 は全然スレの流れに沿ってないじゃん   
 意味がわからん。スレの流れ?  
>>42 がスレの流れに沿っているのであれば、 
 それを訂正した
>>58 もスレの流れに沿ってるだろ 
 荒らしの相手をするな! 
 俺は「生のトマトが嫌いな人」に「生のトマトが一番」なんて言ってないんだよなぁ。 
 >>42 は何を勘違いしてるんだろうか 
 ワッチョイ 7d98-4fyn 
 ワッチョイ 7d14-4fyn   
 アスペガイジ(
>>70 )が自演してて草 
 スレ民全員から病人認定されたのがよっぽど悔しかったのか 
 最高に気持ち悪いから死んでくれ 
 自演失敗してるお前の方が痛いから 
 Software Design 12月号の特集が、Ansible と、  
 >>76   puts CodePoint.gsub(/<U([0-9A-F]{4,})>/){ "" << $1.to_i(16) } 
  >>76   puts CodePoint.scan(/\h+/).map(&:hex).pack('U*') 
 # => :平成年% 
  エイプリルフールに発表とかふざけてるよな 
 もっと早く発表しろって思うわ。 
 お前らドカタの仕事のネタを作ってくれてるんだから有難く思え 
 Linux distroのdeveloperをやっているけど、 
 Ruby初心者です。RubyとWindowsは相性が悪いって意見をよく見る気がします 
 コミュニティが昔からwindowsとマイクロソフトを目の敵にしていてwindows環境を無視したやり方をゴリ押しすることが多い。 
 >>83   正確には、相性が悪い「ことになっている」 
 実際には今のWin10ならWSLを使えばほぼLinux同等にRailsを使えるんだけど、 
 作者のMatz含めプロのRubyユーザーってほぼ100%がマカーなんだよ 
 だからコミュニティでWin使ってるなどと言おうものなら
>>84 の通りたちまちリンチに遭う 
 このスレはまだマシな方だが、正直不快な思いをするだけだからお勧めできない 
  >>83   Ruby単体で使うならWindowsでも簡単に入れられるんだけど、いくつかのgemはコンパイルを前提にしているから、 
 そういうコンパイラ環境を(LinuxやmaxOSと比較して)手に入れにくいWindowsが敬遠されてるというのはあるね   
 もちろんやってやれないことはないんだけど、そんなとこで詰まるぐらいなら素直にUnix系を使っておいた方が 
 特に初心者ならいいだろうね 
  >>80   そっか〜 
 クイズみたいで、ぎりぎりの方が楽しい。 
 まあ、システムの場合元号が切り替わった時にすぐに切り替えられないと大変 
 なのはわかるけどね。   
 ちなみに昭和に変わった時、私の会社のソフトは最初から変更の可能性のあるもの 
 について対応をした有ったので。一か所変えるだけで、全てが対応できた。 
 昭和天皇が亡くなった時、最初に問い合わせがあったのは日銀だった。まだ元号 
 決まっていなかったけど、対応済みという話をして安心してもらったこと思い出したよ。 
  「昭和に変わった」じゃないな「平成に変わった」だったわ〜〜 
 >>84   >>85   >>86   ありがとうございます 
 コミュニティがWindows嫌い、そういうのもあるんですね…… 
 とりあえずWSLでLinux使ってみることにします! 
  Win32ネイティブのRubyを使用せずにWSLを使うよう公式にアナウンスするだけで 
 WSLってそこまで安定してないってのもね 
 ブログサイトをRubyで立ち上げようと思ったらLokkaで間違いないですかね? 
 windows+rubyはRubyInstaller2でどうにかなる 
 >>90   いや、WSLは素人に薦められるものではない。 
 充分な知識がなければ、RubyInstallerのほうがはるかにマシ。 
  どう考えてもWSLの方が薦められるだろ 
 理由は
>>94 が薦められない理由を書いたら書いてやる   
 理由もなく薦められないというだけで信用してもらえると思うバカには 
 この程度の反論で十分だからさ   
 ということで、考えてもWSLの方が薦められる 
 漏れは、Windows10 で、RubyInstaller のMSYS2 コンパイル環境なしのポータブル版で、C:\Ruby24-x64 に置いている 
 >>82   LPIC, LinuC などのLinux の資格でも、 
 コマンドのオプション・ファイルパスの暗記には困る   
 SSL 関係のファイルパスの暗記、 
 tar, find などのコマンドのオプション 
  >97 
 >>95   理由も言えないならわざわざからむな。 
 カス。 
  初心者にWSL使わせると 
 それを言うならサンドボックスすらなくて直接システムをぶっ壊せるMacは 
 ちげぇよ 
 所詮サンドボックスなんだから壊れたら再インストールすればいいだけだろう 
 >>100   > rootfs以下をWindowsから直接編集してぶっ壊す事故が怖いわ   
 rootfs以下をWindowsから直接編集するのは大変だよ 
 なにせどこにファイルが有るのか容易にはわからないんだから   
 知ってるなら何処にファイルが有るのか 
 Windowsから見た時のパスを言ってみてよ 
  >>105   今年でサポート切れるんだけどどうするの? 
 Rubyistさんならもちろん大正義Macに乗り換え? 
  >>102   WSL使おうという奴がわざわざWindowsから編集するのか? 
  >>104   見つけるのが大変なのは知っているが 
 使い慣れたWindows上のエディタで編集したいというのは当然の要求だし 
 バカがやらかさない保証にはならんだろ 
  >>84   >ossプロジェクトもgithubがマイクロソフトに買収されたとたんにgitlabへの移行が相次ぐなどrubyコミュニティ特有。   
 ほうほう 
  >irb だけはLinux側で使う。 
 gitlabに移行した例を教えてもらいたいところだね 
 完全な初心者より中途半端に出来ると勘違いしてる香具師の方が危ない 
 WSLを使う気はあんましないけど、Windows上からVolFSを弄ると本当に壊れるのかは気になるな 
 >>114   単純な話だよ。   
 WindowsのNTFSではファイルごとに所有者や各種権限がある。 
 読み取り権限、書き込み権限、他には拡張属性の読み書きとか所有権の取得とか 
 同じようにLinuxでも所有者やパーミッションという情報がある 
 これらは一対一で単純に結びつけることができない 
 (例えばWindowsにrootというユーザーは存在しない)   
 だからNTFSの通常のファイルの所有者や権限とは別に 
 ファイルごとに代替ストリームを使ってWSLのメタデータを書き込んでる。   
 Windowsのアプリからファイルを変更すると、この代替ストリームを 
 考慮してないためにメタデータ破棄されてしまうソフトがある。例えばファイルを保存するときに、 
 新しくファイルを新規作成するようなものは、代替ストリームのデータが消えてしまう。   
 VolFSが消えるというのは単にメタデータが消えてしまうということ 
 ファイルそのものやファイルシステムが壊れるわけではない 
  >>115   WSLをWindows用コマンドライン環境にしたかったんだけど、そのへんを知って、ムリだと思った。。。orz 
 chmodひとつできないとは。 
 ファイルの内容には/mnt経由でアクセスできるものの、あくまでちょっと別物感。   
 ということで結局、MSYS2に戻りました。 
  横からすまそ 
 RubyはWindowsで不安定だからPythonのほうが良いよ。 
 勢いがあるときにいろいろ直してれば良かったんだがな 
 >>116   > chmodひとつできないとは。 
 いやできるよ   
 chmodはWSLのメタ情報を変更するコマンド。 
 NTFSのメタ情報を変えたいなら、Windowsのコマンドを 
 WSLから実行すればいい。   
 MSYS2を使ってもそれは同じでしょ?MSYS2を使った所で 
 chmodじゃNTFSのメタ情報を変えることはできない 
  うまくいってるときは自己肯定されるからwindows嫌ってるコミュニティが直すわけなかった。詰んでた。 
 ext4, NTFS では、ファイルシステムが異なるから、ファイルのメタ情報も異なる。 
 >>119   Ruby1.8時代よりは大分Windowsでの動作がよくなったと思うぞ   
 今問題あるのはrb-readlineくらいだし 
  どうでもいいな 
 目的 ゲームのプロトタイピング 
 >>127   もう今の時代はウェブブラウザでええやん 
  >>132   デザパタの言語組み込み化レベルでコードが減る 
 100行のコードが正規表現ループで5行になりましたみたいな感じ 
 それの初稿が書かれたときには存在しなかったが現在ならJavaをKotlinで書くのに近い 
  Javaよりも冗長な言語は存在しないレベルなんやで? 
 bundler使ってインストールしたgemをrequireするhoge.rbファイルを実行するには 
 bundlerじゃなくてグローバルにインストールしたら 
 >>138   それ、既にやってみてたんだが動かなかったんだわ。       
 ・・・で、今もう一度やってみたら何故か動いた。理由が分からない。。。(#  ・`д・´)   
 ともかく、解決したのでありがとう。 
  2018/11/19 
   Matz が、LegalForce 社の技術顧問に就任  
https://www.legalforce.co.jp/news/2018/1119_01.html     自然言語処理を用いた、クラウド型契約書レビュー支援サービス   
 DSL を使うのか? 
 Vagrant, Chef, Sinatra みたいなものか 
 >>141   単なる名前貸しなのでRubyもMatzも 
 LegalForceとは何の関係もありません 
  ProgateのRuby5までやったけど、なにかできるかと言われると何もできない 
 改訂2版 Ruby逆引きハンドブック、2018/8/28 
 >>143   何ができるかじゃない 
 何をするかだ 
 技術は後からついてくるぞい 
  ruby って、ちゃんとwin10の仕様に乗ったバルーンだして、バルーンクリックされたら 
 ここだから質問する。今あえてPython3とRuby2.5を同時に勉強してるところ 
 rubyではwindows使いに人権はありません。おととい来やがれ! 
 >>151   WindowsかRubyどちらかを今すぐ捨てなさい 
  >>152   まあ、Windows環境においては、それくらいは自力で対処できる人、あるいは「Pythonで満足に動いてるならそっちでいいじゃん」と言えるような人が求められてはいるな 
  ちなみに海外だとWindowsのPython製商用GUIアプリもあったりするけど、 
 「同じような結果を出すように作られているが同じような構造にはなっていない」に3000点 
 GUI は、HTML, CSS, JavaScript で作る 
 えっ、rubyキチガイこと読点君どうしちゃったの?くじけた? 
 >>153-157   なるほど、よくわかった。やっぱりあとはVM突っ込んで動かした 
 方がよさそうだな 
  まぁ、かくして、Rubyは毎年 
 Railsは前よりだいぶWindowsに馴染んでるようにはなってるんだけどなあ。前なんて 
 漏れは、MSYS2 のコンパイル環境は入れていないけど、 
 Ruby で、1-liner のフィルタ。 
 >166 の続きです 
 https://docs.ruby-lang.org/ja/latest/doc/spec=2frubycmd.html   > gets で読み込まれた各行の最後に対して String#chop!を行います。 
 るりまにも、こう書いてあるしバグというか仕様だな   
 なんでperl互換のchomp!じゃなくてchop!なのかは知らんが 
 -lオプション使わなければいいんじゃないの? 
  >>166   > Windows10 で、a.txt の最後に、改行コードが無いと、バグる!   
 Windowsは関係なくて、Linux/Unixの文化だよ。 
 行の終わりは改行がかならずあるという前提 
 なくても良いものがあるけど、例えばシェルスクリプトで 
 whileとreadを使って普通に読み込むと、最後に改行コードがないと読み取れない 
  0とだけ(改行なしで)書かれたテキストファイルで嫌がらせができるお話 
 >>169   >>166     chompするときに改行がくっついてるときだけ切れば良いのに 
 中身観ないで無条件に一文字消してたらそりゃ消えるわω 
 糞アルゴリズム 
  lオプションの仕様だね 
 ありがとう。もう修正されているのか 
 windows固有の問題だから放置されてたってだけ 
 不都合な動作をしたときバグなのか仕様なのか制限なのか考慮漏れなのか分からない 
 >>182   そのまま処理を書き下せばよろしい 
 現時点では無理に短くしようとするな 
 「カッコよく」しようとするな 
 そんな秒速何十回とする処理じゃないのだろうし効率もとりあえず気にするな 
  >>182   その程度のクセに他スレでruby宣伝荒らしするな! 
  Linux では、大文字小文字だけが異なるファイルが、同一フォルダに存在できる。 
 どうすればいいかの部分は自分で考えようよ 
 7f2c-Ioh3はrubyやる前に修めておくべきコンピュータの知識の授業があるような気がちょっとするな 
 >>187   彼にはネットを使う前に他人とのコミュニケーションで理解すべきことが多々あると思われる。 
 ところ構わず話の流れを無視してruby推しするのはやめて欲しい。 
  まあ国内の平均的なRailsやってます系は実際こんなもんだよ 
 Setとuppercaseもしくはlowercaseで 
 >>185   Dir.globでぶん回す 
 見つかった名前をtolowerしてファイル削除 
 最後に残ったものが重複 
  丸投げの質問の仕方しかわからなく申し訳ありません。 
 > 丸投げの質問の仕方しかわからなく申し訳ありません。 
   いえいえ、丸投げっていうのはこうするんですよ。    
>>195 、後は全部任せた! 
 それだけじゃ原因がわからん 
 ああ、一部ちゃんと読んでなかったわ 
 ライセンスとか無視したとしても、外部のでっかい(依存関係が大きくファイル数も多い)アプリを同梱して配布というのは「運用上」わりと速攻で破綻する 
 193です。厳しくかつ熱心な助言をいただきまして、皆さまがプログラミング 
 に真剣に取り組んでいらっしゃるとわかりました。おかげさまで、別のPCにwgnuplot? 
 を入れて、パスを通したら解決いたしました。 
  島根在住なうえに、独学で勉強しているため難儀していました。 
  ジオデシックドームの計算とグラフ出力をするためにプログラムを始めまして、グラフ 
 出力を友達に見てもらいたいから、実行ファイルにしたわけです。 とはいえ、ライセンス 
 に注意しなければならないという意見、真摯に受け止めます。   
>>197   そこまでここで面倒見る必要はないという線を引くんだ 
    そうですね。一人でしょい込む必要ありませんでした。肩の荷がおりました 
 Ruby配布とか絶対にやりたくないな 
 え、Railsって気軽にできるもんなんですか? 使い道がわからないので、クラスやインスタンス変数など一度も 
 少なくともRubyをWinで配布しようとするよりはRailsの方が遥かに簡単だろうな 
 1-liner の説明を読むと、-rfileutils みたいに、-r でモジュールをrequire できるとか、 
 gem install で、gem をダウンロードするのも、あったような気もする   
 gem install・bundle installなしでgemを使ったスクリプトを実行する方法  
https://qiita.com/takahashim/items/c7b5d0e30b4aeb73d8f8     この本も良い   
 改訂2版 Ruby逆引きハンドブック、2018/8/28 
 株式会社マネーフォワード   
 島根県は、Ruby では有名 
 sqlite3 のgem(パッケージ)を、グローバルにインストールすると、  
 >2.0〜2.4 のすべてが入った! 
 島根在住です。 通いつけのクリニックがあるビルにまつもとさんの会社があるので、 
 >>204   gemの仕様です 
 だからpre-build gemを嫌ってる人もいます 
  さすがに、MSYS2 のようなコンパイラーは、何GB も食うから、いらない。 
 ただし、コンパイラーが無いから、Windows 用のweb socket のバイナリが無くて、困っている    
>>204   の、sqlite3/2.4/sqlite3_native.so だけを入れる方法は無いの? 
 2.0〜2.3 は、いらない 
 技術書ほとんど電子書籍でしか買わないかな。PDF でパソコンかタブレットで読んでる 
 そもそもmrubyに出番があったことなど無かった 
 >>211   js,、scratch(まあscratchもjsだけど)、pythonか。 
 rubyが入れるわけないわな。 
 至極残当。 
  ていうかmrubyは「くみこみでもるびーつかいたい」という以上のものではないしそれ以上の役割を持たせてもいけないはずだったのだ 
 >>214   mrubyは経産省やハードウェアメーカーがスポンサーに入ってるから、やってみた、うごいた、わーい、だけじゃ済まされないよ 
 だから誰も使ってなくても誰にも求められてなくても誰もやりたくなくても開発は続けなきゃいけない 
  典型的な埋没費用だね 
 >>214   補助金詐欺とまでは言わないでも補助金ゴロ    
>>216   ren4 に教えてやれ 
  そもそも組込で Ruby 使いたいっていう需要が小さいよね 
 組み込みに贅沢な文法いらんしなぁ。 
 rubyからCや特定CPU向けアセンブラを生成できるようにすれば用途は広がるが、 
  本は立ち読みして使える本かどうかチェックしてから買うもので・・・ 
  >>212     わかーました。Matzに会ったら教えちゃーけん、楽しみに待っててごしないや 
 勝ち負けどころちゃうやろ、Rails以外にもう使い途なんてあらへん状態や 
 >>167   自己レス。自分で作った   
 # ファイルの最終行が、改行コードで終わっているかどうかを判別する 
 # CRLF, LF ( \r\n, \n )   
 last_line = nil   
 File.foreach( "a.txt" ){ |line| last_line = line }   
 p last_line.end_with?( "\n" ) # 末尾が、\n か? 
  >>225   ファイル全部を読まなくても size-1 で seek すれば十分だよ。 
  seek できるのは、バイナリファイルだけだろ。 
 Gem.ruby_version >= Gem::Version.create("2.5") 
 テキストファイルを、バイナリファイルとして読み込んで、 
 >232 
 >>185   # 大文字小文字だけが異なる、ファイル名を見つける 
 filenames = <<"EOT".lines # ファイル名の配列 
 aB.txt 
 Ab.txt 
 xx 
 cd 
 CD 
 EOT   
 results = { } 
 filenames.each do |filename| 
  filename.chomp! # 改行を削除 
  fn_down = filename.downcase # 小文字に変換   
  if results.has_key? fn_down 
   results[ fn_down ].push filename 
  else 
   results[ fn_down ] = [ filename ] 
  end 
 end   
 return if results.empty? # 空   
 # 重複しないファイル名を削除する 
 results.reject! { |k, v| v.length == 1 }   
 results.each_value { |v| puts v.join( " : " ) }   
 結果 
 aB.txt : Ab.txt 
 cd : CD 
  >>232   ムダにややこしく考えすぎ。 
 だいたい、コントロール文字が複数バイト文字の一部に含まれるエンコーディングはかつて存在しなかったし、今さら将来に発明されることもない。 
  >>232   いつも他スレで暴れてるrubyボット君か。 
 毎度毎度、仕入れた知識の表層をなぞるだけで知ってるつもりになってるから、具体的な問題点が理解できてないし、考えようともしない。だからいつも的はずれなことを言っては他の人に突っ込まれる。 
  sjisには悪名高い「表」などのダメ文字が存在する。 
 今はUTF-8を使うので、sjisはもう過去の問題。 
 https://rubygems.org/gems/lazy_priority_queue/versions/0.1.1     Windows10 で、MSYS2 コンパイラー無しの状況で、上の順位キューを、 
 gem 'lazy_priority_queue', '~> 0.1.1' 
 で入れようとしていますが、   
 この、SHA 256 checksum は、gem で入れたモジュールに対して、どうやって確かめるの?   
 e5d4ea8d037e8743afc91019fc23f5f6858372fea73e05e8244f8964f0634337 
  >>239   チェックはgemが勝手に行っているから貴方のような馬鹿がいちいち気にする必要はない 
  ダウンロードじゃなくて、gem で入れた場合は、 
 >>237   File.open( "foo.txt", "w:CP932" ){|fh| fh.puts("ソ") } 
 File.open( "bar.txt", "w:CP932" ){|fh| fh.print("ソ") } 
 File.open( "car.txt", "w:UTF-8" ){|fh| fh.print("\u4E0A") } 
 File.open( "foo.txt", "r:CP932" ){|fh| fh.seek(fh.size-1); puts fh.read(1).start_with?("\r","\n") } 
 File.open( "bar.txt", "r:CP932" ){|fh| fh.seek(fh.size-1); puts fh.read(1).start_with?("\r","\n") } 
 File.open( "car.txt", "r:UTF-8" ){|fh| fh.seek(fh.size-1); puts fh.read(1).start_with?("\r","\n") } 
 UTF-16やUTF-32等のファイルがあるなら対策すること。 
  >>243   テキストファイルとして読み込んだファイルに、 
 seek のようなバイナリ(1バイトずつの)処理を使うと、 
 複数バイトの文字が存在するから、バグらない?   
 複数バイトの文字があると、文字数とバイト数が異なるから 
  >>243     fh.seek(-1, IO::SEEK_END) 
 の方がよさげ 
  macでHomebrewを使用して、最新版2.6.1をインストールしましたが、 
 マッキンは知らんけど、どうせPATHやろ? 
 Mac は知らないけど、元からRuby が入っているから、仮想環境のanyenv を使うとか? 
 Win以外なら最新版でほとんど問題ないんだよおバカさん 
 >>251   お前のレベルは低すぎるなw 
 Rubyを使うのが目的で、Rubyで何かを作った経験がないだろ 
  >>243   結果は、true, false, false になったけど、どういう事? 
  >>234   修正   
 String#lines の所を見たら、chomp: true で改行も削除できる。 
 こりゃ便利!   
 p ary = <<"EOT".lines( chomp: true ) # 配列 
 a 
 b 
 EOT   
 #=> ["a", "b"] 
  なぁなぁ。 
 >>255   だめ   
 CSRFっていうのは、悪意のあるやつからリンクが送られてきて 
 それを開いてしまうことで成り立つもの   
 リンクの中にトークンを入れてしまったら意味がない 
 トークンがリンクの中に入らないからこそ意味がある 
  >>2256   そんなん。 
 悪意のある奴から送られてくるリンクにあるトークンと 
 対象者の持ってるセッションに紐付けられるトークンは 
 全然違うやん。   
 悪意サイトに埋め込むフォームの場合も結局は 
 action と hidden を書くわけじゃん? 
 要するに hidden に書くべきトークンが予想できないからCSRF対策になる訳でしょ。 
 これが action に書いてあってもなんら変わらないじゃん?   
 ↑以上、予想が非常に困難なトークンを前提。もちろんそれが当たり前だし。 
  >>257   全世界が認めている方法よりお前が考え出した方法のほうが優れていると思えるところがすげえな 
 お前と仕事する奴がかわいそう 
  >お前が考え出した方法のほうが優れている 
 >>259   Ruby以前に、社会人としておかしいな。 
  Ruby ではクラス直下では、self(this)は、クラスを指す。 
 one time token は、URL のクエリ文字列など、見えたらダメ! 
 formのhiddenが見えないとかマジかよ 
 Rubyを勉強し始めようか迷っていて、適当にWeb見てたんだけどさあ 
 誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 96873  
 https://you-can-program.hatenablog.jp   >>266   できる 
 「Rubyのコード」を書かなくても(知らなくても)Railsはある程度使える 
  >>268   そうなのか、ありがとう! 
 面白そうだからRailsからやろうかな 
  Rails は半年掛かるので、普通人は挫折する。 
 でももうRailsははやらんよな。 
 この行列の前後に、番兵(0)を置くには、どう書く? 
 import pandas as pd 
 >>272   ary = [[1, 2, 3], [4, 5, 6]]  
 a=[0]*ary[0].sizeこ 
 b=([a]+ary+[a]).map{|x|[0]+x+[0]} 
 p b   
 [[0, 0, 0, 0, 0], [0, 1, 2, 3, 0], [0, 4, 5, 6, 0], [0, 0, 0, 0, 0]] 
  >>274   すみません。途中に入ったひらがなはゴミです無視してください。 
  >>272   番兵なんて使わないと言っておく 
 あんなの必要なに、古い言語だけや(笑) 
  番兵て。w 
 番兵を使わないと、1〜6 (1:start, 6:end)の道順をたどる際、面倒だろ? 
 たのしいRuby 第6版、2019/3/19 
 番兵は、カプセル化には何の関係もない。 
 nilとfalseが別だったりするし 
 そら、番兵がいらんようなコードしか書いてないだけや。 
 番兵の話はお題スレからきていてると思うのだけど 
 番兵が無ければ、 
 範囲外アクセスをどう扱うかの方法論でしかないのでは? 
 eachよりforのほうが分かりやすい 
 範囲内かどうかをいちいち判定して、わざわざ分岐したいんか。 
 こんなのあったな 
 範囲が1つ多かったな 
 Ruby Motionって契約してる人います? 
 IDEが欲しいならRubyMineかVSCodeにしとけ 
 >>289   Rubyの配列(Array)は添字による読み出しの際に範囲外だとnilを返す 
 逆に言えばnil以外で初期化することでnilを番兵代わりに使える 
 まぁ、負の添字に対するカバーは必要だが 
  じゃあCでいいな。 
 >>293   広く捉えればIDEなのかも知れませんが、iOS/Android等の開発ができるのが売りなので他ではなかなか代替が効かないと思うんです  
http://www.rubymotion.com/jp/   これもう廃れてるんですかね・・・・・ 
  Rubyすら死にかけているというのに 
 Rubyでスマホアプリとかそれこそ論外 
 >>299-300   やはり止めておいたほうが良さそうですか 
 以前、将棋のロジックをRubyで書いてしまったので、これをiOS/Androidに使い回せたら良いなと思ったのですが・・・・ 
  そんなん移植すればよかろうよ 
 Rubyで書いたのかもったいない 
 プロトタイプとして作るならRubyでも全然アリだと思うけどな 
 Haxe が、Ruby・Elixir も、JavaScript(JS) に変換してくれればなあ 
 >>304   ロジックをRubyで書いてしまったからアプリもRubyで… 
 と言った具合に間違いを積み重ねることになった元凶を 
 技術的負債と言わずに何と言うの? 
  >>306   間違いは「プロトタイプをそのまま使いまわそうとすること」であって、 
 「プロトタイプにRubyを使ったこと」ではないはずだよね 
 「何がなんでもRubyを使うことは間違い」と言いたいだけなんちゃうん? 
  >>307   その解釈こそこの文脈ではうがちすぎだろう 
 実際のところは
>>292 に訊いてみないとわからんけど   
 あとIDEのサポートの薄いRubyがプロトタイピングに優れてるっていうのも 
 (ことロジックをという局面に限れば)眉唾だなぁ 
 RailsでWebアプリをって言うならまあ納得だが 
  Sinatra, Rails を使えば? 
 Rubyで書いたものを別言語に移植するのは、そう難しい話でもないだろ 
 perlで書いたのがもったいない 
 最初に苦労してCで書いておけばその後は言語の流行りに合わせてFFIラッパー書くだけで済んだのにねwwww 
 >>312   モノになるかどうか分からんものに苦労を強いるなんて愚の骨頂 
  >>313   将棋のAIみたいなCPU時間のかかる処理だと、Cならブルートフォースで全く問題にならない箇所が 
 ゲロ遅Rubyだとアルゴリズムの最適化が必要になったりして、結局Cの方が早かったんじゃないか、、、となるケースが多いよ 
 そもそもアルゴリズムの実装はCでもあまり生産性に差が出ないし 
  >>314   トライアンドエラーを繰り返すようなものをCでやるのはつらみがあるよ 
 ある程度形になってきたらあらためてCなりでやればいいだけ 
  >>315   高負荷なアルゴリズムの実装においては、遅すぎる言語を使うことでその「エラー」の閾値が大きく低下することがあるってことだ 
 遅くない言語では問題にならないことが問題になる 
  >>315   sassがそれをやったわけだが。   
 最初Rubyでsassが作られた。 
 今はlibsassというC言語実装が作られた。   
 だけどあれ、確か2006年ぐらいにRuby版がでてから 
 6年ぐらいもかかっただろ? 
 そしてRuby版に機能が追いつくまでさらに数年 
  >>316   > 遅すぎる言語を使うことで   
 遅すぎるという言葉には2つの意味があって、 
 "実行速度が" 遅すぎる言語で問題になることがあるように、 
 "開発が" 遅すぎる言語では、その開発の遅さが問題になることがある 
  >>315   馬鹿なの? 
 トライ&エラーではrubyなりpython で作って、そくどの為にCで書き直すんだろ。 
 Twitter やFacebook もロジックはrubyで作って、そのままでは限界を感じたからも、っと速い言語に書き換えたろ?   
 ロジックさえ確立すれば、多少の記述量増加よりは問題にならない。 
 (むしろ問題があったから変更する必要に迫られた) 
  Vagrant, Chef, Homebrew など、環境構築運用でシェルスクリプトの代わりには、Ruby で書く。 
 >>319   高負荷な処理の開発においては、検証すらままならないほどに遅くなることが普通にある(Cで書いててもね) 
 そもそも最初からパフォーマンスが問題になることが分かっているなら、速度自体もアルゴリズムの良し悪しを決める重要なファクターだ 
 まあRuby使いには想像しにくい世界かもね 
  >>320   >大規模になってきたら、他の言語に変える 
 って
>>292 の話と全く変わらないな 
  >>320   > rbenv(anyenv) も、Rubyか?   
 rbenvもanyenvもその兄弟(*env)たちもシェルスクリプトで作られてるよ。    
https://github.com/rbenv/rbenv  の緑のバーをクリックすりゃわかるだろ? 
  Shell 96.5%  Ruby 1.5%  C 1.4%  Other 0.6%   
 環境構築というか、"端末の"環境構築なので 
 端末を提供しているシェルスクリプトが一番相性が良い 
  あとrubyの環境を整えるのに、rubyが必要とかありえないわなw 
 Perlは少しはマシだな 
 >>324-325  ちなみにこれ *envを使っていないLinux環境です。   
 *env を使うと各インタプリタ起動前にオーバーヘッドが入るから遅くなるが 
 これはそれがない純粋な速度ということ 
  それでもほぼ起動のオーバーヘッドだろう 
 スタートアップで使ってたってだけで 
 ツイッターがRailsていつの時代の話だよwww原始人かww 
 >>327   > それでもほぼ起動のオーバーヘッドだろう    
>>326 で言ってるオーバーヘッドっていうのは 
 各言語用のインタプリタ起動のオーバーヘッドではなくて、 
 *envの仕組み上、追加で存在するオーバーヘッドのこと。   
 *envは例えばrubyだったら、rubyのバイナリを直越実行するのではなく、 
 rubyの指定されたバージョンを起動するためのシェルスクリプトを実行する。    
>>324-325 は、*envを使ってないから、各言語用のインタプリタ本来の 
 起動時間ですよって話。 
  IOのオーバーヘッドもあるんじゃないの? 
 なんだよ?Unicodeの確認って 
 出力にかかる時間を計ってる以上、「起動」の時間はわからんだろ。 
 はぁ、くだらね。Rubyが遅いという結論は変わらないんだから 
 だいたい。たかが出力にそんなに時間がかかるわけ無いだろ 
 なんでそんな人間がRubyスレを覗いてるんだろうねぇ… 
 シェルスクリプトでループしたら、5分以上掛かる。 
 > シェルスクリプトでループしたら、5分以上掛かる。 
 >>340   ウソでなければ、極端すぎる。 
 シェルどうこうじゃなく、ただやりかたがまずいことを疑うな。 
  ruby --disable-gems -e '' 
 >>342   そいつは何言っても自分を省みることのできない奴だから、構うだけ無駄だと思うよ 
  >>338   日本が嫌いなのに日本にしがみついてる朝鮮人みたいなもんだよ。 
  Rubyて「楽しく開発ができる」って言うじゃない? 
 その逆、「開発がヘヴィで苦行なデスマーチになりまーーーす!」と宣伝する言語は無い 
 >>347   開発当初はその通り 
 Railsがしゃしゃり出てくる前もまあ当時の他言語と比べてまあ妥当 
 Rubyデツクルモノ=Railsとなってからは「Ruby別に楽しくないじゃん」とか言われるようにはなった 
 メモリ16GBとSSDで意識高い系言語もIDEでぐわんぐわん言わせられる昨今、Rubyのそのへんのメリットは比較上は薄い 
  >>347   ごめん。 
 RubyよりHaskellが楽しい。 
  ほんとうはデスマになってるのに 
 後のこと一切気にしなくていいならJavaでも楽しいよ 
 書きやすく 読みにくい 
 perlの読み難さに嫌気が差して造られた言語なのにperlの悪い所を引き摺ってるからな 
 社員50人の「Ruby 開発」という会社の求人を見た。 
 変換表を使って、置換できるのは便利! 
 直交性の権化とも言えるJavaのライブラリがいいかといえば、そうとも言えないわけで 
 キャプチャとかグループ参照とかそのへんの問題だと聞いた 
 ブロック使わないと正規表現による置換が全て表現できないとわかった時点で第2引数廃止するべきだったってのは、 
 んなこというのは、Ruby者だけやろ。 
 最近、Rubyで簡単に稼げたとうたって謎の講座を売りつけようとしてるやつがえっらい増えてんな 
 Cygwinでruby-test-unitを入れたら/usr/share/gems/にインストールされた。 
 Windows では、Ruby Installer のMSYS2 を使うのでは? 
 windows で ruby はマジでお薦めしない 
 WSLは、2でかなり様変わりするようやな。。。 
 もうとっくに様子を見る次期は終わってるよ。 
 windowsでそこまでやりたいか? 
 >>375   WSLとWSL 2は共存可能    
https://news.mynavi.jp/article/20190508-820096/   > MicrosoftはWSL 2は通常のアップデートの中で提供し、WSLとWSL 2の共存も可能だとしている。   
 WSL2はまだでてないし、様子見というのはわかる。 
 だがWSLは様子見の段階は終わってる。   
 WSL2は様子見してても、WSLを使わない理由はない 
 WSL2はWSLを改善するのが目的なので、様子見の段階は有るにしろ 
 最終的にはWSLよりも良いものになる   
 今はWSLを使えばよい。WSL2が実用レベルだとわかったら乗り換えれば良い 
  素人は、状況が落ち着いてから乗っかればいいんだよ。 
 漏れは、Windows 10 で、Ruby 2.4 を、C:\Ruby24-x64 に入れてる 
 >>376   みんなコードを書くのはMac、実行がLinuxってのが普通になっちゃってるからな 
 Windows版は、「高卒用パソコンなんてサポートしてどうするの」ぐらいの扱いがされてる 
  >>379   > 一方、Windows では、" でバグるから、 
 WSLで動かしてるけど、Linuxと同じように使えるよ? 
  >漏れは、Windows 10 で、Ruby 2.4 を、C:\Ruby24-x64 に入れてる 
 >>379   では、   
 これは、Windows 10, WSL, Ubuntu16.04 上でやった。 
 ls | ruby -ne 'puts $_.center(20, "-")'    
 一方、Windows 上のPowerShell(PS) では、" でバグるから、 %Q("-") が必要。 
 ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'    
 つまり、bash, PS など、シェルの種類によって、書き方を変えなければならない   
 まあ、ls, ls -name とか、他の部分も異なるけど 
  だから、Windowsを使うのを止めれば、すべて解決だよ。 
 WindowsでWSLを使ったら全部解決した。ワロタ 
 ruby が何か努力した訳ではないな 
 初心者すぎてすみませんがprogateのrubyを2回やり終えたんですが 
 >>390   俺と一緒にRubyMotionをやらないか 
  この3冊を読む。 
 例えばNet::HTTPみたいな::がある場合のautoloadってどう書けばいいの? 
 キーワードなのかKernel関数なのかさっぱりわからないんですが見分け方を教えてください 
 初心者にも満たない学習者です http://2d6.parasite.jp/rgss/script/restart.html )   シリアライズされてるなら同名の変数にキチっと入れてくれるんじゃないの 
 同じファイルを何回も読むのは、無駄 
   でも中略部分で、そのファイルに書き込んで、ファイルの内容を変えているなら、 
 再読み込みする意味があるけど   
 解説が付いていない、他人のソースコードを分析しない方がよい。 
 書いた人は、プログラムの仕様を知っているけど、 
 読む人は、仕様を知らないから、かなりの時間を損する   
 仕様(質問)からプログラム(答え)は書けるけど、 
 プログラム(答え)から仕様(質問)を把握するのは、極めて難しいから   
 つまり、なぜこういうプログラムになったのか、の「なぜ」を解明するのが極めて難しい   
 物理現象と同じ。 
 法則から現象は推測できるけど、現象から法則を導き出すのは、極めて難しい    
>>396   VSCode でも、キーワードなどは色分けされる 
 ありがとうございます 
 特に中略部分でfile側が変化しているということはないようです   
 つまり、暗黙的に何か、Marshal.load()が左辺の変数名に拘束されるとか 
 Marshal.load()のfileオブジェクトからの読み取りがスタック的になってるとか 
 そういうのは無くて、普通に読んでいって大丈夫ということなんですね    
>>402   おっしゃることもわかるんですけど 
 自分は作法が全然わからない時は特に、リファレンス見つつ他人のコードを見つつ勉強が効率良くて 
 他人のクソコードを分析しても、時間の無駄。 
 いつものキチガイを相手にするつもりはないけど、質問者が誤解しないようにコメント 
 >>405   ないよ 
 そんなものがあったら3日でBANだ 
  >>403   参考にするのなら、別のソースにしたほうがエエんちゃう? 
  開発/運用側に立ってるとネットなんて 
 宣伝と、自作自演・サクラと、ユーザ奪い合い荒らしと 
 この3つばっかりって身にしみてるもんですし    
>>408   たまたまMarshal関係で調べてて出くわしたもので 
 rubyがこういう(
>>399 )書き方・使い方がデフォな言語なのかどうかを 
 知りたかったというのがほとんどなので 
 >>409   開発運用側に立ってなんて言うからには他の言語での開発経験があるのだろうけど、それで
>>399 の理解というのは謎だなと思った 
  だから、他人のクソコードを見ても、時間を損しただけだろ。 
 そのMarshalのコードはかなり無駄だがファイルの内容が小さいから富豪的にやってるだけだと思う 
 それに何回も同じファイルへの読み込むのは、 
 fileに複数のオブジェクトがdumpされてて 
 Marshal.load(port, proc = nil) -> object 
 仕様は
>>399 が(中略)したところに書いてあったぞ 
 >>415   APIの仕様は文書で調べればいいだけと自分で
>>411 で書いているくせに、
>>415 では何で頓珍漢な当て推量をする流れなんだ? 
 いつもどこかで聞いてきたようなお題目を並べてはいるが、上っ面の字面だけを覚えているだけだろう。本人は実践できてないし理解もしていない。 
  Marshal.load(port, proc = nil) -> object  
 知らん人多いのか・・・びっくりだ 
 Marshalでファイルに複数のオブジェクトを読み書きできるのか 
 CSV出力処理でメモリが上がってしまうことが多く、対策しようとしているのですが良い方法はありますか? 
 出力するのにソート関係ないし 
 CSV.foreach で、ファイルを1行ずつ処理できる 
 Python では、collections.Counter で、要素の出現回数を数えられるけど、 
 >>428   自己レス   
 配列に含まれている重複している数を数えるには?  
https://teratail.com/questions/91229     l.each_with_object( Hash.new( 0 ) ){ |e, h| h[ e ] += 1 }   
 Python の、こういうのは無さそう。 
 c = collections.Counter( l ) 
  ["a", "b", "c", "b"].tally 
 >>425   csvを全部読み込んで処理しようとするとそうなるのは避けられない、何らかの工夫をするしかない 
 一行、数行ずつ処理し、終わるごとに配列、hashをクリアしていけばいいが、出来ない場合ね   
 csvを二回読み、一回目で必要なキーや情報だけ集めて一度csvをclose、 
 2回目にその情報を使って一行ずつ処理するなど 
  >>425   MapReduceみたいに複数のマシンに分散させるとか 
  [[1, 2], [3, 4]] の外側の[ ] を外すには、どうすれば良いですか? 
 >>433   あちこちでアホみたいなレスしてRubyの評判を落とすのをやめたら教えてあげるよ 
  >>433   ary[0] or ary.first 
  >>439   Rubyで作る奇妙なプログラミング言語-〜ヘンな言語のつくりかた〜 
 これ? 
  >>442   書籍で出ていましたよ、私が持っているのは書籍の方 
  おすすめ本は、このスレの最初の方に、まとめてある! 
 標準ライブラリに仮想環境を構築するモジュールがあれば教えてください 
 まさか、標準ライブラリには無いだろ 
 sh「パイプライン演算子とはようやくシェルスクリプトに追いついてきたか?」 
 >>449   Pythonのvenvみたいなのはないんですか? 
  rbenv, nodenv などのanyenv だろ。 
 |> は、関数型言語、Elixir のパイプ演算子 
 パイプ演算子ってドットのエイリアスなの 
 Rubyは第一級関数じゃないからパイプ演算子とは極めて相性が悪い 
 >>453   やっぱりWindows版のruby.exeを使うのはやめたほうが良いっすね 
  カッコ省略の問題がなんで型の問題になるんだ?別の問題だろう。 
 >>456   Rubyは第一級関数言語やで 
 Rubyはカッコを省略してメソッドを呼び出せるので関数オブジェクトの取り出し方がめんどくさいのは事実だけどね 
 だからかどうか知らんけど、Symbol#to_proc みたいなのもあるけど   
 まぁ、メソッドチェーンでできるんだから、パイプ演算子は要らんかなとは思う 
  >>459   Windows10・WSL・Linux で、使っている人もいるみたい   
 普通に、Ruby Installer で、Windows に入れると、irb の日本語表示でバグる。 
 外人は、sjis を知らないから   
 漏れは、irb を使うために、WSL の方にも、Ruby を入れてるけど、 
 Windows で、VSCode で十分   
 ユーザー環境変数、RUBYOPT に、--encoding=UTF-8 を設定してる。 
 これを設定すると、irb が起動しなくなる!   
 Windows 版では、バグがあるかも知れないので、 
 Ruby の最新版を使わず、2.4, 2.5 を使う方がよい    
>>461   Ruby は、第一級関数ではない。 
 処理をオブジェクトにするとややこしいから、第一級関数にしない方がよい 
  > Windows 版では、バグがあるかも知れないので、 
 windows なら素直に python 使え 
 長く使うものを作るならGoも良い選択 
 windowsでbatやpowerscript代わりにRuby使ってる 
 Windowsでちょっとしたスクリプトを書くなら、AutoHotkeyがお手軽かつ強力だな。 
 >>468   Hot Soup Processer もw 
  プログラム板にキチガイ降臨中!botに一晩も反応する異常さ 
 一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。  
http://2chb.net/r/tech/1559872586/     142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO  
>>141   名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、 
 片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか? 
 一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。 
 雑誌、WEB+DB PRESS Vol.110 (2019/4/25) では、 
 Sorbetの型注釈の書き方最悪だな 
 で 
 日本語のような全角を2  
 ありがとうございました 
 > 日本語3文字を length が 6 と 
 つうか、3文字で6ってなんやねん? 
 いずれにしろ 
 Pythonなんかだと 
 put stringの略だとよwww 
 >>485   いや、よく理解出来ました 
 考え方として賛成はしかねますが納得は出来てすっきりしました 
 ありがとうございましたm(_ _)m 
  printf が print format の略であるように、 
 >>487   いろいろありがとうございます 
 己の無知を反省します 
  >>485   またもやアンチRubyが無知を晒したか 
 C言語の標準ライブラリに関する知識も無しに批判するとは何とも恥さらしな      
>>484   Ruby なんかだと可変(mutable)と不変(immutable)なメソッドは 
 たとえば sort! と sort ですが、 
 Python では sort と sorted と不変な操作には過去分詞の -ed がつきますよね   
 宣言や表明ではないし、ましてや過去の時系列とは無関係なので 
 可変を明示する sort! と sort にした方が良いと思うのですが… 
 何で Python は基本的な英語の語法を無視しているのですか? 
  startswith や endswith には s ついてる 
 識別子に?や!使えるようにしてるもんだから他の言語は?.のところ&.なんだよなwww 
 >>489   sort「!」なんかの時点で、もう英語は関係ないやろ!w 
  PowerShell -Part 3  
   744デフォルトの名無しさん2019/07/01(月) 14:41:57.11ID:YzHO/9WR  
>>743    どうでもいい    
 745デフォルトの名無しさん2019/07/01(月) 16:21:19.60ID:MoEwNeEz  
>>743    死ね    
 745は、色んなスレに「死ね」って書いてる荒らし。ID:MoEwNeEz。 
 荒らしは必ず、複数の書き込みをするので要注意!   
 Ruby 初心者スレッド Part 65    
 485デフォルトの名無しさん (アメ MM39-rSnO)2019/07/01(月) 12:57:54.84ID:MoEwNeEzM 
 put stringの略だとよwww  
 to_sとかもそうだけどjap engrish思考よなwwww    
 491デフォルトの名無しさん (アメ MM39-rSnO)2019/07/01(月) 18:04:52.69ID:MoEwNeEzM 
 識別子に?や!使えるようにしてるもんだから他の言語は?.のところ&.なんだよなwww  
 ダッサwwwww 
 >>493   他人をどうこういう前に、お前の書き込み履歴と鏡を見直せ 
  redo は、現在のループをやり直すけど、 
 >>497   http://ideone.com/8UfEyv     もしもCPUの仕組みを知っていれば、制御変数 i は 
 プログラムカウンタのことだと見立てることができます 
 さらに抽象化して、もしもステートマシンを知っていれば: 
 ・ブロック do .. end は状態遷移を表し、 
 ・ブロック引数 i は遷移元状態であり、 
 ・ブロックの評価値は遷移先状態であると 
 見立てることができます    
 なお、loop.inject というパターンは過去にも別スレで利用しました   
http://2chb.net/r/tech/1415419907/264    > なおメソッド loop は一般に loop do .... end という手続き型のスタイルで 
  > 書かれることが多いために ループ構文の一種と誤解されがちですが、 
  > (lambda を構文糖であると 
>>254  が 勘違いしたように....)  
  > loop はメソッドですので(コードで示したように) inject へ 
  > チェーンさせることができます 
  require 'prime' 
 >>498   ありがとう   
 loop.inject か、トリッキー! 
 どちらも使い慣れないから、頭を使う!   
 each_with_index, each_with_object では、ダメなのか 
  >>499   [[2, 1], [3, 2]].flat_map { |n, e| [n] * e } 
 #=> [2, 3, 3] 
  >>501   ありがとう   
 flat_map は便利ですね 
  乱数はメルセンヌツイスタらしいけど、 
 a=[3, 2, 4, 3, 6, 3, 1, 3, 7, 6, 1, 9, 3, 2, 5, 6, 6, 7, 5, 6, 3, 3, 8, 4, 9]  
 >>503   なぜ偏っていると思ったの?統計取った? 
 Rubyistは一般にあまりレベルが高くないとはいえ、Rubyのコミッタ陣は少なくとも今の君よりは知識も能力も経験も上だと思うよ 
  2人コミッター知ってるけど何の専門家でもなければまともな経歴でもないよ・・・・ 
 メルセンヌツイスターって初期化しなくて良いんだっけ 
 >>504   乱数で平均値を取ったら中央値に近づいて偏りが酷くなるだけじゃね 
  Kernel#rand の種は、現在時刻で初期化されるから、意識しないでもよい 
 例えば、503 で偏る部分は、 
 おま環かどうか切り分けるために 
 おま環かどうか切り分けるために 
 codepad は古すぎる! 
 1から9が完全に均等に出てほしいなら、(1..9).shuffleとでもすりゃいいんじゃね? 
 >>513   偏っているか、それともそうでないかを判断する基準をどのように記述していますか? 
 私には 
>>513   2 2 2 6 6 が偏っているようにはみえないのです、多分判断基準が違うのだと思います、なにか判断基準を書いていただけますか? 
  >>513   5, 7 が出てない   
 それに同じ数字が、3回続くのが、2回も出てる 
  まさか1桁の整数の乱数を10個取り出したら0から9までダブってないとかそういうのか 
 >>514   shuffle, sample も疑似乱数だから、 Kernel.#rand, Random と同じじゃないか? 
  乱数なんだから偏ってはいけない。 
 つまりテトリスカンパニーのようにメルセンヌツイスタ株式会社みたいなのが数字の出る順番のルールを決めて 
 >>518   全然違う 
 shuffleはただ位置を入れ替えるだけだから、最初の10個には必ず0から9が1つずつ含まれる 
 これが君の望む乱数のようだからそうすりゃいいんじゃね?と言ってるだけ 
  >>522   その代わり、最初の9個を見れば10個目は100%予測できるから、そんなのを「普通は」乱数とは呼ばないんだけどな 
 ただ、君の言う乱数はどうやら普通とは違うようだから 
  ものによっては「7が最近出てないのでそろそろ出るはず」「1が何回も出るはずがない」を支持するデタラメ数が必要とされることはあるのだが 
 乱数 まろやか で検索するといいぞ。ポイントは正規分布 
 JavaScript でも作ってみたが、これも乱数が偏っている。 
 >>526   赤黒が1/2の確率で出るルーレットがあります。 
 三回回したところすべて黒が出ました。 
 次に赤が出る確率は? 
 一般人「1/2」 
 バカ「こんなに黒が続いたんだからそろそろ赤が出ないとおかしい!偏っている!だから赤100%だ!!」 
  >>526   乱数にけちつける前に10面ダイス買ってきて、10000回振って出目をメモして偏りを確認してこい。 
 それが片寄ってると思うなら、別の店でダイス買い直して再試行しろ。 
 終わるまでスレに帰ってくるなよ。 
  リアルのダイスは安物だと 
 >>503   欲しいデータはこんなの?  
 2 5 6 9 7 3 1 4 8 
 8 4 6 2 5 7 1 3 9 
 2 1 9 8 5 7 4 6 3 
  >>528   10面ダイスなんて偏ってるに決まってるだろ何次元人だお前 
 20面ダイスの下1桁を記録させるのが正しい 
  単純にサンプル数が少なすぎる 
 1から9まで出る乱数を9個抜き出したとき: 
 もっと単純化して言ってしまえば、コインを2回投げたときに、表裏が1回ずつ出る確率と 
 こういうと、 
 ちなみに、8回以上を9回以上に置き換えても13%の確率があるので、特段珍しいことでもない 
 ActiveRecordの件数が多い時、メモリを大量に使った際に、その分のメモリが開放されないままになってるように見えるのですがこれは仕様ですか? 
 ActiveRecordは知らんけど、RubyのGCがあんまり働かないのはオレも経験したことがある。 
 いっそ自動処理をあてにしないで、適当なタイミングで明示的にGC.start()したほうがいいと思う。   
 あるいは、ちゃんと設定のチューニングをするか。 
 めんどくさそうなうえに、ちゃんと動作すんのかは知らんけどな。  
https://docs.ruby-lang.org/ja/latest/class/GC.html   >>270   Railsはチュートリアルとか本とかネットの情報も多いけどSinatraは情報が少な過ぎるよ 
  たぶん、インデックスを使っていない、select だろう。 
 それだと設計ができない無能SEの給料は低くないといけない 
 同じリポジトリの同じソースからのデプロイで昨日は成功したのに今日は成功しないのは何でなんだぜ? 
 韓国に楯突いたことでアメリカからも敵国認定されてブロックされてしまったのだろうな 
 米国に置いてあるデータ、アメリカ製サービスからは早急に引き上げたほうがいい   
 エンジニアの生命線が...。米国の貿易施策でGitHubの利用制限を受けるイランなどの国々 | ギズモード・ジャパン  
https://www.gizmodo.jp/2019/07/github-trade-control-regulations.html     GitHub、米国の経済制裁対象国ユーザーによる非公開リポジトリ利用をブロック | 財経新聞  
https://www.zaikei.co.jp/article/20190730/523662.html   >>546   イランから手を引けばいいだけでしょ(笑) 
  ruby はよくある printf の類が日英混合文でも大丈夫? 
 >>548   たぶん言語は関係ない。 
 文字コード、文字判定、フォント、コンソールなど、環境次第な要素が多すぎる。 
  Rubyとしては「STDOUTに流すだけで特に何もしてない」ような気がする 
 逆にその日英混合文がダメな状況ってどういう状況だよ 
 やった!! 
 俺の求めていたものだ  
https://logmi.jp/tech/articles/321280   一見楽そうに見えて、余計に面倒なことになるwww 
 こんなんだったら、初めから型宣言したほうがマシだわな 
 型宣言の何が嫌なんだろ(謎 
 意地? 
 DRYに反してるっていうけど、何処が?   
 まぁでも求めていた展開だ 
 本人も作りたくないであろうこんなツールに多大な時間を割くことで 
 10年単位で他の言語に遅れることになるだろうな 
 大爆笑 
 >>553   > DRYに反してるっていうけど、何処が? 
 Type obj=new Type() 
 じゃないの?型を2回書いてるじゃん!という。   
 なお、C#がそうだったんだけど、遠からず改善される予定。 
 Type obj=new() 
 # 最初からそうしといてよー、と思わないでもないけど。w   
 型のDRYを避ける方法はあるんだよな。 
 しかし、Rubyはそこから目をそらして、DRYを言い訳にして、とにかくなにがなんでもオブジェクトの宣言を含めたくないんだろう。 
  >>553  https://qiita.com/t2y/items/2a1310608da7b5c4860b    あと 
 つまり、 
 型定義を別ファイルの書くのって 
 あるクラスの名前を変更する 
 まつもとが型のメリットを理解してないからどうしようもない 
 WEB+DB vol.111 
 >>556-559   >別ファイルに型定義書くのって立派なDRYじゃねーの?   
 まず、この文章は「DRY違反じゃねーの」の間違いだろう 
 これだけでもアンチRubyがDRYという言葉の意味を理解せずに 
 トンチンカンな批判を繰り返している実証になる   
 次に上記の文章を: 
 >>別ファイルに型定義書くのって立派なDRY違反じゃねーの? 
 と訂正したとしても、答えは NO だ 
 確かに型推定を最初から放棄してユーザに型アノーテーション記述を 
 強制する言語(
>>555 )であれば、その型アノーテーション記述がソースファイルと 
 同一ファイルであっても別ファイルであってもDRY原則に反している、と言える   
 しかしRuby3.0で計画されている型プロファイルは、型宣言記述が無い 
 素のRubyソースコードから型定義ファイル rbi を自動生成できる 
 また、ソースコードと同一ファイルにアノーテーション(注釈、いわゆるコメント)として 
 型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる) 
  >>562     > トンチンカンな批判を繰り返している実証になる   
 揚げ足をとれたからって、そんなに必死にならなくても。w 
 DRYDRYとうるさいのは信者くらいで、ふつうは実はそんなに気にしてないからな。しゃあない。   
 > 素のRubyソースコードから型定義ファイル rbi を自動生成できる   
 スケルトンみたいなこと? 
 その手のやりかたってヤバい原因になりがちだと思うんだけど、だいじょうぶなの?たいがい元ソースコードの変更に追い付けなくなって、うやむやになるよねえ?   
 > 型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる)   
 つまり、ソースを変更したら、あわせてアノテも変更しないといけないのか? 
 結局はDRY違反なの?   
 ホントにそんなだったら、どうせ誰も使わない気がするなあ。。。 
  >>563   >揚げ足をとれたからって、そんなに必死にならなくても。w   
 揚げ足ってのは、DRYを逆の意味に理解していた(
>>556 )事実を、 
 あっさり 
>>557  の冒頭で指摘されちゃったこと? 
 まぁしゃあないわな、「揚げ足」を隠そうと必死になるのも www 
   こんなんを別ファイルに記述するはめになるんだ 
 クラス定義に似てるね 
 重複して同じようなことを二回書かなきゃならないって事 
 DRYの原則に反してるから型宣言を書きたくないって話だったのに 
 より一層DRYの原則に反してるね 
 C++のヘッダにそっくり   
 あと今更するなら最初からしておけば何かとよかったのにね 
 夏休みの宿題を最後にためておく人だったのかな   
 一方静的型言語にも型推論とか取り入れられてるけど 
 こっちは文法的にも文化的にも何の障壁もなく導入されてるのが笑える 
 なにこの差 
 さらにはヌル安全とかまでやろうとしてる 
 逆にこっちのやってるのはいまだにネイティブスレッドww 
 何周遅れよこれ   
 そんでいつも後出しジャンケンで負ける 
 動的型もそう 
 後出しジャンケンして負けた 
 後出しジャンケンでも勝てばいいんだが負けたら意味ないね 
 Rubyサイコー 
  >また、ソースコードと同一ファイルにアノーテーション(注釈、いわゆるコメント)として  
 ちなみにmatzがソースコードに型を書きたくない理由だが 
 色々言ってるが、彼は詐欺師だから、本音ではないし、嘘も含まれる   
 まず  
https://logmi.jp/tech/articles/321280    にも書いてあるし、たびたび登場するDRYに反するというやつ 
 言うまでもないが別ファイルに書く方がDRYに反するし 
 これは多分、彼の本音ではないし、煙に巻くための適当な言い訳   
 つぎに、静的型と動的型は振り子のようにトレンドが移り変わり 
 今後また動的型言語の時代が来るから、というもの 
 いやいやこれから先、動的型の時代など来ないだろうし、そもそもの前提がおかしい 
 C言語以降はずっと静的型の天下であり、動的型が勝ってた時代などなかった 
 振り子のようにというのがそもそも嘘偽り誇大表現、こうやって騙してくる 
 C/C++、Java、C#といった超メジャー言語にRubyが勝っていた時代など一度もなかっただろ、詐欺師め 
 もう一つ 
 ここに書いてあることが実は本音(らしい)  
https://jp.quora.com/TypeScript%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E5%9E%8B%E4%BB%98%E3%81%91%E3%82%92Ruby%E3%81%AB%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%9F%E3%82%89%E6%9C%80%E9%AB%98%E3%81%AE%E8%A8%80%E8%AA%9E%E3%81%AB%E3%81%AA%E3%82%8B   要約すると、Rubyに型アノテーションが導入されたら 
 型を書いた方が行儀が良いという風潮が蔓延するだろうが、自分は型を書きたくないので 
 そのために型をかけないようにしておく、というもの   
 良いことが出来ると、良いことをする風潮になるだろうが 
 自分は悪いことがしたいから、良いことが出来ると困る 
 と言っているわけで、マジキチなのがお分かりいただけるだろうか   
 法律があると法律を守らなければならないから嫌 
 信号があると信号無視が出来ないから嫌 
 と言ってるようなもので、まさに悪人の考え 
 型は書いた方が良い、とうことはしっかり分かってる上で 
 嫌だから出来ないようにしておく、と言ってるわけで、悪人独特の自己矛盾   
 しかし普段自分の都合のいいように嘘しか言わない彼が、本音を語っている点は評価できる 
 そろそろこっちでやれ 
 アンチということではなく本スレの代わりとして 
 Rubyについて(アンチ専用) Part005   
http://2chb.net/r/tech/1555162340/   しかし
>>569 に書いたようなことを公式で言うとマジキチだから 
 静的型を導入しない理由を聞かれると、いつも適当なことを言って言葉を濁しているわけ 
 これでRuby3.0で導入されるといわれる型チェックが 
 どうしてああいう感じになってるか良くわかるでしょ 
 型を書きたくないんじゃなくて、Rubyの設計上、型を書こうとすると 
 Perlも6で詰んだしな 
 単純に全体の完成度がバージョン0.8くらいに戻るよね 
 1. 型を導入すると良いものになる。 
 LISP や Smalltalk が好きな人にとって使いやすい Perl の代替となるスクリプト言語なんだから、型欲しい人は他の言語使えば? と言うだけの話。 
 >>576   そう。 Elixir なり Crystal なりを使えばいいだけの話。 
 なんでRubyに型を導入することにこだわるんだろう。 
  ドキュメントに型を書くことになるんだから、そこの仕様をしっかり決めるべきだった 
 >>577   > 型を導入すると対話環境での使い勝手が悪くなり、書き捨てのプログラムを書く際の手間が増える。それは楽しくない。   
 それはstrictモードを作ればいいだけなんよ 
  >>577   > 型を使うと速くなる? そんなに速度が要求される要件に使うなんて決定をする奴がおかしい。  
 > 型を使うとバグが減る? そんなにレベルの低い人は使わなければいい。   
 その二つ、論点のすり替えだよね?   
 型を使うと速くなる? → それは事実 → だから人間の問題にすり替える。 
 型を使うとバグが減る? → それは事実 → だから人間の問題にすり替える。   
 事実ならまず「それは事実だね」って言ってみようか? 
 事実に対して反論するかと思いきや、反論しないんだもの(笑) 
  > でも、文法を拡張して既存コードとの非互換生むような修整は受け入れられない。 
 >>581   型を入れてもオープンクラスな言語では大して速度は上がらない。精々一部のループの速度が上がるだけ。それは事実。java みたいに final や primitive 型入れれば効果は相当あると思うけど、それは Ruby を否定することになる。 
 型を入れると未熟なプログラマでもコンパイル時に分かる程度のバグなら発見できることはある。それは事実。でも実行時例外の回避は出来ないし、オープンクラスを使ったダックタイピングという Ruby の言語デザイン自体を否定することになる。   
 > 事実に対して反論するかと思いきや、反論しないんだもの(笑)   
 反論もなにも、自分はこのスレッドで 
>>344  >>577  >>578  しか書いてないよ。 
 だから、なんらかの反論を待ってるならその相手は自分ではない。   
 自分は Ruby に非互換を生む型の導入を期待するくらいなら、型有りの別の言語で書けばいいじゃんという立場。    
>>580   この場合の strict モードって何を指してるの? 
 RPython 的に SRuby 作って型使いたい人は SRuby 使えってこと?同一バイナリにしてモード切り替えするとしたら、パーサも VM もほぼ別物レベルになると思うけど。 
 共有できるとしたら、pure ruby で書かれたごく一部のライブラリ程度じゃない? 
  型を入れてもオープンクラスな言語では大して速度は上がらない 
 →まつもと「Rubyでは改善は無理なんです。諦めてください」 
 >この場合の strict モードって何を指してるの? 
 Rubyの癌は、型を指定できないことよりも、宣言ができないこと。 
 >>586   strict モードにしたら 
   Class が凍結されるの? 
   途中でモードを切り替えられるの?  
     そのスコープは? 
     マルチスレッド時の挙動は? 
   Object クラス(Kernelも?)への継承関係がなくなるの? 
     データは VALUE 型じゃなくなるの? 
     オブジェクトのデータ構造は自分で C で定義するの? 
   既存CAPIとの整合はどう取るの? 
   そのコードを古いインタプリタに食わせたらどうなるの? 
     また分断するの?(想像するに1.4->1.6 や 1.8->1.9 より大きそうだけど) 
 strict にしたら何がどう変わるのかわからん。 
 過去に例示してあるのなら参照求む。    
>>585   そう。 大抵の要望は Crystal で解決されてると思う。 
 速度欲しいなら Elixir 。もしくは C で FFI。 
  >>589   うん?だからそういう問題が発生するから、 
 Rubyでは型という素晴らしい道具を導入することが 
 設計上不可能って話をしてるんだが? 
  >>590   そのかわり型ということを考えなくても計算機と対話することができる日常用途に便利な言語になったわけだ。 
  Rubyにも型があるんだから、型考えてるでしょw 
 型チェックが欲しい人は他の言語使えって言ってるけど 
 それに加えて型定義ファイルの自動生成の話もあるが 
 型は書いたほうが良いが今更自然な形での導入は難しい 
 型注釈、PythonとRuby両方でやってみたけど 
 実行時まで型が決まらないと言うが、 
 perl5の末期に登場したのがuse strictとuse warningだよ 
 前々からの、掛け違えたボタンの、いよいよ一番上を閉めようとしている段階なのだよ 
 まずはモンキーパッチを抑制するオプションを追加して 
 >>599   Perl5に「末期」なんかないぞ。 
 まだまだ現役だからな。w 
  モンキーパッチ(オープンクラス)ができるのはメリットではあるが、 
 >>596   >Pythonの方が全然完成度高い   
 当然の感想だよ 
 そもそも静的型付けは大きく以下の2つに分類される 
 ・明示的(explicit)な型付け 
 ・暗黙的(implicit)な型付け   
 前者の明示的型付けはプログラマが型定義を手書きすることを前提としており、 
 Fortran/Cobolといった1950年代の太古の時代から培われてきた「枯れた技術」である 
 Python の型アノーテーションも明示的型付けに分類される 
 従って、完成度が高いのも当然、できて当たり前と言える   
 後者の暗黙的型付けは堅牢な型システムを前提とし、処理系が「型推論」と呼ばれる技術により 
 コードから型定義を自動的に決定するものであり、1980年代にMLで開発され、近年、明示的型付けを 
 主としながら部分的に暗黙性を取り込む次世代言語が次々に登場するなど、急速に普及が進みつつある   
 MatzがRubyKaigi 2019で語った:  
https://logmi.jp/tech/articles/321280   「最近は静的型がすごくホットで、2010年代のプログラミング言語はみんな静的型言語で、…」 
 というホットな静的型言語も、後者の暗黙的型付けを指す 
 同時にMatzが語った: 
 「もう、われわれもやろうか。PHPもPythonもやってるし」って言うんだけど、正直やりたくない……。」 
 の「やりたくない」のは前者の(プログラマが型定義を手書きしなければ型検査が働かない)明示的型付けを指す 
 つまり意訳すると: 
  Rubyでも明示的型付けをやろうと思えばいつでもできるけど、今さら時代に逆行したできて当たり前の事を 
  やるなんてつまんない、それより今まで誰もやったこともない血が湧き立つような挑戦をしてみたい、 
  それがRubyらしさだよ 
 そして、この後、「動的型付け言語であるRubyにおける暗黙的な静的型付けの導入方針」として、 
 (型推論の代用である)「型プロファイラ」と呼ぶ新技術の紹介が続くわけだ 
  >>604   なにかごちゃごちゃ語ってるけど、   
 マッツが言った「やりたくない」は 
 面倒くさいって意味だよ。   
 血が湧き立つような挑戦なんてものを思いついていたら 
 それを理由にするだろ。そんなもんないからさw 
  そら掛け違えたボタンの一番上を締めるのは 
 マルクスとかに感化されて 
 他は学生運動とかかな>血が湧き立つような 
 すげえ馬鹿な質問するけど 
 rubyに限らずスクリプト系はlispが基準だろ 
 >>609   理想としてはArray<nil|String|Integer|Float>みたいな感じかね 
  C#的にはエラー(推論不可)だな。 
 TypeScriptは型システムの表現が凄すぎて 
 Haxe では、Array<Dynamic> で、何の型でも入る、配列を定義できる 
 typescript なら [ null, string, number, ‘foo’ | ‘bar’, 1  | 2 ] 
 そうやって夢を見ておけばいい 
 とにかくTSからパクれるものは全部パクった方がいいと思うんだが 
 >>617   JavaScriptはそもそも静的型付け言語であるCやJavaの構文を参考にして設計された言語だ 
 医学部卒のプロ棋士が引退して医師に転向することは容易だが、中卒には不可能である 
  >>620   > JavaScriptはそもそも静的型付け言語であるCやJavaの構文を参考にして設計された言語だ 
 大嘘つくなよ 
 似てるのは中括弧を使ったブロックとかの見た目だけじゃん 
  惜しい 
 >>622   中括弧使ってセミコロン使えば静的型付けになるのかよw 
 的外れもいいとこ 
  >>625   死ねよネトウヨ 
 お前もチョンがどうのとか言って話そらしてんじゃん 
  >>624   JavaScriptに比べたら、Rubyのほうがまだ似てるんだよなあ。w   
 JavaScriptのクラス定義を見たことがあるか?プロトタイプベースなので、ほかではなかなか見られないぞ。 
  JavaScriptのクラス定義は、C++やJavaにそっくり https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Classes    プライベートフィールドはちょっと変わってる。  
 JavaScriptの継承もC++やJavaとそっくり  
 Node.js は、Ruby のコピー。 
 > Node.js は、Ruby のコピー。 
 >>629   つい最近そうできるようになっただけやけどな。w 
  >>634   つい最近 = 4年も前   
 それを今知ったんかい?w 
  Node.js は、Ruby 実装系のコピーだろ。  
 > Node.js は、Ruby 実装系のコピーだろ。 
 ちょっとこの信者なんとかしてくれない? 
 WEB+DB vol.111 は、Ruby on Rails 6, Julia 特集だけど、 
 ocraやgolangのgo buildみたいにRubyスクリプトとその要求ファイルを 
 Bundler は? 
 Bundler というより、gem だね 
 >>640   JuliaとPythonじゃ目指してる方向が違うから、PythonがまるまるJuliaに移行するということはないよ。 
 numpyでゴリゴリ計算してるようなものはJuliaに移行するだろうけど、 
 Cなどで書かれた外部ライブラリを呼び出しまくっているようなものが移行するとは思えない。 
  結局、Perl5はシステム、RubyはWebバックエンド、Pythonは機械学習と、確立した用途で落ち着いてしまいそうだよなあ。 
 Rubyは良く出来た言語だが、困るのはバイナリ処理したいとき 
 でもたいていのところではrubの方がでいいわけですし 
 >>646   バイナリ処理は、目的とやりようによっては、C/C++よりもPerl5/Rubyのほうが簡単なんだが。 
 pack/unpackが意外と使いやすいからな。 
  バイナリはバイナリのまま処理すればいいと思うんだが、 
 perlからの流れであり深い意味は無い 
 >>650   スクリプト言語は原則として、メモリに直接アクセスするようにはできていない。   
 念のために言っておくと、C/C++のキャストと比較しているのならそもそも大間違い。 
 また、あれはあれで問題だらけ。 
  バイナリのまま処理すればっていってるだけで 
 >rubyにCのインタプリタ 
 >>655   win32apiはちょっとできることが違うように思います 
 ffiというのは知らなかったので調べてみます   
 RubyGemパッケージrest-client、バックドアを含むバージョンが立て続けに公開される  
https://security.srad.jp/story/19/08/25/0620202/   不正に公開されたのはバージョン1.6.10/1.6.11/1.6.12/1.6.13の4バージョン 
 1.6.13は1,061回ダウンロードされていたそうだ 
  質問です。 
 a[5]=800 
 >>653 ,654 
 聞かなきゃわからんヤツ、自分が何を言ってるかわからんヤツは、「バイナリ」に手を出さんほうがええで。 
 どうせ自分の面倒を見られへんやろからな。 
  >>660   あぁ、えとなぁ、お前、Javaはバイナリを直接扱えるが 
 メモリに直接アクセスってお前は何を言いたいのか 
 ちゃんと言えるか?って聞いてんだよ。 
  これほど自信満々なところを見ると俺らが知ってるバイナリと 
 >>660 の頭の中のバイナリは違うものなんやろな 
 bit演算を使えば一度に計算できることを 
 RubyはPythonにはもちろんだけどPHPにも喰われ出してるね 
 元々大した事なかったからな 
 >>650   自分でTCP/IPパケットの解析をするときに、「バイナリはバイナリのまま処理すれば」十分なの? 
 バイナリをバイナリのまま処理できるのなんてコピーぐらいの単純なIOしか思いつかないのだが。   
 バイナリって文字列じゃないだけであって区切りを持った意味のあるバイト列だからね。 
  >>667   何が言いたいのかさっぱりわからん。pack/unpackなんか使わずに 
 特定の型の構造体として扱えばいいって言ってるだけなんだが? 
  Rubyには無いでしょw 
 まあ型がない言語でバイナリ扱うのが簡単になるわけがないという 
 じゃあRubyでバイト列を特定の型の構造体として取り扱うにはどうすればいいの 
 >>670   まず引用の仕方を覚えましょう   
 >バイナリ扱うのにC/C++よりもPerl5/Rubyのほうが簡単   
>>649  からの引用のようだが 
 >目的とやりようによっては 
 が、抜けてるね 
  抜けてるからってなんだっていうんだろうか? 
 >>674   反論?w 
 エンディアン、アラインメント、パディングとか、知ってれば当たり前のことばかりなんだけどな。 
  >>676   知ってる用語を並べてないで、当たり前というのなら、その当たり前のことをしてみせなさいな。雑魚かよw 
  エンディアンなんか大した問題ではないし 
 >>656   Windows 10, WSL, Ubuntu 16.04 では、Ruby 2.3 を使っているけど、 
 2.3 は、サポート切れなのに更新された!   
 セキュリティー更新かな? 
  亀だと思うんだが最近知ったんで書くだけ書かせてくれ 
 >>682   一時期流行ったが将来性はないからとか、独特の癖のある言語で情報処理の基礎的な能力を評価するには適さないとか。 
  excelにpython乗ったらもう試験に表計算は要らないよな 
 rubyで一番ヤバいのは|x|とかのラムダ式だろ 
 > 縦棒とか一番押しにくい位置にあるじゃん 
 BS NHK でやってた島根県の松江の 
 分かってないなぁ 
 NHK じゃなかった BSフジ の FNSドキュメンタリー大賞 
 >>690   どれくらいのデメリットか聞いてるだけやで 
  >>693   タイプが面倒だと、 
 「気持ちよくない」 
 「楽しくない」 
 「屈辱」   
 教祖様のお言葉だから批判は許されないよ 
  >>682   Rubyは互換性がクソだから、「試験」にはあわない。   
 これからは互換維持をがんばると言ったようだから、それが実績でしっかり証明されてからやな。 
  特定の日本人に仕様が握られてる言語とか採用は無理でしょ 
 >>697   2系を根絶できないPythonに互換性云々を言われるのは納得しづらい 
  Rubyみたいな汚い言語が採用されるわけないでしょ 
 >>697   たしかにたかだかバージョンを上げただけで Hello world が 
 構文エラーで動かなくなるなんて、クソ以外の何物でもないね    
http://mevius.2ch.net/test/read.cgi/tech/1413113999/126     こんな言語仕様変更がTIOB上位ランク言語で断行されたのは、 
 おそらく歴史的に初めてであろうし、 
 後世に「後方互換性の断絶」の代表例として語り継がれていくだろう 
  >>687 ,693 
 別のRubyアンチスレと同じ流れではないかと思われ 
 ・Rubyに'end'って要らないよな   
http://mevius.2ch.net/test/read.cgi/tech/1563066707/   このスレではPython厨がインデント矯正のメリットを声高々に主張した挙句、 
 以下の結末となった   
http://mevius.2ch.net/test/read.cgi/tech/1563066707/31    > (2)言語による矯正がなければインデントがめちゃくちゃになるレベルの人には有益   
 このスレに当てはめると: 
  縦棒を押すのが苦痛なほどタイピングが苦手な人にとっては、苦痛としか言いようがない      
>>688   一昨日のU18パナマ戦の裏番組では小学生向けプログラミング義務教育を扱っていた 
 その番組によると、三つある小学生向け教育指針の一つ目として 
 (Scratchに代表される)ビジュアルプログラミング言語の利用が推奨されていた 
 たしかに、小学生であればマウス操作主体の方が親しみやすいと考えるのは誰もが納得できるだろうし、 
 ましてや縦棒を押すのが苦痛に感じなくなるほどタイピング教育を徹底させるとしたら無茶苦茶だよね     
 つまり、まとめると: 
  タイピング能力が小学生レベルな人(
>>686 ,694)にとって、縦棒押しを強要するRuby言語仕様は苦痛 
 という結論ですね 
 個人的には、精神年齢が小学生レベルの人にRubyの習得は難しいから、無理に背伸びせず 
 中学生レベルに成長してから再挑戦してもらいたいです 
  ↑伝統的・標準的 Ruby使用者 
 >>699   かなり異なる2系統が存在するだけのPython。 
 マイナーバージョンアップでも破壊的変更が心配なRuby。   
 ぜんぜん別物。 
 納得できないとしたら、あたおかやで? 
  PythonをディスってもRubyの栄光は帰ってこないよ。 
 >>705   結局言語としてのRuby自体にはもう価値も魅力も無いということか 
  もうっていうか元々価値があったのはRubyじゃなくてRailsだぞ 
 PythonにおけるJupyterみたいな環境があれば、Rubyも使う人増えるんじゃないかなぁ。 
 Rubyはsjisもutf-8もそのまま変換せずに扱えて便利 
 >>708   印象。w 
 ネイティブモジュールはたくさんあるから、心配すんな。 
  >>702   そりゃそうだ 
 この手の催しはお前が投書して廃止に追い込んでくれ   
 総務省|若年層に対するプログラミング教育の普及推進事業|地域資源であるプログラミング言語「Ruby」を活用した教科学習(算数)支援モデル  
http://www.soumu.go.jp/programming/017.html    >>705    >>711   当たり      
>>712   えーと、リンク先の文書を本当に読んでカキコしたの? 
 この事業で使用する「スモウルビー」は、(開発言語がRubyで) 
 Scratchと同様なビジュアルプログラミングツールなんだけどね 
 何を言いたいのかワケワカメ   
 ちなみにRubyの世界には、小学生どころか5歳児に素のRubyを 
 学ばせようという、世間一般からすれば無謀と言われかねない試みもあったりする 
 ・『ルビィのぼうけん』特設サイト - 翔泳社   
https://www.shoeisha.co.jp/book/rubynobouken/   個人的には、子供の持つ好奇心という破壊的なパワーをなめちゃいかんと思います 
  2.7のNumberedParametersがいつの間にか@1から_1に変わったんか 
 任意の列数のCSV ファイルから、そのファイルを上書きせずに、特定の2列だけを抜き出したい。 
 >>722   $ csvtool namedcol aaa,ccc data.csv 
 aaa,ccc 
 01,03 
 11,13 
 21,23 
  CSV::Table#by_col! で、列単位で扱える。 
 そこで、delete(列名) で、列ごと削除できるけど、 
 事前に、列名が必要   
 任意の列数のCSV ファイルを扱う場合に、 
 事前に、列名がわからない場合に、どうすれば良いのか?   
 一旦、ヘッダー行を取得して、すべての列名を取得してから、処理すれば良いのか?    
>>723   csvtool というコマンドがあるのですね 
 >>724   csv = CSV.table ARGV[0] 
 puts csv.by_col.delete_if{|name, val| ![:AAA, :BBB].include? name} 
  できた! 
 Windows10, WSL, Ubuntu 16.04, Ruby 2.3 で、 
 君の pwd の結果を曝すか 
 Windows10, WSL, Ubuntu 16.04 の端末上で、 
 ちゃんと読め 
 こいつ他のスレでRubyのネガキャンしてまわってるキチガイだろ 
 Rubyだけじゃないでしょ 
 Windows10, WSL, Ubuntu 16.04 の端末上で、  
 pty は仮想端末だから、ssh 接続をしないと使えないのかも 
 expect のサンプルが、pty を使ったものばかりだったから、ptyを使わなければ良いのかも? 
 Windows10, WSL, Ubuntu 16.04 の端末上で、  
 Windows で Ruby 使ってもロクなことにならない 
 ここの淀んだコミュニティはまだWindows目の敵にしてるのか 
 別に目の仇にしてる訳じゃないやろ 
 >>738   お前がわかってないだけだろ   
 そのエラーはlocalhostでtelnetサーバーを起動してない、 
 もしくは接続が拒否されたって意味だ。   
 今どき暗号化されてないtelnetサーバーなんて使わないから 
 前者だろうな。 
  ちなみにWindows 10にはtelnetサーバーは付属してない。 
 Windows10, WSL, Ubuntu 16.04 の端末上で、  
 tty と入力すると、/dev/tty1 と表示される    
 /dev/tty, /dev/tty0, /dev/tty1 などもある。 
 他にも、S が付いた、/dev/ttyS0 〜 /dev/ttyS191 もある   
 /dev/stdin, /dev/stdout, /dev/stderr もある   
 expect で、このあたりの、デバイスファイルを使えるかもしれない    
>>738   Telnet の接続エラーは、port 23 が開いていないのかも 
 Rubyの課題が全然わからないので教えてほしいです。 
 Ruby 1.8.4 ? 
 その問題を「1、0、−1、0を産む機械」と言い換えればすぐにyieldを使えばいいと分かる 
 0.step do |i| 
   p case i % 4 
       when 0 then 1 
       when 1 then 0 
       when 2 then -1 
       when 3 then 0 
     end 
 end   
 a = [1,0,-1,0] 
 0.step{|i| p a[i%4] }    
>>750   > Linux では、Ruby2.6.5 が最新だが、Windows では、1つ前のバージョンを使うこと! 
 私の観測範囲が狭いのか2.6.5を使わない理由が見つからないのだが、なにかバグありました? 
 >>748   (1..).each{|i| p (-1)**((i & 2) >> 1) * (i & 1)} 
  >>752   Windows 用のRuby は、いつも1つ前のバージョンを使う! 
 RubyInstaller のサイトにも、最新版を使わないようにと、いつも書いてある   
 Windowsでは、MSYS2 でコンパイルするモジュールなどが、 
 最新版に対応していないので、1年ぐらい待つ必要がある 
  >>748   loop{ puts 1, 0, -1, 0 } 
  >>754   RUBYINSTALLER-HEAD(
https://github.com/oneclick/rubyinstaller2/releases/tag/rubyinstaller-head )については書いてありますが 
 latestについては記述見つかりませんでしたが、どこに書いてありますか?   
 > MSYS2 でコンパイルするモジュールなどが、 
 コンパイル済みのfat-gemが問題起こしてる印象があり、なくならねぇかな・・・と思ってますね 
  https://rubyinstaller.org/     以前は、このトップページか、Download のページに書いてあったけど、文章が変わったみたい   
 まあでも、このスレでも、Windows では、最新バージョンは使うなという書き込みがあったから、 
 たぶん、1つ前のバージョンを使わないと、依存関係が解決できないのだろう   
 とにかく、Mac を使っている人は、Windowsの依存関係が地獄だから、皆Macへ移った 
  [1,0,-1,0].cycle {|x| puts x} #無限 
 ひょっとすると Ruby は糞なのかも知れない 
 10.times{|n|puts Math.sign(Math::cos(n*Math::PI/2))} 
 糞は漏れだった orz 
 >>764   そういうことじゃなくて発想の問題よ。 
 物事を単純に考えることができない。 
  流石に本気で三角関数使って実装しようなんて思ってないだろうしそこは別にネタで言ってんだと思うけど 
 そもそも
>>748 はhello worldレベルの初心者だろうに、回答者が求めてるものを無視して俺の解き方見てくれ!って奴ばかりなのは問題だと思う 
 禁止事項 
 他人のレスに対して上から目線で批判するしか能がない評論家のカキコこそ、 
 無駄なスレ消費ではないかと思われ      
>>764   では、貴殿の正解をどうぞ!    
>>766   では、あなたの考える
>>748 が求めていた回答(あなたの解き方)をどうぞ!! 
 訂正 
 X:   
>>766    では、あなたの考える
>>748 が求めていた回答(あなたの解き方)をどうぞ!! 
 O:   
>>767    では、あなたの考える
>>748 が求めていた回答(あなたの解き方)をどうぞ!! 
 いやどうみてもnがちょっとでかくなったら正しくなくなることくらい自明だろ 
 同じ発想でやりたいなら複素平面とかπ/2の回転行列とか使って計算すればいいだけ 
 ただし奇を衒った回答としては斬新さにかけて面白くないと言っている 
 で
>>758 が一番スマート(かつ自分でもそうする)って言ってるんだがなんなんやこいつ 
 >nがちょっとでかくなったら正しくなくなる 
 質問したものです。皆さん様々な意見ありがとうございます。考えてくださってとても感謝しています。 
 def break_test 
 ごめんなさい、 
 そういうキーワードそのものは、返せないだろ 
 キーワードデリゲーションをすればいいんだろ 
 >>774   それをやりたいと思った理由は?   
 仮にできるとしてもnextやbreakが 
 別のメソッドに埋まってたら可読性が低くて嫌だと思うんだけど 
  >>774   斬新な発想だな。w 
 Rubyに限らず一般的に、制御を移すしくみは、関数(メソッド)の範囲を越えることはできない。   
 ただし、「例外」ならそれ以降をすっとばすことができるので、break相当ならできるかも? 
 # 勧めないけど。 
  >>778   理由はいろいろやろ。 
 制御の移しかたを別の関数に封じて共用できたらなあ、という気持ちがわからんのか。   
 可読性なんか、命名でも運用でもどうとでもなる。 
  >>778   実際はwhileじゃなくて 
 xxxxx.each do |key| 
    同じようなことする関数(引数) 
   同じようなことする関数(引数) 
   同じようなことする関数(引数) 
 end 
 の中で関数の中身がある条件だったら 
 nextで残りをやらずにeach.doの最初からやりたいんですけど 
 引数の値が違うだけなのに 
 例えば関数にTrueを返したら next しろとか条件をいちいち 
 付けるのもめんどくさいと思い、質問してみました。 
  xxxxx.each do |key|  
 慣習的に返り値を成否にすることが多いから論理を逆にして 
 >>781   なるほど   
 自分ならオプショナルチェーン的なのを使うか 
 「同じようなことする関数」をメソッドオブジェクトかProcにして配列に入れて 
 true返したらnextしろって書くのを1箇所にする    
https://ideone.com/I7hyOs   https://ideone.com/VQMgg2    jQuery.each( object, callback ) 
 ifのネストができないとかなので 
 あとgithubプロジェクトには、オブジェクトファイルとか 
 中学生相手に謎のマウントとって恥ずかしくないんかこのおっさん 
 養成読本シリーズのムック本が出た!  
 >>783   返事が遅くなりすみません。 
 なるほど、そんなにシンプルにできるのですね。 
 Rubyの問題ではなかったですね。 
 ありがとうございます。 
  >>784   条件を配列にいれて処理すると楽そうですね。 
 ありがとうございます。 
  >>785   Ruby on Rails入れてませんがjqueryが使えるのでしょうか。 
  github の ignoreとか適当だから、objとか普通にアップしてるな。 
 >>796   Rails を使っていない場合でも、   
 ERB, Selenium WebDriver, Nokogiri などで、 
 HTML を処理する場合には、Node.js, jQuery も使う 
  >>797  はパスワードをうpして慌てるタイプ   
 あるいは気付かず放置してるだけかも知らん 
  あるフォルダ内の子フォルダだけを取得するのに、こう書いているのですが、 
 RubyはUNIXで使うものであり、シェルコマンドも積極的に使うのが前提 
 単発で使う分には十分簡単に書けてると思うが 
 Dir.glob( "パス", :directory ) 
 rubyを使い出して2週間なのですが困っています。 
 sjis指定で読み込んでると思い込んでるだけで実際はutf-8になってるんじゃないかな 
 汎用機のデータをRubyで処理とか懐かしいな 
 >>806   どういう環境を使って 
 どういう方法でエンコーディング指定をしていて 
 どうやって読み込んで、どこに出力して、出力結果をどうやって確認してるのか? 
 そういう情報が必要 
 Ruby関係なくエンコーディングに対する理解を深めたほうが良さげ   
 基本的には外部エンコーディングと内部エンコーディングを指定すれば問題なし  
https://docs.ruby-lang.org/ja/2.6.0/class/IO.html#io_encoding   >File.read('sjis.log', mode: "rt:sjis:utf-8") 
  >806です 
 >>809   文字コードの指定は、 
 fileopen時にwindows-31Jを指定してうまくいきました。 
  半角カタカナ ← 混ぜるな危険 
 >>812   これを見てやっとわかりました。   
 rubyは真面目に解釈してこうなったんでしょうけど、 
 sjisファイルの読み込みでsjis指定では駄目となると 
 初心者泣かせですね。 
  いいがかりは止せ 
 Windows では一般用語として、sjis と書くけど、 
 別にMSがSJISを拡張したんじゃないけどな。 
 >Encoding.aliases.select {|_,v| v == "Windows-31J"} 
 半角カナや大半の漢字はsjis範囲内だからきちんとsjisで読めばほぼ文字化けはないはず 
 >>819   エンコーディングは同じで文字集合が違うだけだからね 
  リファレンスマニュアルの aliases -> Hash の例 
 HTML (HTTP) で Encoding Shift_JIS って書くと怒られた思い出 
 >>821   いやいやいや   
 文字集合と符号化方式を別々に選択できる状況ならともかく 
 「ファイル読み取り時のエンコーディング指定」とかの文脈で使うエンコーディングって用語は 
 狭義の符号化方式だけでなく文字集合も含めた上位の概念だから 
  >>818   エンコーディングと機種依存文字をごっちゃにしてるやろ。 
  >>826   SJISは元から(文字集合を)拡張可能なのだから 
 同じSJISでも機種依存文字は発生する   
 エンコーディングはSJISもCP932も同じ 
 文字集合が違うだけ   
 理解できる? 
  理解できなくなったら、このようなレスをするんだよなw 
 例えば、Unicodeは文字集合(キャラクタセット、Coded Character Set)で 
 外字と引っ掛けた洒落や 
 >>830   >エンコーディングは変わっていないが文字集合は変わってるので  
 >最新のUnicodeを表示させると一部文字化けする   
 じゃ文字集合だけ更新すれば文字化け解消するのかな? 
 文脈理解せず無意味なレス繰り返してるとそりゃ外字言われるわ 
  そりゃ、新しい文字集合を使うと、新しい絵文字も正しく表示されるだろ? 
 正確に言えば、新しい文字集合に対応したフォントを使うとだね。 
   >>832 の言う「文字集合だけ更新すれば」が意味不明だが 
 「仕様書を更新すれば、なにも変更はいらない」って意味なら 
 そんなことは誰も言ってない 
 よく出てくる、&:メソッド名は、proc オブジェクトですが、 
 シンボル 
 マニュアルの「シンボルの実装と用途」ってところを読むと良いと思う 
 https://docs.ruby-lang.org/ja/2.6.0/class/Symbol.html     &:to_iも":to_i"がシンボルで、そのシンボルが"&"で修飾されてるだけ 
 "&"はProcオブジェクトやto_procメソッドを持つオブジェクトをブロックとして渡す時に引数につける修飾記号 
 実行時にSymbol#to_procが呼ばれてそれがブロックとして渡される 
 mapはシンボルを引数にとらないからmap(&:to_i)でブロックとして渡すけど 
 漏れは、いつも、メソッドがシンボルを引数に取るかどうか、分からないから、 
 >>839   ホントにムダなんか? 
 シンボルを渡されても、内部でやはりブロックにしてそうだが。 
  ていうか、なんでそんな半端な設計なの? 
 シンボル・・・型が無い言語で、型を気付かれないように書くための手段の一つ 
 >>841   リファレンスにも書いてるけどシンボルとブロックだと扱いが違う 
 ただパフォーマンスにシビアな箇所じゃなければ特別気にするほどの違いはない  
https://ideone.com/p5oW7Y    >>843   その「型が無い言語」とか「型がないとされる言語」という理解は間違ってるよ 
  シンボルと文字列を区別したのは失敗だったとmatzも言ってるな 
 >>845   反論は「あってるよ」だけで十分そうだねw 
  >>842   文字列リテラルよりも記述が簡便だからという理由により、本来文字列を使うべき用途にもシンボルが乱用された結果、 
 シンボルGCなどという頭の悪いものが誕生したりしたんだよな 
 誰がどう見ても完全に失敗 
  シンボルは、識別子を表すために作られたのか、数字で始められないだろ。 
 >>848   あいやそっちじゃなくてinjectがシンボルを引数にとってブロックみたいな処理ができるって方の話 
 mapとかは&がいるんだよね? 
  >>849   リテラルが書けないだけで、to_symすれば数字始まりのシンボルも普通に作れる 
 だから型が文字列と別である理由にはならない 
  >>850   すまん848は
>>846 に対するレスだ 
 &:が後付けだから一貫性がないだけで、深い意味はない 
  >>850   sliceやchunkのような分割系以外は 
 ブロックがなければEnumeratorを返すのを基本ルールにしてるから 
 mapはシンボルを取る形がないんじゃないかな   
 injectはEnumeratorを返すものじゃないから 
 ちょっと気を利かしてシンボルを取る形を加えたのかもね 
  今年が2.7ってことは 
 Rubyで2値の差を得る簡単なメソッドとかないかな  
 (num1 - num2).absじゃあかんのか? 
 >>854   最初の小数点の次の数は二桁以上にしない縛りなかったっけ? 
  今月までプログラミングに一切触れたことのなかった初心者です 
 >>863   ありがとうございます 
 アドレスの参照先をコピーしてるだけだったんですね 
 理解しました 
 調べたところMarshalで書き出せばバイト値もコピーできるようなのでこの方法でいきます 
  >>864   使い方にもよるのかもしれんが階層が浅くて固定ならdupで十分じゃない?   
 foo = [[1,2], [3,4], [5,6,7]] 
 bar = foo.dup   
 bar[0] = [9,9,9] 
 foo #=> [[1, 2], [3, 4], [5, 6, 7]] 
 bar #=> [[9, 9, 9], [3, 4], [5, 6, 7]]   
 bar[1].push 200 
 foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]] 
 bar #=> [[9, 9, 9], [3, 4, 200], [5, 6, 7]]   
 bar[2] = bar[2].dup.push 300 
 foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]] 
 bar #=> [[9, 9, 9], [3, 4, 200], [5, 6, 7, 300]]   
 階層が深くて手動でdupするのが大変ならdeep_dup   
 require 'active_support' 
 require 'active_support/core_ext/object/deep_dup'   
 baz = foo.deep_dup 
 baz[1].push 300 
 foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]] 
 baz #=> [[1, 2], [3, 4, 200, 300], [5, 6, 7]] 
  年収は、5大SIer, Java などの土方系・奴隷、多重請負構造では、1社間に入る度に、3割抜かれる! 
 C/C++ 以外のほとんどの言語では、参照がコピーされるだけ! 
 しかし現実には大半のRubyistよりもSIerのドカタの方が給料は高いのであった 
 給料だけでもないやろ。 
 要件定義、外部設計を受注できるプライマリの 
 言語を知っている。いや知っているだけで金になる仕事はないから 
 上流工程が、下級工程の給料を決める 
 >>876   日本のIT企業はほぼ国内事業しかやってないし 
 規模も小さいからどうしても時価総額は上がらないんだろうね 
 あと大したことやってない 
  >上流工程が、下級工程の給料を決める 
 Amazonの売上の大半はEC 
 まあ利益出してるところじゃなくて"売上"というのなら、 
 Windows10, WSL, Ubuntu 16.4 で、 
 Vagrant, Chef, RSpec, Serverspec などの、 
 環境の構築テストなどを、すごく簡潔に、宣言っぽく書いている 
 k-sato_at_oiaxって実はもう死んでたりするの? 
 改訂4版 基礎 Ruby on Rails、黒田努・佐藤和人、2018/9/7 
 義務教育にrubyが組み込まれなかった時点でrubyは終わりだろ 
 Windows のPowerShell で、1-liner で、webrick サーバーを立てるのに、 
 windowsで-e の後にシングルクォーテーション使ってるからでしょ 
 ちな 
 ruby -e 'puts "hello"'  
 WSL使え 
 製造者がWindowsが憎いMicrosoftが憎いと言ってるのに、わざわざWindows上で使わなくても。 
 コマンドプロンプトのクォート解釈は、控えめに言ってメチャクチャだからな。 
 まとめ。 
 pythonは””も’’も意味一緒だが 
 'puts %Q(hello)' 
 >>899   まとめ。  
 Windows10 で、1-liner のruby -e で順に、1〜2 を実行した場合    
 1. 'puts %Q(hello)' 
 2. "puts %Q(hello)"   
 コマンドプロンプト・PowerShell、WSL, Ubuntu 16.04 のすべてで、 
 hello 
 と出力された! 
  >>898   微妙というか、ダブルクォートは中身を命令として実行し、 
 シングルクォートは中身を文字列として処理する。   
 全然違うぞ 
  1-liner を、" " で囲むと「$ \ ` !」などの機能が働くので、 
 >>903   それが結局、シェルによるっつー話やろ。 
  rdoc の説明を読んでるけど、難しい 
 配列に0から任意の整数を重複なく格納するメソッドを作ってみたんですが、戻り値がnillになってしまいます 
 >>908 です 
 定義の最後の部分で戻り値を記述するのを忘れており 
 記述したら解決しました 
  digitsメソッドが返す配列を元の数値に戻すには 
 ないね 
 誤爆 
 これの逆を考えるか 
 自分で計算というか.reverse.join.to_iすればいいよね? 
 見た目シンプルだけど一旦文字列を経るのがモヤっとする 
 >>914   Math::BaseCalc - Convert numbers between various bases - metacpan.org  
https://metacpan.org/pod/Math::BaseCalc     昔探したがperlにはあるがrubyにはないtpyhonにも無い 
 なんで無いのか分からないほど便利な関数なのになんで無いんだ? 
  tpyhonは知らんけどpythonにはnumpyでpackbitsがあるんやで 
 >>919     >>914 が言ってるのは単なる基数の変換じゃないよ 
 基数の変換はto_s, to_iに2~36までなら直接渡せるからそれで済ませることが多い 
 もっと大きい基数が必要になってもinjectやmapで簡単に変換可能だから 
 いくつかgemあるけど人気ない 
  こういう基本的なものは、言語そのものに内蔵しないといけない 
 2/8/10/16進数の変換は基本的だろうけど 
 digits/undigits 作ってみた (baseに配列が使える) 
 https://ideone.com/QJgsBR     [1, 1, 0, 1, 'hoge'].to_i(2) # => 11 
 123456789.to_i([24,60,60]) #=> [9,33,21,1428] 
 [9,33,21,1428].undigits([24,60,60]) #=> 123456789 
 digits/undigits 拡張してみた (baseをbit数に出来る,負の数で符号拡張) 
 https://ideone.com/xvXVfv     0b0011_100_01.my_digits([4,3,2],1) #=> [1,4,3] 
 [1,4,3].undigits([4,3,2],1).to_s(2) #=> "1110001" -> 11_100_01 
 0b0011_100_01.my_digits([-4,-3,-2],1) #=> [1,-4,3]  (-4:符号拡張) 
 [1,-4,3].undigits([4,3,2],1).to_s(2) #=> "1110001" 
 さて問題です。
>>926-927 を説明なしに理解できますか? 
 質問です 
 SQLite, MySQL, PostgreSQL の、3大DB が使える! 
 >>931   MariaDBもきっとだいたいだいじょうぶ。 
 まだまだMySQL互換だから。 
  >>931   SQLiteはiPhoneで重要な機能を提供してるのも知らないの?w 
  >>931  >>932   ドライバーが提供されてればMariaDBに限らずどのRDBでも使えるぞ    
>>933   SQLiteは高い並行性が求められるWebアプリには適さない 
 Rails用のDBという文脈では
>>931 のSQLiteに対する認識は間違ってない 
  >>933   自分は文脈読めないバカですって自己紹介してるようなもんだな 
  まあ実際にはRailsアプリでSQLiteを使うことなんて無いから、使えないと考えても差し支えない 
 SQLite は、ブラウザがURL などを保存するのに使っている 
 Dockerが主流になるまでは、ぽん置きで使えるようになる簡単なツール程度だと使ってたな、俺は。 
 C:/Ruby24-x64/lib/ruby/2.4.0/fileutils.rb を参考にして、 
 出力は、 
 ビット演算のビット反転について質問なんですが 
 # ~n == -n-1 
 >>944   そもそものビット反転の定義を知らずに悩んでました 
 ご回答ありがとうございました 
  >>945   ~(0b...00001010) = (0b...11110101) = -11 
  0b1010 
 >>947   じゃ  
 1111 1111 1111 1111 1111 1111 1111 1111  
 を反転させると? 
  0000 0000 0000 0000 0000 0000 0000 0000 
 >>950   残念!   
 pry> ? Integer#~ 
 or 
 irb> help ‘Integer#~’ 
  そうか  
 有明セントラルタワー 
   痰吐きジジィのチンポが18階の(どこの島かは言わないよ)20代の女の娘のオマンコに 
 入って行くウゥウウウーーー!  
 >>953   2補数の符号反転は 
 -n == ~n + 1 
 だから 
 ~n == -n - 1 
 # 上だけ覚えれば十分 
  補数表現には2の補数と1の補数があるって知らないのかな? 
 どうせ知らないと思うけど 
 >マイナスが出てくるのは2の補数表現の話だけ 
 1の補数・2の補数とかは、基本情報処理資格の初歩だろw 
 話としてふつうなのはわかるが、実装としては見たことがないなあ。 
 そりゃ便利な方が使われるわ 
 1の補数があまり使われない理由は 
 >>967   0が2つあるから循環桁上りの考慮が必要 
 その考慮がいらない2の補数のほうがALUがシンプルになるから 
  >>967   加算と減算を同じ回路で実行できるから。 
  すみません、初学者で苦労してまして・・ 
 Ruby で、Excel, Libre Office とか、やってる人いるの? 
 Ruby で xlsx を編集する 
 http://secret-garden.hatena @blog.com/entry/2017/09/21/174348   
 rubyXL についての記事   
 @ を取り除いてください! 
 はてなブログなので一応、5ch のアクセス禁止を警戒して、URL を書きません! 
 >>971   rubyxlというのは使ったことなくて知らないが、もっと低レベルなやり方 
 require 'win32ole' 
 でexcelシートの読み込みはやっている 
 win32oleでぐぐればやり方はなんとかなると思う 
  本当にxmlでやりたいんなら 
 ぶっちゃけ質問者の利益を最優先で回答すると 
 PythonではWindowsにも人権があるからな  
 >>971   require 'rubyXL' 
 require 'rubyXL/convenience_methods'   
 book = RubyXL::Parser.parse('input.xlsx') 
 sheet = book[0] 
 sheet[0][0].change_contents(sheet[0][1].value) #B1の値をA1にコピー 
 book.save('output.xlsx')   
 書式をコピーしたい場合や計算式をコピーしたい場合は別途対処が必要 
 まとめてコピーしてくれる便利メソッドはないっぽいので必要なら自作 
 Windowsならwin32oleでCOM使ったほうが簡単 
  VBAの代わりに使うようなクライアントサイドの用途なら 
 >>981   Excelでちょっと始めて、データが大きくなってきたら、そのままpandasに移行。 
 もう勝ち目ないな。 
  >>983   ExcelとPandasの用途の違いも分からないのかw   
 最近のpython推しは低脳ばっかだなw 
  >>979   随分まえからCygWinでこの村には出入りしとるが 
 なーんも面白いもんなんか無いぞ? 
  rubyって全てがオブジェクトなところがいいですよね 
 Ruby・・・値型はオブジェクトだが、メソッドはオブジェクトでない。  
 どっちでいいよ。 
 >>990   Methodクラスのオブジェクトはメソッドじゃないぞ 
  >>991   それがどうしたの?   
 Methodクラスのインスタンス(=オブジェクト)は 
 メソッドとして扱うことができる 
  >>992   >>986の言っていることは間違っているということを指摘しているだけで実用に関しては名にも言及していないのにお前はなんでそんな必死なの 
  ここまでの流れを関数型言語スレに当てはめると、こんなところ >>986 :モダンな関数型言語において、すべてが第一級市民なところがいいですね >>987 :いや、関数適用は第一級市民じゃないぞ >>990 :関数 apply 定義すればいいよ >>991 :関数 apply は適用じゃないぞ   >>986 「rubyって全てがオブジェクトなところがいいですよね」  
>>987 「メソッドはオブジェクトじゃないぞ」  
>>990 「Methodクラスがあるよ」 ←は?  
>>991 「Methodクラスのオブジェクトはメソッドじゃないぞ」  
>>992 「それがどうしたの?」 ←は?は?は?   
 マジで意味不明だわコイツ 
 馬鹿すぎる 
  >>993  >>991 が誤りではないかと >>986  とそれにに対する反論である>>987  を改ざんして: >>987 を擁護する?   間違いをちょっと指摘しただけでガイジに粘着されたでござる 
 「素数は全部奇数だよ」 
ID:jbjCUWIF0のレス一覧:  >>513   偏っているか、それともそうでないかを判断する基準をどのように記述していますか? 
 私には 
>>513   2 2 2 6 6 が偏っているようにはみえないのです、多分判断基準が違うのだと思います、なにか判断基準を書いていただけますか? 
  >>513   5, 7 が出てない   
 それに同じ数字が、3回続くのが、2回も出てる 
  まさか1桁の整数の乱数を10個取り出したら0から9までダブってないとかそういうのか 
 >>514   shuffle, sample も疑似乱数だから、 Kernel.#rand, Random と同じじゃないか? 
  乱数なんだから偏ってはいけない。 
 つまりテトリスカンパニーのようにメルセンヌツイスタ株式会社みたいなのが数字の出る順番のルールを決めて 
 >>518   全然違う 
 shuffleはただ位置を入れ替えるだけだから、最初の10個には必ず0から9が1つずつ含まれる 
 これが君の望む乱数のようだからそうすりゃいいんじゃね?と言ってるだけ 
  >>522   その代わり、最初の9個を見れば10個目は100%予測できるから、そんなのを「普通は」乱数とは呼ばないんだけどな 
 ただ、君の言う乱数はどうやら普通とは違うようだから 
  ものによっては「7が最近出てないのでそろそろ出るはず」「1が何回も出るはずがない」を支持するデタラメ数が必要とされることはあるのだが 
 乱数 まろやか で検索するといいぞ。ポイントは正規分布 
 JavaScript でも作ってみたが、これも乱数が偏っている。 
 >>526   赤黒が1/2の確率で出るルーレットがあります。 
 三回回したところすべて黒が出ました。 
 次に赤が出る確率は? 
 一般人「1/2」 
 バカ「こんなに黒が続いたんだからそろそろ赤が出ないとおかしい!偏っている!だから赤100%だ!!」 
  >>526   乱数にけちつける前に10面ダイス買ってきて、10000回振って出目をメモして偏りを確認してこい。 
 それが片寄ってると思うなら、別の店でダイス買い直して再試行しろ。 
 終わるまでスレに帰ってくるなよ。 
  リアルのダイスは安物だと 
 >>503   欲しいデータはこんなの?  
 2 5 6 9 7 3 1 4 8 
 8 4 6 2 5 7 1 3 9 
 2 1 9 8 5 7 4 6 3 
  >>528   10面ダイスなんて偏ってるに決まってるだろ何次元人だお前 
 20面ダイスの下1桁を記録させるのが正しい 
  単純にサンプル数が少なすぎる 
 1から9まで出る乱数を9個抜き出したとき: 
 もっと単純化して言ってしまえば、コインを2回投げたときに、表裏が1回ずつ出る確率と 
 こういうと、 
 ちなみに、8回以上を9回以上に置き換えても13%の確率があるので、特段珍しいことでもない 
 ActiveRecordの件数が多い時、メモリを大量に使った際に、その分のメモリが開放されないままになってるように見えるのですがこれは仕様ですか? 
 ActiveRecordは知らんけど、RubyのGCがあんまり働かないのはオレも経験したことがある。 
 いっそ自動処理をあてにしないで、適当なタイミングで明示的にGC.start()したほうがいいと思う。   
 あるいは、ちゃんと設定のチューニングをするか。 
 めんどくさそうなうえに、ちゃんと動作すんのかは知らんけどな。  
https://docs.ruby-lang.org/ja/latest/class/GC.html   >>270   Railsはチュートリアルとか本とかネットの情報も多いけどSinatraは情報が少な過ぎるよ 
  たぶん、インデックスを使っていない、select だろう。 
 それだと設計ができない無能SEの給料は低くないといけない 
 同じリポジトリの同じソースからのデプロイで昨日は成功したのに今日は成功しないのは何でなんだぜ? 
 韓国に楯突いたことでアメリカからも敵国認定されてブロックされてしまったのだろうな 
 米国に置いてあるデータ、アメリカ製サービスからは早急に引き上げたほうがいい   
 エンジニアの生命線が...。米国の貿易施策でGitHubの利用制限を受けるイランなどの国々 | ギズモード・ジャパン  
https://www.gizmodo.jp/2019/07/github-trade-control-regulations.html     GitHub、米国の経済制裁対象国ユーザーによる非公開リポジトリ利用をブロック | 財経新聞  
https://www.zaikei.co.jp/article/20190730/523662.html   >>546   イランから手を引けばいいだけでしょ(笑) 
  ruby はよくある printf の類が日英混合文でも大丈夫? 
 >>548   たぶん言語は関係ない。 
 文字コード、文字判定、フォント、コンソールなど、環境次第な要素が多すぎる。 
  Rubyとしては「STDOUTに流すだけで特に何もしてない」ような気がする 
 逆にその日英混合文がダメな状況ってどういう状況だよ 
 やった!! 
 俺の求めていたものだ  
https://logmi.jp/tech/articles/321280   一見楽そうに見えて、余計に面倒なことになるwww 
 こんなんだったら、初めから型宣言したほうがマシだわな 
 型宣言の何が嫌なんだろ(謎 
 意地? 
 DRYに反してるっていうけど、何処が?   
 まぁでも求めていた展開だ 
 本人も作りたくないであろうこんなツールに多大な時間を割くことで 
 10年単位で他の言語に遅れることになるだろうな 
 大爆笑 
 >>553   > DRYに反してるっていうけど、何処が? 
 Type obj=new Type() 
 じゃないの?型を2回書いてるじゃん!という。   
 なお、C#がそうだったんだけど、遠からず改善される予定。 
 Type obj=new() 
 # 最初からそうしといてよー、と思わないでもないけど。w   
 型のDRYを避ける方法はあるんだよな。 
 しかし、Rubyはそこから目をそらして、DRYを言い訳にして、とにかくなにがなんでもオブジェクトの宣言を含めたくないんだろう。 
  >>553  https://qiita.com/t2y/items/2a1310608da7b5c4860b   レス:1-200  201-400  401-600  601-800  801-1000  ALL  
このスレへの固定リンク: http://5chb.net/r/tech/1545421414/ ヒント: http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。TOPへ  TOPへ   
 
	  
全掲示板一覧  この掲示板へ  人気スレ  | 
	Youtube  動画  
	>50  
	>100  
	>200  
	>300  
	>500  
	>1000枚  
	新着画像 ↓「Ruby 初心者スレッド Part 65 	YouTube動画>11本 ->画像>3枚 」 を見た人も見ています:一覧 )プログラムの質問なのですが  設計・命名スレ 	 友達いないからAI作って会話したいんだが 	 sizeof(char)が必ず1でも、省略すべきではない Python上げVBA下げしてる気持ち悪い奴ら  エクセル指向プログラミング  【Scratch】メイクロックマン パート2  llvm  [RPA]PC自動化技術総合スレ[効率化] 	 Visual Studio .NET 2002  Chainerやっぱりお絵かき専用だった 	 Java/C++ VS C# どっちが好きか教えて Ruby 初心者スレッド Part 63 	 UNIXプログラミング質問すれ Part10 JavaScriptライブラリ使わずプログラミングする技術  Rust Part7 	 アプレットとは何だったのか? 	 プログラム板とプログラマー板の印象が逆転してる件  サイトを作ったんやがSEO対策って具体的になんや?  Docker/HyperVとVirtualBox/Vagrantが共存可能に 	 a4です。P2P人工知能「T」開発(3) 	 宣言型 命令型プログラミングについて  C++相談室 part144 	 俺のトリップを当ててみろ  誰かvscodeの使い方を0から教えてくれ  【言語仕様】重要語左端説  Javaはもう死んだの? 	 もうUnixで開発なんかしたくない!COBOLなんて嫌だ  【初心者歓迎】C/C++室 Ver.100【環境依存OK】 	 
  
    
  
 
 23:39:26 up 8 days, 14:01,  1 user,  load average: 101.53, 107.64, 112.41
in 1.0916020870209 sec
@[email protected]  on 103112