[過去ログ] Ruby 初心者スレッド Part 66 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
516: (オッペケ Srbb-vdj3) 2020/05/20(水)01:23 ID:DUBnOkDWr(1/2) AAS
誤差のせいで四捨五入しても一意に定まらねえよ
517
(2): (アウアウエー Sa52-crVl) 2020/05/20(水)01:24 ID:YPJhimCPa(1) AAS
銀行の理屈だと桁数が大きいので下の方のの桁が軽視できないんだと
ただ計算の仕方はものすごくいい加減
複利といっても商品によって桁の丸め方が違うらしい
歴史を重んじるらしい
文系らしい
518
(1): (アウアウウー Sac7-YFMs) 2020/05/20(水)01:31 ID:6CLBLdpca(1) AAS
Rubyは文系や中卒高卒が多いんだから文系ディスはやめてやれ
519: (ワッチョイ a314-sMh3) 2020/05/20(水)03:12 ID:InboTxWs0(2/3) AAS
>>517
文系「消費税は3%だ。端数?ちゃんと計算しろ。1円の誤差もゆるさねーぞ。」
520: (ワッチョイ 5b33-sQKC) 2020/05/20(水)04:04 ID:TeIKSVMR0(1) AAS
>>515
「四捨五入」とか言ってまうヤツは、金の処理に口を出すな。
521: (オッペケ Srbb-vdj3) 2020/05/20(水)04:18 ID:DUBnOkDWr(2/2) AAS
うちの環境だと

p ([0.003] * 500).reduce(:+) # => 1.4999999999999827

Array#sumだと最適化されるけどね
そもそも不確かさの精度を気にする環境でfloat使うのが間違い
522: (アウアウエー Sa52-pTKR) 2020/05/20(水)10:24 ID:Dfazl3Afa(1/2) AAS
二進数の浮動小数点数は十進数の(1/10)を表せなくて誤差の蓄積が出るって言うけど
これは二進数固有の問題ではない
十進数の浮動小数点数も十進数の(1/3)を表せなくて誤差の蓄積が出る

金の計算では条件次第だが
四捨五入することが許されてる場合は毎回四捨五入して良い
許されていなければ浮動小数点数じゃなくて分数を使え
523
(1): (アウアウエー Sa52-pTKR) 2020/05/20(水)10:26 ID:Dfazl3Afa(2/2) AAS
>>517
桁落ちは問題だが
切り捨ては銀行や政府が儲かるように
切り上げも銀行や政府が儲かるように
都合良く設定されているね
524: (ワッチョイ a314-sMh3) 2020/05/20(水)10:32 ID:InboTxWs0(3/3) AAS
>>523
店は?儲かるの?損をするの?
525: (ワッチョイ 3761-xVew) 2020/05/22(金)15:30 ID:TUWJypw20(1/2) AAS
>>518
それはどの言語であれ、普及率が高ければ高いほどそうなる。
526: (ワッチョイ 3761-xVew) 2020/05/22(金)15:33 ID:TUWJypw20(2/2) AAS
Pythonはアメリカでは教育に取り入れられている ---> 誰でもやっている
---> 上から下まで幅広くいる。
VB利用者が減ったのは、C# に移ったから ---> C#はVBプログラマでも使える証拠
でもあり、かつてのVBと同じレベルくらいの人がC#ラーにはいるということ。
527
(1): (ワッチョイ 7a98-r9h8) 2020/05/22(金)16:23 ID:PgzAS/Wx0(1) AAS
配列が大きくなるとHashのほうが速くなることを発見した
xは2万件くらいのデータ
a=[]
a.push(x)を繰り返すより
b=Hash.new
b[x]=0を繰り返して
として最後に a=b.keys
省1
528
(1): (ワッチョイ 5b33-sQKC) 2020/05/22(金)21:01 ID:AU9F7jR+0(1) AAS
Rubyのリストは、reserve()的なことはできないんだっけ?
できないならかわりに、a[20000]=nil とかしてから、a[i](i=0〜19999)に代入していったらいいんでは?

こっちのほうがはやそう。
529
(2): (ワッチョイ f361-hf1i) 2020/05/23(土)11:45 ID:HsM7eDYs0(1) AAS
Array.new(size)
530
(1): (ワッチョイ 5a01-S/TN) 2020/05/23(土)12:30 ID:KnmbZWpz0(1/3) AAS
>>527
さすがにそれはないわ
それとも[1,1,1,1,1]を重複除去して[1]にしたい場合ってことなのかな

