- 1 名前:デフォルトの名無しさん [2020/01/04(土) 01:15:34.30 ID:X7t3Qsuc0.net]
- プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ
質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。 Ruby on Rails については、WEBプログラミング板で 前スレ Ruby 初心者スレッド Part 65 https://mevius.5ch.net/test/read.cgi/tech/1545421414/ るりまサーチ (リファレンス検索) rurema.clear-code.com/ Rubyist Magazine - るびま jp.rubyist.net/magazine/ 逆引きRuby www.namaraii.com/rubytips/ Ruby コミュニティ公式 https://www.ruby-lang.org/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
- 477 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 12:19:18.12 ID:E4DJZwTiH.net]
- RailsがCoffeeScript推してた頃はフロントも総合した一貫性のある技術スタックにしていこうという気概があったんだけどね
結局、時代に選ばれたのはSPAとAPIでフロントとバックエンドの間に明確な技術境界を設けるというものだった それ以来、RailsはWebの先端から脱落し、Rubyの凋落が始まった
- 478 名前:デフォルトの名無しさん (ワッチョイ 2a01-Yqly) mailto:sage [2020/05/11(月) 12:37:05 ID:masQzK0H0.net]
- DjangoもSpringもASP.NET(MVC/Razor Pages)もGinも
みんな時代に合わなくなってきているってことになるねw ASP.NETなんてSSRはすでにobsolete扱い MSは時代に合わなくなったフレームワークを莫大な開発費かけて作ってるわけだw
- 479 名前:デフォルトの名無しさん (ワッチョイ ea79-O+HC) mailto:sage [2020/05/11(月) 13:19:06 ID:5SRnzYBd0.net]
- >>453
> 次に作成したいもの、作成できるものがよくわかっていません。 それは人に聞くものでもない。 自分が作りたいと思う動機付けが無ければ、意味がない。
- 480 名前:デフォルトの名無しさん (ワッチョイ bbad-I8iA) mailto:sage [2020/05/11(月) 13:34:37 ID:62ugI4sI0.net]
- 理想は何か作りたいアプリがあって
調べながらそのコードを書くと上達が早い けど本当に作りたいものは難しいことが多いから (機械学習で株式市場を予測して金を稼げるとか) 小物を作っていくうちにそれならこういうものも できるというアイディアが湧いてくることもあるね
- 481 名前:デフォルトの名無しさん (アウアウエー Sae2-jgrQ) [2020/05/11(月) 13:46:59 ID:MhpqGE2Na.net]
- Django はそれだけで API も造れるからまだ良いけど
Rails は終わってるな
- 482 名前:デフォルトの名無しさん (ブーイモ MMd6-yKpr) mailto:sage [2020/05/11(月) 14:28:23 ID:GNIZ9TPPM.net]
- いつもの妄想虚言癖くんは相変わらずRubyもRails知らないの丸出しだな
平日昼間からID変えて連投しまくってアンチRuby&アンチMatz活動ご苦労様
- 483 名前:デフォルトの名無しさん [2020/05/11(月) 16:25:29.55 ID:oqh5wUWv0.net]
- 超有名な「Classi」学校教育のICT活用を支援するクラウドサービスもrails製
なんと120万人近くのユーザを捌いているらしい。 これだけの規模のサービスを作れるrailsは最強。まさに覇権。
- 484 名前:デフォルトの名無しさん (ワッチョイ 7333-sgQa) mailto:sage [2020/05/11(月) 16:39:57 ID:RveftTfZ0.net]
- 「ユーザー数」の詳細がわからんとなんとも。
のべ/ユニーク、アクセス頻度、集中度、負荷、など。
- 485 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 16:52:03.96 ID:E4DJZwTiH.net]
- https://www.itmedia.co.jp/news/spv/2005/07/news088.html
> 「課題が出せない」「試験が受けられない」――学校向けSaaS「Classi」がつながりにくい状態に 生徒から不満の声相次ぐ Railsが悪いというつもりはないけど、まあよくある話だよね 多く見せるために全生徒をユーザー数として謳っていたけど、コロナショック以前は実際にはほとんど使われてなかったんだろう
- 486 名前:デフォルトの名無しさん (オッペケ Sr33-I8iA) mailto:sage [2020/05/11(月) 20:53:05 ID:ctqY8lB1r.net]
- 俺は一通り文法学んだら数独ソルバーとかbrainf**kのインタープリタ作ってたな
- 487 名前:デフォルトの名無しさん (ワッチョイ be2c-Qfm0) mailto:sage [2020/05/11(月) 21:52:37 ID:M5DpbX0A0.net]
- Go, Ruby など、サーバー側は、CLI のちょっとしたフィルター・パイプなどを作るとか。
でも、しょーもない 「プログラミングのお題スレ」の簡単そうな問題を解くとか Selenium Webdriver, Nokogiri で、簡単なものをスクレイピングするとか。 漏れはこれで、yahoo などのログインを自動化してる SASS, Bootstrap, jQuery なども初心者向け。 Linux コマンドも、10個ぐらいは学んだ方がよい
- 488 名前:デフォルトの名無しさん (ワッチョイ be2c-Qfm0) mailto:sage [2020/05/11(月) 22:02:19 ID:M5DpbX0A0.net]
- Farstep【プログラミング講座】
https://www.youtube.com/channel/UCiGdng-6ZLS5tlfw0xnG3TA この人が、ここ1週間で4本、Rails 動画を上げてる。 Bootstrap を使ってる
- 489 名前:デフォルトの名無しさん [2020/05/11(月) 23:01:03.73 ID:9KnLD9b60.net]
- 教えて頂きありがとうございます。
調べながら作ってみます。 ずっと先にはなりますが将来的には個人でゲームを開発してみたいです。 それから仕事としてゲーム開発に携わったりあらゆる分野で活躍できるようなプログラマーになりたいです。
- 490 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 23:52:58.38 ID:RveftTfZ0.net]
- >>470
なら、RubyよりもC#!
- 491 名前:デフォルトの名無しさん (アウアウエー Sae2-jgrQ) [2020/05/12(火) 10:13:53 ID:4WwqN1hQa.net]
- Unity + C# 超おすすめ
Ruby 忘れて良い
- 492 名前:デフォルトの名無しさん (JP 0He6-lvFW) mailto:sage [2020/05/12(火) 17:40:54 ID:v0jwNoPnH.net]
- まあRubyでも怪盗ロワイヤル系のクソソシャゲなら作れるぞ
まあそんなの作れたところで今時仕事ないし、アーキテクチャ的には単なる普通のWebアプリなので ゲーム作りのスキルはほとんど身につかなくて時間の無駄だろうけど
- 493 名前:デフォルトの名無しさん (ワッチョイ 9f5f-A9by) mailto:sage [2020/05/12(火) 19:19:51 ID:PEyfu59N0.net]
- RPGツクールXP/VXならばRubyなんだよなぁ
- 494 名前:デフォルトの名無しさん (ワッチョイ bbad-I8iA) mailto:sage [2020/05/12(火) 21:41:35 ID:1JM+jinB0.net]
- ツクールMVでJavaScriptに変えちゃったのが残念
モバイル出力対応の都合で仕様がないんだろうけど
- 495 名前:デフォルトの名無しさん (ワッチョイ d342-aTVK) [2020/05/12(火) 22:07:41 ID:Bhe4de5t0.net]
- C#がゲーム開発に適しているんですね。
ゲーム開発、セキュリティ関係、リモートワーク、システムエンジニアに興味があります。
- 496 名前:デフォルトの名無しさん [2020/05/12(火) 22:12:55.72 ID:Bhe4de5t0.net]
- 趣味レベルでもいいので将棋プログラムやチェスプログラムも作ってみたいです。
- 497 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 22:18:02.61 ID:Yyd7NZU2r.net]
- いいんじゃない。自分の作ったAIと他人の作ったやつを対戦させてみればよい
- 498 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 22:35:58.24 ID:1JM+jinB0.net]
- >>476
いきなり難しいのは作れないから簡単なのから作るといいよ たとえば将棋やチェスの前にリバーシやトランプとか もっといえば最初はCUIのマルバツから始める位でいい
- 499 名前: []
- [ここ壊れてます]
- 500 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 23:29:09.40 ID:6bKcudlj0.net]
- CUIのマルバツというと
先手・2、2、○ 後手・1、1、× 先手・1、2、○ 9秒、8、7、 とかそんな感じか?
- 501 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 23:58:29.03 ID:qFAkep2ZM.net]
- >>477
作れば良かです。
- 502 名前:デフォルトの名無しさん (ワッチョイ 2dad-Wcp/) mailto:sage [2020/05/13(水) 01:08:11 ID:fGvC/Rms0.net]
- >>480
○・・ ・・・ ・・× ↑みたいにCUIでも 盤面表示できるでしょ? たった三行だし
- 503 名前:デフォルトの名無しさん (アウアウウー Sa1d-Y9FA) mailto:sage [2020/05/13(水) 06:42:48 ID:1S/vEImaa.net]
- お前のやる言語はRubyじゃないって散々言われてんのに聞く耳持ってないなコイツ。
- 504 名前:デフォルトの名無しさん (ワッチョイ cd14-ds4R) mailto:sage [2020/05/13(水) 08:20:46 ID:UxgyOyJl0.net]
- >>482
ポケモンだってCUIでできるしな! https://www.youtube.com/watch?v=v80QzGYktK8
- 505 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 08:28:32.53 ID:sTsOjaTK0.net]
- >>484
なんかすごいなw これだけ作り込んでいるのに、パッと見てすぐ目立つ Your Heath の綴りが間違ったままなのが謎だが。
- 506 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 15:04:51.14 ID:fGvC/Rms0.net]
- いやまあ本格的にゲーム作るなら
UnityとC#だろうけど Rubyスレなんだし とりあえずCUIの簡単なゲームから 練習するのも悪くないと思うよ
- 507 名前:デフォルトの名無しさん (ワッチョイ 3133-6wub) mailto:sage [2020/05/13(水) 15:26:01 ID:v9SqqT/+0.net]
- なにをどうやりたいのかによるな。
型なしスクリプト言語はよしあしだから。 いわゆるゲームがしたいのなら、Rubyはほどほどに。
- 508 名前:デフォルトの名無しさん [2020/05/13(水) 15:41:23.13 ID:oWyvBIrOa.net]
- curses on ruby
- 509 名前:デフォルトの名無しさん (ワッチョイ 7f2c-JcAG) mailto:sage [2020/05/13(水) 18:13:34 ID:VSt/R8YQ0.net]
- Ruby は、小説ゲームなどのシナリオを、ゲームデータに変換するツールには使えるかも
Lua, Squirrel などを使うことも多いけど
- 510 名前:デフォルトの名無しさん (ワッチョイ 2dad-Wcp/) mailto:sage [2020/05/13(水) 19:10:38 ID:fGvC/Rms0.net]
- RPGツクール(XP/VX)もあるし
一応ゲームライブラリもあるから 2DゲームならRubyも手軽で良いと思う 3DゲーならUnityほぼ一択だろうけど
- 511 名前:デフォルトの名無しさん (オッペケ Sr75-Wcp/) mailto:sage [2020/05/13(水) 19:27:44 ID:VG+eVs4Ur.net]
- 2Dゲーム用の未だに開発が続いているRubyのライブラリってあんの?
- 512 名前:デフォルトの名無しさん (ワッチョイ 6de6-imz8) [2020/05/13(水) 22:19:09 ID:PF9y92K50.net]
- 初心者です。
gem で sqlite3を入れようとしてもtkを入れようとしてもエラーになります。 署名は信頼されていません。って誰でしょう。 みなさん、どうしているの?
- 513 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 01:10:11.58 ID:xwBNTZK50.net]
- こういうのってコンソールのエラー画像貼った方が分かりやすい
- 514 名前:デフォルトの名無しさん [2020/05/14(木) 06:31:55.66 ID:/X2nuCW20.net]
- 492です。
msysにgccを入れたらできました。
- 515 名前:デフォルトの名無しさん (ワッチョイ 3133-6wub) mailto:sage [2020/05/14(木) 10:13:36 ID:CBkLiWJv0.net]
- >>494
ズコー。 署名なんか関係なかったやろ。w
- 516 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 13:41:01.55 ID:FSEZeoAj0.net]
- 漏れは、Windows 10, WSL, Ubuntu 18.04 で、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、 ruby 2.6.6, node 12.16.2 を入れた yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。 これは、#!/bin/sh で始まるシェルスクリプト まず、パッケージ情報を最新にしてから、各パッケージをインストールする sudo apt-get update sudo apt install -y build-essential sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev sudo apt-get install -y libsqlite3-dev sqlite3 build-essential には、gcc(GNU C compiler), g++(GNU C++ compiler), libc6-dev(GNU C Library), make などの、 コンパイルツールが入っています 次に、
- 517 名前:openssl, readline, zlib のパッケージをインストールする。
さらに、sqlite3 関連のパッケージもインストールする こういうパッケージが入っていて初めて、これらに対応する、Ruby gem が動く [] - [ここ壊れてます]
- 518 名前:デフォルトの名無しさん (ワッチョイ 1f42-uRPb) [2020/05/17(日) 06:00:27 ID:ziL5Ecak0.net]
- CLIツールを作成するために、Bundlerをインストールしたいのですが
コマンドプロンプトに$ gem install bundler と入力しEnterを押しても閉じるだけで何も状況が変わっていない気がします。 既存のCLIツール作成の記述画面を調べてみても 学んだputs,if,繰り返し処理のような文法は一切なく謎の文字列にしか見えず 用語の場合は調べれば対応できるかもしれませんが、用語ではなく何を示しているのかさえわかりません。 助けてください。
- 519 名前:デフォルトの名無しさん (オッペケ Sr63-Wcp/) mailto:sage [2020/05/17(日) 06:12:55 ID:C7MdgMNcr.net]
- 謎の文字列ってなんだよ
- 520 名前:デフォルトの名無しさん [2020/05/17(日) 07:17:57.55 ID:ziL5Ecak0.net]
- 上からの一部になりますがこのような感じです
# bundlerをインストール $ gem install bundler # gemパッケージの雛形を作成 $ bundle gem str_convert_utils -b Creating gem 'str_convert_utils'... create str_convert_utils/Gemfile create str_convert_utils/lib/str_convert_utils.rb create str_convert_utils/lib/str_convert_utils/version.rb
- 521 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 07:26:20.95 ID:C7MdgMNcr.net]
- で何がしたいんだよ
- 522 名前:デフォルトの名無しさん [2020/05/17(日) 07:34:46.84 ID:ziL5Ecak0.net]
- bundlerをインストールしてCLIツールを作成したいと思っているのですがbundlerのインストールのやり方がわかりません
- 523 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 07:35:35.28 ID:C7MdgMNcr.net]
- もうインストールできるだろ
- 524 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 07:36:49.43 ID:C7MdgMNcr.net]
- *もうインストールできてるでしょ
- 525 名前:デフォルトの名無しさん (ワッチョイ 1f42-EoUu) [2020/05/17(日) 08:04:53 ID:ziL5Ecak0.net]
- rubyのインストールはコマンドプロンプトで行ったので同じようにインストールするものかと思いましたが
無事にbundlerをインストールすることが出来ているようなのでよかったです ありがとうございます
- 526 名前:デフォルトの名無しさん (オッペケ Sr63-Wcp/) mailto:sage [2020/05/17(日) 09:35:16 ID:C7MdgMNcr.net]
- 質問する時は以下の点に留意すると回答が得られやすいぞ
・OS, Rubyなどのバージョンを書く ・何がしたいのか明確に書く ・どうなったのか明確に書く
- 527 名前:デフォルトの名無しさん (アウアウエー Sa93-gIXh) mailto:sage [2020/05/17(日) 13:48:03 ID:2FMa8UuXa.net]
- >>505
さらに 特にエラーメッセージがあるときはそれを貼る
- 528 名前:デフォルトの名無しさん [2020/05/17(日) 16:36:18.35 ID:VCTpJO2T0.net]
- 基本、bundler だけは、gem install bundler で、グローバルに最新版をインストールする。
それ以外は、プロジェクトフォルダに、Gemfile を作って、 bundle install で、ローカル(プロジェクト毎)にインストールする 漏れの場合は、グローバルのbundler のバージョンを、1.17.2 から、2.1.4 へ更新した bundler のバージョンを確認する bundler -v Bundler version 1.17.2 インストール済みのGem のバージョンを確認する gem list bundler bundler (default: 1.17.2) レポジトリ内の最新バージョンを確認する gem search -r bundler bundler (2.1.4) グローバルに、最新版をインストール・更新する gem install bundler bundler -v Bundler version 2.1.4 gem list bundler bundler (2.1.4, default: 1.17.2)
- 529 名前:デフォルトの名無しさん (ブーイモ MM5b-IA10) mailto:sage [2020/05/17(日) 16:56:56 ID:FIuh62egM.net]
- 何か開発するのに、向いてなさすぎるな。
- 530 名前:デフォルトの名無しさん (アウアウウー Sa2d-xlHZ) mailto:sage [2020/05/19(火) 00:48:41 ID:X2Lrxylwa.net]
- 1.0.step(3, 0.2) {|n| puts n}
の実行結果が以下の通りになった。 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4000000000000004 2.6 2.8 3.0 なんで2.4のとこが変になっちまうんでしょうか?
- 531 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 01:00:09.89 ID:9Ms3yTt70.net]
- >>509
10.step(30,2){|n| puts n.fdiv(10)}
- 532 名前:デフォルトの名無しさん (ワッチョイ 3133-6wub) mailto:sage [2020/05/19(火) 02:28:46 ID:8rsHPaV60.net]
- >>509
「浮動小数点数 誤差」で検索!
- 533 名前:デフォルトの名無しさん (アウアウウー Sa2d-xlHZ) mailto:sage [2020/05/19(火) 03:20:42 ID:X2Lrxylwa.net]
- >>511
あ、これrailsのもんだあじゃないんだね!
- 534 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 07:21:37.48 ID:7tJzJz77r.net]
- 誤差が嫌ならRational使え
1.step(3, 0.2r)
- 535 名前:デフォルトの名無しさん [2020/05/20(水) 00
]
- [ここ壊れてます]
- 536 名前::36:49.11 ID:91fxSgSA0.net mailto: 浮動小数点は誤差があるので、お金の計算などでは使えない
例えば、0.5 は、2 ** -1 (乗)で、2進数で割り切れる。 0.25 も、2 ** -2 で、2進数で割り切れる。 よって、0.5 + 0.25 = 0.75 も、2進数で割り切れる つまり、2進数で割り切れる数値の、組み合わせで表せる数値は割り切れる 一方、0.1 は、2進数で割り切れない。循環小数になる。 たぶん、0.2 も割り切れないのでは? [] - [ここ壊れてます]
- 537 名前:デフォルトの名無しさん mailto:sage [2020/05/20(水) 00:53:31.53 ID:InboTxWs0.net]
- > お金の計算などでは使えない
使えばいいと思うけどなw 10円未満は四捨五入します。ってかけば十分だろうに たった1円のために無駄な努力するんだぜ?
- 538 名前:デフォルトの名無しさん mailto:sage [2020/05/20(水) 01:23:52.48 ID:DUBnOkDWr.net]
- 誤差のせいで四捨五入しても一意に定まらねえよ
- 539 名前:デフォルトの名無しさん mailto:sage [2020/05/20(水) 01:24:00.93 ID:YPJhimCPa.net]
- 銀行の理屈だと桁数が大きいので下の方のの桁が軽視できないんだと
ただ計算の仕方はものすごくいい加減 複利といっても商品によって桁の丸め方が違うらしい 歴史を重んじるらしい 文系らしい
- 540 名前:デフォルトの名無しさん mailto:sage [2020/05/20(水) 01:31:03.16 ID:6CLBLdpca.net]
- Rubyは文系や中卒高卒が多いんだから文系ディスはやめてやれ
- 541 名前:デフォルトの名無しさん mailto:sage [2020/05/20(水) 03:12:41.37 ID:InboTxWs0.net]
- >>517
文系「消費税は3%だ。端数?ちゃんと計算しろ。1円の誤差もゆるさねーぞ。」
- 542 名前:デフォルトの名無しさん (ワッチョイ 5b33-sQKC) mailto:sage [2020/05/20(水) 04:04:26 ID:TeIKSVMR0.net]
- >>515
「四捨五入」とか言ってまうヤツは、金の処理に口を出すな。
- 543 名前:デフォルトの名無しさん mailto:sage [2020/05/20(水) 04:18:01.52 ID:DUBnOkDWr.net]
- うちの環境だと
p ([0.003] * 500).reduce(:+) # => 1.4999999999999827 Array#sumだと最適化されるけどね そもそも不確かさの精度を気にする環境でfloat使うのが間違い
- 544 名前:デフォルトの名無しさん [2020/05/20(水) 10:24:15.42 ID:Dfazl3Afa.net]
- 二進数の浮動小数点数は十進数の(1/10)を表せなくて誤差の蓄積が出るって言うけど
これは二進数固有の問題ではない 十進数の浮動小数点数も十進数の(1/3)を表せなくて誤差の蓄積が出る 金の計算では条件次第だが 四捨五入することが許されてる場合は毎回四捨五入して良い 許されていなければ浮動小数点数じゃなくて分数を使え
- 545 名前:デフォルトの名無しさん [2020/05/20(水) 10:26:00.37 ID:Dfazl3Afa.net]
- >>517
桁落ちは問題だが 切り捨ては銀行や政府が儲かるように 切り上げも銀行や政府が儲かるように 都合良く設定されているね
- 546 名前:デフォルトの名無しさん mailto:sage [2020/05/20(水) 10:32:35.12 ID:InboTxWs0.net]
- >>523
店は?儲かるの?損をするの?
- 547 名前:デフォルトの名無しさん (ワッチョイ 3761-xVew) mailto:sage [2020/05/22(金) 15:30:11 ID:TUWJypw20.net]
- >>518
それはどの言語であれ、普及率が高ければ高いほどそうなる。
- 548 名前:デフォルトの名無しさん (ワッチョイ 3761-xVew) mailto:sage [2020/05/22(金) 15:33:07 ID:TUWJypw20.net]
- Pythonはアメリカでは教育に取り入れられている ---> 誰でもやっている
---> 上から下まで幅広くいる。 VB利用者が減ったのは、C# に移ったから ---> C#はVBプログラマでも使える証拠 でもあり、かつてのVBと同じレベルくらいの人がC#ラーにはいるということ。
- 549 名前:デフォルトの名無しさん (ワッチョイ 7a98-r9h8) mailto:sage [2020/05/22(金) 16:23:18 ID:PgzAS/Wx0.net]
- 配列が大きくなるとHashのほうが速くなることを発見した
xは2万件くらいのデータ a=[] a.push(x)を繰り返すより b=Hash.new b[x]=0を繰り返して として最後に a=b.keys としたほうが速い
- 550 名前:デフォルトの名無しさん (ワッチョイ 5b33-sQKC) mailto:sage [2020/05/22(金) 21:01:06 ID:AU9F7jR+0.net]
- Rubyのリストは、reserve()的なことはできないんだっけ?
できないならかわりに、
- 551 名前:a[20000]=nil とかしてから、a[i](i=0〜19999)に代入していったらいいんでは?
こっちのほうがはやそう。 [] - [ここ壊れてます]
- 552 名前:デフォルトの名無しさん (ワッチョイ f361-hf1i) mailto:sage [2020/05/23(土) 11:45:02 ID:HsM7eDYs0.net]
- Array.new(size)
- 553 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 12:30:03.81 ID:KnmbZWpz0.net]
- >>527
さすがにそれはないわ それとも[1,1,1,1,1]を重複除去して[1]にしたい場合ってことなのかな >>529 先にallocateしたほうが必ずしも速いわけではないので最適化したければ要計測
- 554 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 13:15:32.65 ID:x0bVPHOi0.net]
- StringにはcapacityあるけどArrayのrubyインタフェースには見つからんな
C言語側ではrb_array_new2がそれっぽいが まぁ、どうしてもそれっぽいことやりたいならArray#[]=でも拡張できるのでnew時にサイズ指定ですね。 あとはpushよりも<<の方が速かったり、 そもそも要素数が先に知る事ができるのならばArray.newにブロック渡したり flat_map使ったり…
- 555 名前:デフォルトの名無しさん (テテンテンテン MMb6-8pht) mailto:sage [2020/05/23(土) 14:30:56 ID:rR3WkHU8M.net]
- Rubyはユーザーコードの実行がとんでもなくゴミクソのように遅いから、
アルゴリズムの効率とか実はあまり関係なくて単にユーザーコードの命令数を削減することが重要だったりするね
- 556 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 16:20:51.70 ID:eo29HWEv0.net]
- >>530
> 先にallocateしたほうが必ずしも速いわけではない 具体例を教えろ。
- 557 名前:デフォルトの名無しさん (ワッチョイ 5a01-S/TN) mailto:sage [2020/05/23(土) 19:00:02 ID:KnmbZWpz0.net]
- >>533
これ何度か繰り返して比較してみて https://ideone.com/N26HoC GC.disable/enable/startとかも組み合わせて試してみるといいと思う
- 558 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 20:20:01.68 ID:x0bVPHOi0.net]
- >>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
- 559 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 20:21:25.63 ID:x0bVPHOi0.net]
- prelude書き換えてる最中に送信してしまった
x.prelude %{ input = (1..2_000_000).to_a.shuffle } で Comparison: block with size: 12.0 i/s []= with size (each): 9.7 i/s - 1.23x slower push without size: 8.9 i/s - 1.35x slower []= with size (each_with_index): 7.6 i/s - 1.58x slower
- 560 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 21:52:02.03 ID:KnmbZWpz0.net]
- >>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)が 高い確率で一番遅くなる
- 561 名前:デフォルトの名無しさん (ワッチョイ 5b33-sQKC) mailto:sage [2020/05/23(土) 23:06:45 ID:eo29HWEv0.net]
- >>534
なんで >>529 + push ? >>528 のほうがストレートで速そうやろが。
- 562 名前:デフォルトの名無しさん mailto:sage [2020/05/24(日) 00:35:44.40 ID:qyWs4RXc0.net]
- >>537
Array.new(3).push(1) #=> [nil,nil,nil,1]
- 563 名前:デフォルトの名無しさん (ワッチョイ 5a01-S/TN) mailto:sage [2020/05/24(日) 01:01:16 ID:uX1h9ngP0.net]
- >>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
- 564 名前:デフォルトの名無しさん (ブーイモ MM26-jNIj) mailto:sage [2020/05/24(日) 20:16:17 ID:sglBbUqvM.net]
- 文字列でコードを渡さなきゃいけない仕様って超微妙だな
- 565 名前:デフォルトの名無しさん (ワッチョイ 4e2c-5qFb) [2020/05/25(月) 16:59:48 ID:gis+qwRr0.net]
- 2020年6月30日
Ruby on Rails 製の、mstdn.jp・mastodon.cloud がサービス終了 女子プロレスラーの自殺により、 今後、イジメに対応するコストの上昇で、運営できなくなるとか
- 566 名前:デフォルトの名無しさん mailto:sage [2020/05/25(月) 21:19:55.59 ID:gis+qwRr0.net]
- 【検証】現役プログラマーは30万円の案件を何時間で出来るのか?
https://www.youtube.com/watch?v=rt_X6n9oWa4 Ruby で、1時間!
- 567 名前:デフォルトの名無しさん [2020/06/03(水) 11:38:50.17 ID:vinsTjyH0.net]
- Railsコースリリース!業界最安値で自走力が身につくワケを制作者が語る
ttps://www.youtube.com/watch?v=zY9SfGNt0pc 東京フリーランスのとだこうきが、Rails の3か月コースを作った! 9万円!
- 568 名前:デフォルトの名無しさん (ワッチョイ 4abd-cExd) mailto:sage [2020/06/03(水) 17:11:50 ID:NDbpdmqA0.net]
- Windows用に+DEVKITの方インストールしたけど1GB3万ファイル以上ってちょっとデカすぎないですか?
もうちょっとコンパクトにして欲しいんだが・・・
- 569 名前:デフォルトの名無しさん (ワッチョイ 1533-tHrU) mailto:sage [2020/06/03(水) 19:02:05 ID:ymOaMaMw0.net]
- 要するに、ビルドツールをインストールしたMSYS2やろ。
しゃあないというか、あたりまえ。
- 570 名前:デフォルトの名無しさん [2020/06/04(木) 22:02:40.64 ID:hC0MsN2x0.net]
- 漏れは、Windows 10, WSL, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL でアクセスしてる Linux側には、build-essential などのコンパイルツールを入れて、 日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、 ruby 2.6.6, node 12.16.2 を入れた yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。 これは、#!/bin/sh で始まるシェルスクリプト
- 571 名前:デフォルトの名無しさん (アウアウカー Sa05-3xqL) mailto:sage [2020/06/08(月) 12:52:32 ID:I7gt15nza.net]
- ビルドツール付きで1GBなら温情あるじゃないか。最近のVisual Studioだと10GB単位で食うぞ
- 572 名前:デフォルトの名無しさん (ワッチョイ 5d63-bYWF) mailto:sage [2020/06/08(月) 18:25:21 ID:2z4WuMg00.net]
- >>548
それはフルで入れたらでしょ 使いたい機能だけで入れたらそこまで容量使わないよ
- 573 名前:デフォルトの名無しさん mailto:sage [2020/06/08(月) 19:15:29.33 ID:EB8W1SUXr.net]
- visual studioコンパイラだけ欲しい
- 574 名前:デフォルトの名無しさん mailto:sage [2020/06/08(月) 20:44:23.71 ID:rHjOKxRG0.net]
- >>549
「使いたい機能」とやらをどこまで絞れんの? gemによってはビルドできなかったりしてもいいの?
- 575 名前:デフォルトの名無しさん mailto:sage [2020/06/08(月) 21:30:36.48 ID:L2Cj2YHN0.net]
- macOS本体よりもでかい?Xcodeってなんなの?
https://egg.5ch.net/test/read.cgi/mac/1574170194/ なんか8GB?ぐらいダウンロードさせられるんですけど? macOS本体もそれぐらいだっけ?
- 576 名前:デフォルトの名無しさん [2020/06/09(火) 09:45:37.77 ID:sE3YfRh/F.net]
- >>550
csc.exe と必要なライブラリだけ集めれば makefile で出来る
- 577 名前:デフォルトの名無しさん mailto:sage [2020/06/10(水) 23:42:30.32 ID:mC7kOgCm0.net]
- "string”を ["s", "st", "str", "stri", "strin", "string”]にする場合の便利メソッドってある?
reduceじゃなくてaccumlator付きのmap的なやつ
|

|