>>529
先にallocateしたほうが必ずしも速いわけではないので最適化したければ要計測
531: (ワッチョイ 275f-8Kp1) 2020/05/23(土)13:15 ID:x0bVPHOi0(1/3) AAS
StringにはcapacityあるけどArrayのrubyインタフェースには見つからんな
C言語側ではrb_array_new2がそれっぽいが
まぁ、どうしてもそれっぽいことやりたいならArray#[]=でも拡張できるのでnew時にサイズ指定ですね。

あとはpushよりも<<の方が速かったり、
そもそも要素数が先に知る事ができるのならばArray.newにブロック渡したり
flat_map使ったり…
532: (テテンテンテン MMb6-8pht) 2020/05/23(土)14:30 ID:rR3WkHU8M(1) AAS
Rubyはユーザーコードの実行がとんでもなくゴミクソのように遅いから、
アルゴリズムの効率とか実はあまり関係なくて単にユーザーコードの命令数を削減することが重要だったりするね
533
(1): (ワッチョイ 5b33-sQKC) 2020/05/23(土)16:20 ID:eo29HWEv0(1/2) AAS
>>530
> 先にallocateしたほうが必ずしも速いわけではない
具体例を教えろ。
534
(2): (ワッチョイ 5a01-S/TN) 2020/05/23(土)19:00 ID:KnmbZWpz0(2/3) AAS
>>533
これ何度か繰り返して比較してみて
外部リンク:ideone.com

GC.disable/enable/startとかも組み合わせて試してみるといいと思う
535
(1): (ワッチョイ 275f-8Kp1) 2020/05/23(土)20:20 ID:x0bVPHOi0(2/3) AAS
>>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 }}
省4
536: (ワッチョイ 275f-8Kp1) 2020/05/23(土)20:21 ID:x0bVPHOi0(3/3) AAS
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
省1
537
(1): (ワッチョイ 5a01-S/TN) 2020/05/23(土)21:52 ID:KnmbZWpz0(3/3) AAS
>>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)}}
省7
538: (ワッチョイ 5b33-sQKC) 2020/05/23(土)23:06 ID:eo29HWEv0(2/2) AAS
>>534
なんで >>529 + push ?
>>528 のほうがストレートで速そうやろが。
539
(1): (ワッチョイ 275f-8Kp1) 2020/05/24(日)00:35 ID:qyWs4RXc0(1) AAS
>>537
Array.new(3).push(1) #=> [nil,nil,nil,1]
540: (ワッチョイ 5a01-S/TN) 2020/05/24(日)01:01 ID:uX1h9ngP0(1) AAS
>>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}
省3
541: (ブーイモ MM26-jNIj) 2020/05/24(日)20:16 ID:sglBbUqvM(1) AAS
文字列でコードを渡さなきゃいけない仕様って超微妙だな
542: (ワッチョイ 4e2c-5qFb) 2020/05/25(月)16:59 ID:gis+qwRr0(1/2) AAS
2020年6月30日
Ruby on Rails 製の、mstdn.jp・mastodon.cloud がサービス終了

女子プロレスラーの自殺により、
今後、イジメに対応するコストの上昇で、運営できなくなるとか
543: (ワッチョイ 4e2c-5qFb) 2020/05/25(月)21:19 ID:gis+qwRr0(2/2) AAS
【検証】現役プログラマーは30万円の案件を何時間で出来るのか?
動画リンク[YouTube]

Ruby で、1時間!
544: (ワッチョイ 4d2c-LApo) 2020/06/03(水)11:38 ID:vinsTjyH0(1) AAS
Railsコースリリース!業界最安値で自走力が身につくワケを制作者が語る
動画リンク[YouTube]

東京フリーランスのとだこうきが、Rails の3か月コースを作った!
9万円!
545: (ワッチョイ 4abd-cExd) 2020/06/03(水)17:11 ID:NDbpdmqA0(1) AAS
Windows用に+DEVKITの方インストールしたけど1GB3万ファイル以上ってちょっとデカすぎないですか?
もうちょっとコンパクトにして欲しいんだが・・・
546: (ワッチョイ 1533-tHrU) 2020/06/03(水)19:02 ID:ymOaMaMw0(1) AAS
要するに、ビルドツールをインストールしたMSYS2やろ。
しゃあないというか、あたりまえ。
547: (ワッチョイ 4d2c-LApo) 2020/06/04(木)22:02 ID:hC0MsN2x0(1) AAS
漏れは、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 で始まるシェルスクリプト
548
(1): (アウアウカー Sa05-3xqL) 2020/06/08(月)12:52 ID:I7gt15nza(1) AAS
ビルドツール付きで1GBなら温情あるじゃないか。最近のVisual Studioだと10GB単位で食うぞ
549
(1): (ワッチョイ 5d63-bYWF) 2020/06/08(月)18:25 ID:2z4WuMg00(1) AAS
>>548
それはフルで入れたらでしょ
使いたい機能だけで入れたらそこまで容量使わないよ
550
(1): (オッペケ Sred-1bbd) 2020/06/08(月)19:15 ID:EB8W1SUXr(1) AAS
visual studioコンパイラだけ欲しい
551: (ワッチョイ 1533-lvyY) 2020/06/08(月)20:44 ID:rHjOKxRG0(1) AAS
>>549
「使いたい機能」とやらをどこまで絞れんの?
gemによってはビルドできなかったりしてもいいの?
552: (ワッチョイ 1514-14A0) 2020/06/08(月)21:30 ID:L2Cj2YHN0(1) AAS
macOS本体よりもでかい?Xcodeってなんなの?
2chスレ:mac
なんか8GB?ぐらいダウンロードさせられるんですけど?
macOS本体もそれぐらいだっけ?
553: (ワイーワ2 FFf2-B5RW) 2020/06/09(火)09:45 ID:sE3YfRh/F(1) AAS
>>550
csc.exe と必要なライブラリだけ集めれば makefile で出来る
554: (ワッチョイ ff01-NdOG) 2020/06/10(水)23:42 ID:mC7kOgCm0(1) AAS
"string”を ["s", "st", "str", "stri", "strin", "string”]にする場合の便利メソッドってある?
reduceじゃなくてaccumlator付きのmap的なやつ
555
(1): (ワッチョイ f314-qY8l) 2020/06/10(水)23:50 ID:o9Z/VPuJ0(1) AAS
誰がそんなメソッド使うんだよ
ユースケースが思いつかない
556: (ワッチョイ ff01-NdOG) 2020/06/11(木)00:38 ID:tsfyzied0(1/2) AAS
>>555
accumulator付きのmap的なのは関数型を中心に結構標準で用意されてるよ
scanって名前が多い
557
(1): (ワッチョイ 632c-aH+M) 2020/06/11(木)02:39 ID:J++l+lJF0(1/2) AAS
ary = "abc".each_char.inject( [ ] ) do |ary, char|
if ary.length == 0
ary.push char
else
ary.push( ary.last + char )
end
end
省1
558
(1): (ワッチョイ 0f7d-QiYp) 2020/06/11(木)03:14 ID:cAVECZZb0(1) AAS
>>557
二行目以降は
ary.push (ary.last || '') + char
end
559
(1): (ワッチョイ 0333-cthd) 2020/06/11(木)03:15 ID:zOJFiWlV0(1) AAS
abbrevとは違うんか?
560: 557 (ワッチョイ 632c-aH+M) 2020/06/11(木)09:58 ID:J++l+lJF0(2/2) AAS
>>558
ほー
561: (ワッチョイ ff01-NdOG) 2020/06/11(木)13:02 ID:tsfyzied0(2/2) AAS
>>559
ありがとう!まさに求めてたやつ
562
(1): (ワッチョイ 6f0e-jP3R) 2020/06/13(土)21:43 ID:v5FJ4AgU0(1/2) AAS
rbenvでインストールしてglobalに設定したのにruby -vでコマンドが見つかりませんって出る
rbenv経由でruby入れたときってrubyパス個別に通す必要あったっけ?
VMはubuntu2004使ってる
563
(1): (ワッチョイ 0333-cthd) 2020/06/13(土)22:36 ID:P6/rcyg20(1) AAS
>>562
まずはこのスレを検索して、それがダメだったらまたな?
564
(1): (ワッチョイ 6f0e-jP3R) 2020/06/13(土)23:18 ID:v5FJ4AgU0(2/2) AAS
>>563
スレ見るまでもなく解決したわ
ありがとな無能さん
初心者スレにお前は合わんから消えた方がいいよ
565: (オッペケ Sr87-Qd01) 2020/06/13(土)23:24 ID:dJVRL38Lr(1) AAS

566: 496 (ワッチョイ 632c-aH+M) 2020/06/13(土)23:34 ID:V91HObFW0(1/2) AAS
>>496
に書いておいた

漏れは、Windows 10, WSL, Ubuntu 18.04 で、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

anyenv を推奨する。asdf もあるけど、
中を見たら、結局そのまま各言語の、*env を使っているものもあるみたい
567: 496 (ワッチョイ 632c-aH+M) 2020/06/13(土)23:41 ID:V91HObFW0(2/2) AAS
多言語の場合、anyenv, asdf を使わないと、各言語ごとにやらないといけないので面倒。
これらを使うと、rbenv, nodenv, pyenv, phpenv など、多言語を統一的に扱える

特に、Rails では、Node.js が必須だから、これらを使うべき

知らないけど、phpenv を使うと、すべてコピーされるから、
端末の起動が遅くなったとか、書いているサイトもある
568: (ワッチョイ 0333-cthd) 2020/06/14(日)02:30 ID:6KYXSL5B0(1) AAS
>>564
初心者を免罪符にするな、クソクズw
569: (ワッチョイ 93ce-MJ0R) 2020/06/14(日)03:56 ID:n40LRnwv0(1) AAS
利用者の少ない言語で何やってんだか
570: (ワッチョイ 8319-F3Ee) 2020/06/17(水)10:04 ID:BoY15wgZ0(1) AAS
利用者少ないの?
571
(1): (ワッチョイ b761-QR+y) 2020/06/18(木)01:58 ID:6O5cmfAx0(1) AAS
調査によるが、Javaは未だに物凄く利用者数の多い言語。

日本のWeb系だと、JS>Java>Ruby>PHP>・・・位だったかな。
全体だと、
JS>Python>Java>C++>C#>C>Ruby
位だったかな。
572: (ワッチョイ f60e-tbXy) 2020/06/18(木)10:28 ID:2MpifMwe0(1) AAS
PHPより上の位置付けでいいの?
573: (アウアウウー Sa47-Hc8+) 2020/06/18(木)12:14 ID:L/uXoOmUa(1) AAS
javascript勉強した後だと、rubyの学習サクサク進むな
574: (ワッチョイ 573d-e/vk) 2020/06/19(金)21:01 ID:RsXwSQCp0(1) AAS
たのしいrubyって第6版まで出ていますが4版や5版の中古でも問題ないですか?
575: (ワッチョイ 5a01-QZnr) 2020/06/19(金)21:02 ID:2U294rNY0(1) AAS
買わなくても問題ないです
576
(1): ◆QZaw55cn4c (NZ 0H12-igpC) 2020/06/19(金)21:28 ID:nu2GLxXtH(1) AAS
>>571
PHP の地位が低すぎる
PHP はダントツにあがってもいいほどだ、wikipedia も PHP
577: (オッペケ Sr3b-8ohN) 2020/06/19(金)21:35 ID:i/tLMeO3r(1) AAS
>>576
お前は留数定理勉強しろや
578
(1): (ワッチョイ cfa5-NJGG) 2020/06/25(木)08:59 ID:d9h6SFkx0(1) AAS
初心者でRUDYを習い始めたけど
この言語はなんかやりやすいねってまだ初歩の初歩だけど
579: (ワッチョイ 3f52-RSi0) 2020/06/25(木)09:33 ID:p+gLKGcc0(1) AAS
まずは名前を覚えてあげような
580: (ワッチョイ 3f79-FPvj) 2020/06/25(木)10:19 ID:2vWcdWuv0(1) AAS
>>578
まぁせいぜいがんばってくれたまえ
581
(3): (アウアウウー Sad3-Owb/) 2020/06/28(日)15:54 ID:mQb8yLJ0a(1) AAS
progateのrailsのコンテンツで以下のようなコードがありました。

<%= form_tag("/posts/create") do %>

<textarea></textarea>
<input type="submit" value="投稿">

<% end %>

form_tagメソッドはなぜ<%= %>で囲わなければ行けないのでしょうか?
省5
582
(4): (ワッチョイ 8f63-UxRf) 2020/06/28(日)18:31 ID:VdXbwnMJ0(1/4) AAS
お気に入り数を増やすAPIを作っているんですが、1つづつ増やすのは以下でできたんですが、
変数で一気に10個ずつとか増やしたい場合どう書いたらいいでしょうか
Photo.where('id = ?', params[:id]).update_all("favorite_count = favorite_count + 1")
583: (ワッチョイ 7fbb-OVGN) 2020/06/28(日)18:56 ID:0dkV5Fxh0(1/2) AAS
>>582
コピペですまないものは全て一行ずつここで聞きながらプログラムを書く気かいな
何を作りたいのか知らんが、クラウドソーシングサイトで5000円でも払って作ってもらえよ
584
(2): (ワッチョイ 8f63-UxRf) 2020/06/28(日)18:59 ID:VdXbwnMJ0(2/4) AAS
>> 583
わからないならレスしないでください。うざいだけです
585
(1): (ワッチョイ 7fbb-OVGN) 2020/06/28(日)19:13 ID:0dkV5Fxh0(2/2) AAS
>>584
そんなら他の言語に行けよ
Ruby界に高卒はいらないよ
586: (ワッチョイ ff0e-/nJK) 2020/06/28(日)20:01 ID:EEQjVY4L0(1) AAS
ワッチョイ 7fbb-OVGNはNGだな
お前が消えろだわ
587: (ワッチョイ 3f52-RSi0) 2020/06/28(日)20:32 ID:0MZ5QVvK0(1) AAS
>>585
Ruby界w
588: (テテンテンテン MM4f-DObo) 2020/06/28(日)20:57 ID:crkgJwf5M(1) AAS
高学歴なんかみんな他へ行ってしまってもう残ってないだろ
低学歴ワープアの脱出先として注目されすぎて単価の暴落がやばい
589: (オッペケ Sra3-jzci) 2020/06/28(日)21:09 ID:aRNwulycr(1/2) AAS
>>582
質問の要件を満たしていません。
知性をアップデートしてから出直してきてください。
590: (ワッチョイ 3f01-0Hhk) 2020/06/28(日)21:26 ID:pODeKu4C0(1) AAS
>>582
散々な言われよう

Active Recordを使ってDBの値をインクリメントする際
増分を指定するにはどうすればいいですか?
って質問なのかもしれないが

Acrive Record風のAPIを自作してて
インクリメントする場合はどういうAPIにするのがいいですか?
省1
591: (ワッチョイ 8f63-UxRf) 2020/06/28(日)22:01 ID:VdXbwnMJ0(3/4) AAS
もうできたわ。役に立たないカス共が
592: (オッペケ Sra3-jzci) 2020/06/28(日)22:08 ID:aRNwulycr(2/2) AAS
最近このやり取り多くて草
593: (ワッチョイ 8f63-vh/6) 2020/06/28(日)22:58 ID:zEEHZHWG0(1) AAS
>>581
=の有る無しで出力されるhtmlがどうなるか比較してみたら
594
(1): (ワッチョイ 8f63-UxRf) 2020/06/28(日)23:17 ID:VdXbwnMJ0(4/4) AAS
ここなんでこんなイライラしてる人多いんだ
プログラミングスクールに大金つぎ込んで未経験から異業種転職を試みたが
結局うまく就職できなかった奴が暴れてんのか
595: (ワッチョイ cf2c-wMgy) 2020/06/29(月)00:43 ID:ze6DZkOI0(1/3) AAS
>当スレに★Python以外のプログラミング言語での回答類を書くべからず★
>「Ruby では」「Rubyでは」「某言語では」をNGワード登録推奨

テンプレを書き換えたり、すべてのスレを荒らしている荒らしがいる

荒らしは、必ず2回以上書き込む。
前のレスに「そうだよねー」みたいに、アンカーを付けて、複数人いるように見せかける

だから、荒らしの相手をしないように!
荒らしが喜ぶので、荒らしの相手をする者も、荒らしと認定されます!
596: (ワッチョイ cf2c-wMgy) 2020/06/29(月)00:54 ID:ze6DZkOI0(2/3) AAS
>>581
【Rails】form_tagの使い方を徹底解説!
外部リンク:pikawaka.com

「formtag rails」で検索!

Rails Guide も、翻訳されてる

>>582
>favorite_count = favorite_count + 1
省1
1-
あと 406 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.029s