プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ
質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 64
https://mevius.5ch.net/test/read.cgi/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 初心者スレッド Part 65
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f80-JI52)
2018/12/22(土) 04:43:34.03ID:84E3pYZa0404402 (ワッチョイ 6a2c-n0I8)
2019/06/04(火) 17:36:22.57ID://1XsOfQ0 他人のクソコードを分析しても、時間の無駄。
普遍的な知識を得られない。
他人の仕様を推測するだけ
この3冊を読んで、プログラミングのお題スレの問題を解いた方が、力がつく。
Sinatra, Rails をやっても良いし
こういう勉強が普遍的で、他言語にも応用できるし、自分で考えるから成長できる
他人のソースコードを持ってきて、これはどんな事をやってるのですか? って質問する者が多いけど、
他人は仕様を知ってるけど、質問者は仕様を知らないから、極めて不利
一方、プログラミングのお題スレでは、仕様が与えられているだろ。
こういう場合には、他人のコードを見ても、意味がわかる。
だから勉強になる!
プログラミングとは、仕様からプログラムを作るもので、
プログラムから仕様を解明するものじゃないので、時間を失うだけ!
特に初心者にとっては、良い本などで、体系的に浅く学ぶのを勧める
推薦書
たのしいRuby 第6版、2019/3/19
改訂2版 Ruby逆引きハンドブック、2018/8/28
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、間違いやすいポイントを解説
普遍的な知識を得られない。
他人の仕様を推測するだけ
この3冊を読んで、プログラミングのお題スレの問題を解いた方が、力がつく。
Sinatra, Rails をやっても良いし
こういう勉強が普遍的で、他言語にも応用できるし、自分で考えるから成長できる
他人のソースコードを持ってきて、これはどんな事をやってるのですか? って質問する者が多いけど、
他人は仕様を知ってるけど、質問者は仕様を知らないから、極めて不利
一方、プログラミングのお題スレでは、仕様が与えられているだろ。
こういう場合には、他人のコードを見ても、意味がわかる。
だから勉強になる!
プログラミングとは、仕様からプログラムを作るもので、
プログラムから仕様を解明するものじゃないので、時間を失うだけ!
特に初心者にとっては、良い本などで、体系的に浅く学ぶのを勧める
推薦書
たのしいRuby 第6版、2019/3/19
改訂2版 Ruby逆引きハンドブック、2018/8/28
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、間違いやすいポイントを解説
405デフォルトの名無しさん (ワッチョイ be14-hDDM)
2019/06/04(火) 17:40:50.53ID:8o3tMmIE0 宣伝費、いくら貰えるんだろう?
406デフォルトの名無しさん (ドコグロ MM22-3QJd)
2019/06/04(火) 18:16:47.29ID:aXH0FNpKM いつものキチガイを相手にするつもりはないけど、質問者が誤解しないようにコメント
仕事のプログラミングだと基本的にソース眺めてる時間のほうが長いよ
ましてRubyも今や落ち目で便所掃除の仕事ばかり増え、全く新しいものを作る機会は減る一方だ
仕事のプログラミングだと基本的にソース眺めてる時間のほうが長いよ
ましてRubyも今や落ち目で便所掃除の仕事ばかり増え、全く新しいものを作る機会は減る一方だ
407デフォルトの名無しさん (ワッチョイ 6a7d-o58o)
2019/06/04(火) 19:17:17.46ID:LGhp/e100408デフォルトの名無しさん (オイコラミネオ MM9b-jO9a)
2019/06/04(火) 20:11:05.76ID:P882eZbVM >>403
参考にするのなら、別のソースにしたほうがエエんちゃう?
参考にするのなら、別のソースにしたほうがエエんちゃう?
409デフォルトの名無しさん (ワッチョイ cf2d-3Ed1)
2019/06/04(火) 20:28:11.60ID:oR7ssn0w0410デフォルトの名無しさん (アウアウウー Sa1f-gkx+)
2019/06/04(火) 21:00:20.80ID:7lg/KHrxa411402 (ワッチョイ 6a2c-n0I8)
2019/06/04(火) 21:35:03.46ID://1XsOfQ0 だから、他人のクソコードを見ても、時間を損しただけだろ。
得るものなんてない
「Marshal.load」で検索すれば良いだけだから
こういうAPI の知識は、文書を見れば良いだけ。
他人がどう使っているか、考えたりするものじゃない
考えるのは、仕様からプログラムに翻訳する所。
こういう単なる知識は、検索するのが早い
それに、その他人が間違ってるかも知れない。
クソコードになるほど考えさせられて、時間を無駄使いさせられるw
だから、良い本を勧めるわけ。
良いコードはシンプルで、そのまま英語のように読める!
他人のコードから、仕様を推測するなんて、漏れはやらない。
出来たとしても所詮、推測だし、得るものはない
漏れも仕事で、多言語で、仕様書がないコードを解析してきたけど、得るものはほとんどない。
せいぜい、重箱の隅をつつくような知識ぐらいしか得られない。
その知識も他で役に立たない。転用できない
なぜかと言うと、その仕様は他人に与えられたものだから。
自分には、それとは異なる仕様が与えられるから!
普遍的な、多くの言語でも使えるような知識は、良い本から得られることが多い。
それを元に、プログラミングのお題スレの問題を解いた方が、力がつく!
得るものなんてない
「Marshal.load」で検索すれば良いだけだから
こういうAPI の知識は、文書を見れば良いだけ。
他人がどう使っているか、考えたりするものじゃない
考えるのは、仕様からプログラムに翻訳する所。
こういう単なる知識は、検索するのが早い
それに、その他人が間違ってるかも知れない。
クソコードになるほど考えさせられて、時間を無駄使いさせられるw
だから、良い本を勧めるわけ。
良いコードはシンプルで、そのまま英語のように読める!
他人のコードから、仕様を推測するなんて、漏れはやらない。
出来たとしても所詮、推測だし、得るものはない
漏れも仕事で、多言語で、仕様書がないコードを解析してきたけど、得るものはほとんどない。
せいぜい、重箱の隅をつつくような知識ぐらいしか得られない。
その知識も他で役に立たない。転用できない
なぜかと言うと、その仕様は他人に与えられたものだから。
自分には、それとは異なる仕様が与えられるから!
普遍的な、多くの言語でも使えるような知識は、良い本から得られることが多い。
それを元に、プログラミングのお題スレの問題を解いた方が、力がつく!
412デフォルトの名無しさん (アウアウカー Sa7b-gySn)
2019/06/04(火) 21:39:18.98ID:jFAGFsyFa そのMarshalのコードはかなり無駄だがファイルの内容が小さいから富豪的にやってるだけだと思う
実際はちゃんとセーブデータから該当するデータを読むという処理にすべき
実際はちゃんとセーブデータから該当するデータを読むという処理にすべき
413402 (ワッチョイ 6a2c-n0I8)
2019/06/04(火) 21:59:55.03ID://1XsOfQ0 それに何回も同じファイルへの読み込むのは、
他のプロセスで、そのファイルを書き換えているからかも知れない
だから、ひょっとして書き変わっているかも知れないから、
出来るだけ新しいファイルを、読み込もうとしているのかも知れない
結局こういうように、仕様に対する推測ばかりするようになる
バグのほとんどは設計段階で生じる。
仕様がおかしかったら、必ずクソコードになってしまうw
これはもはや、プログラミングではない!
このように漏れらはいつも、設計・仕様の話ばかりしている。
顧客の要求定義も知らないのにさ!ww
漏れは、こういう仕事をさんざんやってきた。
その度に同僚同士で、クソコードを分析しても得られるものはないし、
時間の浪費だよねって、常々言い合ってきたw
お金をもらえるからやってるだけで、勉強にはならない。
勉強効率で言えば、1/100 とか
重箱の隅をつつくような断片的な知識は、覚えられられないし転用できない。
体系的に学ぶ必要がある
他のプロセスで、そのファイルを書き換えているからかも知れない
だから、ひょっとして書き変わっているかも知れないから、
出来るだけ新しいファイルを、読み込もうとしているのかも知れない
結局こういうように、仕様に対する推測ばかりするようになる
バグのほとんどは設計段階で生じる。
仕様がおかしかったら、必ずクソコードになってしまうw
これはもはや、プログラミングではない!
このように漏れらはいつも、設計・仕様の話ばかりしている。
顧客の要求定義も知らないのにさ!ww
漏れは、こういう仕事をさんざんやってきた。
その度に同僚同士で、クソコードを分析しても得られるものはないし、
時間の浪費だよねって、常々言い合ってきたw
お金をもらえるからやってるだけで、勉強にはならない。
勉強効率で言えば、1/100 とか
重箱の隅をつつくような断片的な知識は、覚えられられないし転用できない。
体系的に学ぶ必要がある
414デフォルトの名無しさん (ワッチョイ 5b84-2pxk)
2019/06/04(火) 22:59:30.82ID:0PWK+f1w0 fileに複数のオブジェクトがdumpされてて
それを順番にloadしてるだけだぞ
それを順番にloadしてるだけだぞ
415402 (ワッチョイ 6a2c-n0I8)
2019/06/04(火) 23:41:11.09ID://1XsOfQ0 Marshal.load(port, proc = nil) -> object
port は、String か IO と書いてある
同じファイルを何回も読み込んでいるのではなく、
複数のオブジェクトがある場合、
一度にすべてを読み込まず、1つずつ順番に読み込んでるという事かな?
結局こういうように、どう作っているのか、他人の仕様の推測ばかりするようになる
このように漏れらはいつも、設計・仕様の話ばかりしている。
顧客の要求定義も知らないのにさ!ww
結局、他人がどう作っているのかなんて、わからない!
所詮どこまで行っても、推測に過ぎない!
port は、String か IO と書いてある
同じファイルを何回も読み込んでいるのではなく、
複数のオブジェクトがある場合、
一度にすべてを読み込まず、1つずつ順番に読み込んでるという事かな?
結局こういうように、どう作っているのか、他人の仕様の推測ばかりするようになる
このように漏れらはいつも、設計・仕様の話ばかりしている。
顧客の要求定義も知らないのにさ!ww
結局、他人がどう作っているのかなんて、わからない!
所詮どこまで行っても、推測に過ぎない!
416デフォルトの名無しさん (ワッチョイ 5b84-2pxk)
2019/06/05(水) 01:28:30.54ID:UB83J14X0 仕様は>>399が(中略)したところに書いてあったぞ
417デフォルトの名無しさん (ワッチョイ 6a9c-gySn)
2019/06/05(水) 01:30:04.71ID:Oo3xyqZm0 全部コピペしてくれ
気になって寝られない
気になって寝られない
418デフォルトの名無しさん (ワッチョイ 8a52-gkx+)
2019/06/05(水) 02:34:30.81ID:UjRB/6p50419402 (ワッチョイ 6a2c-n0I8)
2019/06/05(水) 22:44:36.03ID:9aT8oaGi0 Marshal.load(port, proc = nil) -> object
port は、String か IO と書いてあって、仕様を知らないと、どちらかわからないから!
漏れの印象では、Marshal は、dup, clone などのdeep copy 関係のクラス
質問者のは、文字列化して外部プロセスに送ったり、
外部プロセスから文字列をもらって、オブジェクトを構築したりする用法かな?
JSON.parse, stringify みたいな感じなのかな?
「Ruby逆引きハンドブック」では、分散(distributed)Ruby, dRuby を使ってる。
外部ホスト・プロセスで動く、Rubyとの通信
dRubyでは、Marshalによる値渡しが基本みたい
port は、String か IO と書いてあって、仕様を知らないと、どちらかわからないから!
漏れの印象では、Marshal は、dup, clone などのdeep copy 関係のクラス
質問者のは、文字列化して外部プロセスに送ったり、
外部プロセスから文字列をもらって、オブジェクトを構築したりする用法かな?
JSON.parse, stringify みたいな感じなのかな?
「Ruby逆引きハンドブック」では、分散(distributed)Ruby, dRuby を使ってる。
外部ホスト・プロセスで動く、Rubyとの通信
dRubyでは、Marshalによる値渡しが基本みたい
420デフォルトの名無しさん (ワッチョイ 0f5f-rJ7W)
2019/06/06(木) 12:10:33.65ID:UkK5klaO0 知らん人多いのか・・・びっくりだ
STDIN.getsなんかと同じで必要な文だけ読み取ってるだけだぞ
STDIN.getsなんかと同じで必要な文だけ読み取ってるだけだぞ
421デフォルトの名無しさん (アウアウカー Sad3-N69s)
2019/06/06(木) 14:41:45.27ID:fpHkuk9sa Marshalとか今時使うもんじゃない
422デフォルトの名無しさん (ワッチョイ 1784-zjL7)
2019/06/07(金) 01:21:32.05ID:UE5bXA580 今時は何使うん?
423デフォルトの名無しさん (アウアウエー Sa93-dZrz)
2019/06/07(金) 01:23:56.05ID:yhNlt0n8a Rubyとか今時使うもんじゃない
424デフォルトの名無しさん (ワッチョイ 1784-zjL7)
2019/06/07(金) 01:42:47.01ID:UE5bXA580 Marshalでファイルに複数のオブジェクトを読み書きできるのか
てっきり1個のオブジェクトに固めてから使うのかと思った
リファレンスマニュアルにはそのあたり書いてないからね
てっきり1個のオブジェクトに固めてから使うのかと思った
リファレンスマニュアルにはそのあたり書いてないからね
425デフォルトの名無しさん (スップ Sdcf-yQWj)
2019/06/07(金) 10:49:24.42ID:Eixypjmyd CSV出力処理でメモリが上がってしまうことが多く、対策しようとしているのですが良い方法はありますか?
少し調べて、pluckメソッドを使おうと思ったのですが、ソート順が想定通りにならなかったりしそうだったので、引き続き調べてみています。
少し調べて、pluckメソッドを使おうと思ったのですが、ソート順が想定通りにならなかったりしそうだったので、引き続き調べてみています。
426デフォルトの名無しさん (ワッチョイ b314-FAmt)
2019/06/07(金) 11:24:15.29ID:3EE3ZH/10 出力するのにソート関係ないし
質問自体が初心者だなぁ(笑)
質問自体が初心者だなぁ(笑)
427デフォルトの名無しさん (ワッチョイ 6b2c-MqbY)
2019/06/07(金) 22:37:13.77ID:wtNNzOUb0 CSV.foreach で、ファイルを1行ずつ処理できる
このメソッドは、たぶん1行ずつ読み込んでは、
そのデータを捨ててと言うのを繰り返すのかな?
でも、ソートするなら、すべてのデータがメモリ内に存在しないといけないのでは?
だから、全行をメモリ内に読み込むことになる!
このメソッドは、たぶん1行ずつ読み込んでは、
そのデータを捨ててと言うのを繰り返すのかな?
でも、ソートするなら、すべてのデータがメモリ内に存在しないといけないのでは?
だから、全行をメモリ内に読み込むことになる!
428デフォルトの名無しさん (ワッチョイ 6b2c-MqbY)
2019/06/08(土) 00:20:08.05ID:0P3wY/7I0 Python では、collections.Counter で、要素の出現回数を数えられるけど、
Ruby でも、簡単にできる方法ある?
普通には、Hash に入れながら、回数をインクリメントしていくけど
import collections
l = [ 'a', 'b', 'c', 'b', 'a' ]
c = collections.Counter( l )
print( c )
# Counter( { 'a': 2, 'b': 2, 'c': 1 } )
Ruby でも、簡単にできる方法ある?
普通には、Hash に入れながら、回数をインクリメントしていくけど
import collections
l = [ 'a', 'b', 'c', 'b', 'a' ]
c = collections.Counter( l )
print( c )
# Counter( { 'a': 2, 'b': 2, 'c': 1 } )
429428 (ワッチョイ 6b2c-MqbY)
2019/06/08(土) 02:34:37.85ID:0P3wY/7I0 >>428
自己レス
配列に含まれている重複している数を数えるには?
https://teratail.com/questions/91229
l.each_with_object( Hash.new( 0 ) ){ |e, h| h[ e ] += 1 }
Python の、こういうのは無さそう。
c = collections.Counter( l )
自己レス
配列に含まれている重複している数を数えるには?
https://teratail.com/questions/91229
l.each_with_object( Hash.new( 0 ) ){ |e, h| h[ e ] += 1 }
Python の、こういうのは無さそう。
c = collections.Counter( l )
430デフォルトの名無しさん (ワッチョイ 1784-zjL7)
2019/06/08(土) 03:19:18.26ID:s7niJl7f0 ["a", "b", "c", "b"].tally
#=> {"a"=>1, "b"=>2, "c"=>1}
#=> {"a"=>1, "b"=>2, "c"=>1}
431デフォルトの名無しさん (ワッチョイ 8992-GC2g)
2019/06/08(土) 03:54:40.62ID:Vf2EEML20 >>425
csvを全部読み込んで処理しようとするとそうなるのは避けられない、何らかの工夫をするしかない
一行、数行ずつ処理し、終わるごとに配列、hashをクリアしていけばいいが、出来ない場合ね
csvを二回読み、一回目で必要なキーや情報だけ集めて一度csvをclose、
2回目にその情報を使って一行ずつ処理するなど
csvを全部読み込んで処理しようとするとそうなるのは避けられない、何らかの工夫をするしかない
一行、数行ずつ処理し、終わるごとに配列、hashをクリアしていけばいいが、出来ない場合ね
csvを二回読み、一回目で必要なキーや情報だけ集めて一度csvをclose、
2回目にその情報を使って一行ずつ処理するなど
432デフォルトの名無しさん (ワッチョイ e39c-N69s)
2019/06/08(土) 05:57:15.56ID:2hi7btAr0 >>425
MapReduceみたいに複数のマシンに分散させるとか
MapReduceみたいに複数のマシンに分散させるとか
433デフォルトの名無しさん (ワッチョイ 6b2c-MqbY)
2019/06/09(日) 05:48:42.16ID:rn4C+nSw0 [[1, 2], [3, 4]] の外側の[ ] を外すには、どうすれば良いですか?
[1, 2], [3, 4] のようにしたい
flatten では、内側の[ ]が無くなる
ary = [[1, 2], [3, 4]]
p ary.flatten( 1 )
#=> [1, 2, 3, 4]
[1, 2], [3, 4] のようにしたい
flatten では、内側の[ ]が無くなる
ary = [[1, 2], [3, 4]]
p ary.flatten( 1 )
#=> [1, 2, 3, 4]
434デフォルトの名無しさん (ドコグロ MMdf-2DaB)
2019/06/09(日) 05:57:04.68ID:Zvq68IITM >>433
あちこちでアホみたいなレスしてRubyの評判を落とすのをやめたら教えてあげるよ
あちこちでアホみたいなレスしてRubyの評判を落とすのをやめたら教えてあげるよ
435デフォルトの名無しさん (ワッチョイ 3f73-to8s)
2019/06/09(日) 13:07:01.08ID:owsNLjD/0 >>433
ary[0] or ary.first
ary[0] or ary.first
436デフォルトの名無しさん (ワッチョイ 3b44-gPgm)
2019/06/09(日) 13:42:07.09ID:Y6d7d5Fn0 >>433
意味がわからん。
意味がわからん。
437デフォルトの名無しさん (ワッチョイ eb7c-yvwO)
2019/06/09(日) 14:03:11.38ID:V8qyq4Ge0 *[[1, 2], [3, 4]]
438デフォルトの名無しさん (スプッッ Sddb-Gzfa)
2019/06/09(日) 14:33:40.10ID:FDYkpc7vd オススメな本ある?
>>438
アマゾン/dp/B00ICKLC2A
アマゾン/dp/B00ICKLC2A
440デフォルトの名無しさん (スプッッ Sddb-Gzfa)
2019/06/09(日) 20:52:05.62ID:FDYkpc7vd >>440
そうです、結構おもしろかったですよ
そうです、結構おもしろかったですよ
442デフォルトの名無しさん (スプッッ Sddb-Gzfa)
2019/06/09(日) 21:45:31.88ID:FDYkpc7vd >>441
Kindleバージョンしかないの?
Kindleバージョンしかないの?
>>442
書籍で出ていましたよ、私が持っているのは書籍の方
書籍で出ていましたよ、私が持っているのは書籍の方
444デフォルトの名無しさん (ワッチョイ ebb6-fbqF)
2019/06/09(日) 21:55:27.58ID:W83DJxDE0 【実体験】ブログを1,000記事ほど書いたら、月300万くらい稼げた話
https://www.youtube.com/watch?v=GmVulh282ps&t=604s
【報告】ブログで「月収1,000万」を達成できました【方法を解説する】
https://www.youtube.com/watch?v=pgjcuLp8wt0
年間ほど努力したら「年収3,000万」になったので、経験談を語る
https://www.youtube.com/watch?v=oV_SY-a1lMs
期間工ブログの収入は1500万円でした。【フリーランスの現実&底辺からの復活編】
https://www.youtube.com/watch?v=aijLjFLOuC4
年商1300万のプロブロガーの初心者時代から今までの軌跡
https://www.youtube.com/watch?v=UMiF4T2EO9o
【収益報告】実働月10hでも大金稼ぐ方法を解説【年収6,000万】
https://www.youtube.com/watch?v=o2ISWP-VZsw&t=288s
無料ブログは稼げない。稼ぐならオススメはWordPress一択の理由
https://www.youtube.com/watch?v=o8oUe3JS-lg
https://www.youtube.com/watch?v=GmVulh282ps&t=604s
【報告】ブログで「月収1,000万」を達成できました【方法を解説する】
https://www.youtube.com/watch?v=pgjcuLp8wt0
年間ほど努力したら「年収3,000万」になったので、経験談を語る
https://www.youtube.com/watch?v=oV_SY-a1lMs
期間工ブログの収入は1500万円でした。【フリーランスの現実&底辺からの復活編】
https://www.youtube.com/watch?v=aijLjFLOuC4
年商1300万のプロブロガーの初心者時代から今までの軌跡
https://www.youtube.com/watch?v=UMiF4T2EO9o
【収益報告】実働月10hでも大金稼ぐ方法を解説【年収6,000万】
https://www.youtube.com/watch?v=o2ISWP-VZsw&t=288s
無料ブログは稼げない。稼ぐならオススメはWordPress一択の理由
https://www.youtube.com/watch?v=o8oUe3JS-lg
445デフォルトの名無しさん (ワッチョイ 115f-Gzfa)
2019/06/09(日) 22:06:11.67ID:+p5uJAry0 >>443
2008年発売の書籍!
2008年発売の書籍!
446デフォルトの名無しさん (ワッチョイ 6b2c-MqbY)
2019/06/09(日) 22:58:24.18ID:rn4C+nSw0 おすすめ本は、このスレの最初の方に、まとめてある!
447デフォルトの名無しさん (ワッチョイ 115f-to8s)
2019/06/09(日) 23:32:37.79ID:+p5uJAry0 おお!ありがと!
448デフォルトの名無しさん (ワッチョイ 5b33-2qry)
2019/06/13(木) 15:09:32.77ID:mYw2PK9v0 標準ライブラリに仮想環境を構築するモジュールがあれば教えてください
449デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
2019/06/14(金) 00:20:43.41ID:gXbRy3uY0 まさか、標準ライブラリには無いだろ
Chef, Vagrant とかだろ
Chef, Vagrant とかだろ
450デフォルトの名無しさん (ワッチョイ 8a2d-vI2o)
2019/06/14(金) 11:13:41.68ID:d7JGEW920 物議を醸すパイプライン演算子
451デフォルトの名無しさん (ワッチョイ a314-9ye8)
2019/06/14(金) 12:11:55.47ID:/GXcsjP70 sh「パイプライン演算子とはようやくシェルスクリプトに追いついてきたか?」
452デフォルトの名無しさん (ワッチョイ 5b33-2qry)
2019/06/14(金) 17:43:29.05ID:2ICDzfK10 >>449
Pythonのvenvみたいなのはないんですか?
Pythonのvenvみたいなのはないんですか?
453449 (ワッチョイ 9a2c-oZrO)
2019/06/14(金) 21:43:43.43ID:gXbRy3uY0 rbenv, nodenv などのanyenv だろ。
ただし、anyenv は、シェルスクリプトで書かれているらしいから、Linux/Mac でしか使えない
Windows では、仮想OS を使うか、
Windows10・WSL 上のLinux で動かしている、記事もある
Windows の場合、ユーザー環境変数PATH を手動で切り替える方法もある。
PowerShell(PS) で、そういうスクリプトを書くとか
ruby.exe のある場所。
C:\Ruby24-x64\bin
C:\Ruby25-x64\bin
PS で、環境変数PATHは、; で区切り。
$env:Path.split(";")
#=> C:\Ruby24-x64\bin
ただし、anyenv は、シェルスクリプトで書かれているらしいから、Linux/Mac でしか使えない
Windows では、仮想OS を使うか、
Windows10・WSL 上のLinux で動かしている、記事もある
Windows の場合、ユーザー環境変数PATH を手動で切り替える方法もある。
PowerShell(PS) で、そういうスクリプトを書くとか
ruby.exe のある場所。
C:\Ruby24-x64\bin
C:\Ruby25-x64\bin
PS で、環境変数PATHは、; で区切り。
$env:Path.split(";")
#=> C:\Ruby24-x64\bin
454デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
2019/06/14(金) 21:51:30.95ID:gXbRy3uY0 |> は、関数型言語、Elixir のパイプ演算子
メソッドチェーンを発展させて、オブジェクト指向から、関数型へ近づく。
マルチコアCPU の時代への適用
メソッドチェーンを発展させて、オブジェクト指向から、関数型へ近づく。
マルチコアCPU の時代への適用
455デフォルトの名無しさん (ワッチョイ 9a9c-7/3C)
2019/06/14(金) 22:31:52.50ID:Guh3Kqz10 パイプ演算子ってドットのエイリアスなの
それパイプ演算子じゃない
それパイプ演算子じゃない
456デフォルトの名無しさん (アウアウウー Sac7-FH5+)
2019/06/14(金) 22:59:33.98ID:cwcbHRc8a Rubyは第一級関数じゃないからパイプ演算子とは極めて相性が悪い
Rubyで a |> b と書いたら、(このRubyキチガイを除く)まともな頭で普通に類推したら b()(a()) の意味になっちゃうからね
括弧省略が鬼門
Rubyで a |> b と書いたら、(このRubyキチガイを除く)まともな頭で普通に類推したら b()(a()) の意味になっちゃうからね
括弧省略が鬼門
457デフォルトの名無しさん (ワッチョイ 9a9c-7/3C)
2019/06/15(土) 00:21:14.51ID:ZZVwfMZi0 こういうの見ると型は必要だよなあと感じる
458デフォルトの名無しさん (ワッチョイ 0384-/+Rn)
2019/06/15(土) 02:09:14.95ID:aR6/lbk80 ふうむ
では b <| a ならどうだろう
では b <| a ならどうだろう
459デフォルトの名無しさん (ワッチョイ a314-9ye8)
2019/06/15(土) 08:12:23.99ID:ZCtqwPNW0 >>453
やっぱりWindows版のruby.exeを使うのはやめたほうが良いっすね
やっぱりWindows版のruby.exeを使うのはやめたほうが良いっすね
460デフォルトの名無しさん (ワッチョイ 7f4e-ulgk)
2019/06/15(土) 18:03:41.92ID:VjZxllkS0 カッコ省略の問題がなんで型の問題になるんだ?別の問題だろう。
461デフォルトの名無しさん (ワッチョイ 9a73-2qry)
2019/06/15(土) 23:03:19.36ID:suvV29vR0 >>456
Rubyは第一級関数言語やで
Rubyはカッコを省略してメソッドを呼び出せるので関数オブジェクトの取り出し方がめんどくさいのは事実だけどね
だからかどうか知らんけど、Symbol#to_proc みたいなのもあるけど
まぁ、メソッドチェーンでできるんだから、パイプ演算子は要らんかなとは思う
Rubyは第一級関数言語やで
Rubyはカッコを省略してメソッドを呼び出せるので関数オブジェクトの取り出し方がめんどくさいのは事実だけどね
だからかどうか知らんけど、Symbol#to_proc みたいなのもあるけど
まぁ、メソッドチェーンでできるんだから、パイプ演算子は要らんかなとは思う
462449 (ワッチョイ 9a2c-oZrO)
2019/06/15(土) 23:26:17.73ID:VnSVMhRs0 >>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 は、第一級関数ではない。
処理をオブジェクトにするとややこしいから、第一級関数にしない方がよい
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 は、第一級関数ではない。
処理をオブジェクトにするとややこしいから、第一級関数にしない方がよい
463デフォルトの名無しさん (ワッチョイ df14-9ye8)
2019/06/15(土) 23:47:22.68ID:mKDC3u9y0 > Windows 版では、バグがあるかも知れないので、
Windows 版使わないほうがいいっすね〜
Windows 版使わないほうがいいっすね〜
464デフォルトの名無しさん (ワッチョイ 3e7c-jEB4)
2019/06/16(日) 11:55:03.74ID:NdAq/MEw0 windows なら素直に python 使え
無理して ruby 使ってもロクなことにならない
無理して ruby 使ってもロクなことにならない
465デフォルトの名無しさん (ドコグロ MM92-FH5+)
2019/06/16(日) 12:01:22.73ID:0yrhG5qHM 長く使うものを作るならGoも良い選択
Windowsで問題なく動く
JavaやPythonもそうだけど、最終的にはWindowsでの開発と相性のいいものが選ばれるんだよ
Windowsで問題なく動く
JavaやPythonもそうだけど、最終的にはWindowsでの開発と相性のいいものが選ばれるんだよ
466デフォルトの名無しさん (ワッチョイ 1a79-yo4S)
2019/06/16(日) 13:03:24.87ID:cl8tkhE+0 Windowsを捨てるのが一番良い。
467デフォルトの名無しさん (ワッチョイ 275f-2P3G)
2019/06/16(日) 17:50:50.68ID:ALGkmXda0 windowsでbatやpowerscript代わりにRuby使ってる
それ以上のモノをwindowsで作りたいならおとなしくC#使うべき
それ以上のモノをwindowsで作りたいならおとなしくC#使うべき
468デフォルトの名無しさん (ワッチョイ 9a01-nQaC)
2019/06/16(日) 21:33:59.28ID:keFwsV830 Windowsでちょっとしたスクリプトを書くなら、AutoHotkeyがお手軽かつ強力だな。
469デフォルトの名無しさん (ワッチョイ 1a79-yo4S)
2019/06/17(月) 00:16:36.52ID:aG6Vt+AG0 >>468
Hot Soup Processer もw
Hot Soup Processer もw
470デフォルトの名無しさん (ワッチョイ 1ab0-bbbA)
2019/06/18(火) 06:18:25.72ID:3nOE2mBA0 プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
471デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
2019/06/18(火) 22:50:32.33ID:PmBejiWq0 雑誌、WEB+DB PRESS Vol.110 (2019/4/25) では、
RubyVM を作った、Cookpad の笹田耕一による、Ruby 実装系の新連載が始まった!
RubyVM を作った、Cookpad の笹田耕一による、Ruby 実装系の新連載が始まった!
472デフォルトの名無しさん (ワッチョイ 93a5-mDEe)
2019/06/21(金) 15:19:36.87ID:LkxS+Sdt0 Sorbetの型注釈の書き方最悪だな
matzの言うことなんか無視して、ドキュメントを含めた統一的な型注釈の書き方を決めるべきだったのに
matzの言うことなんか無視して、ドキュメントを含めた統一的な型注釈の書き方を決めるべきだったのに
473デフォルトの名無しさん (ワッチョイ 93a5-BUGM)
2019/06/22(土) 11:20:25.22ID:xaZv7O+80 で
お前さんの考える最高の書き方は具体的にどういうモンなの
お前さんの考える最高の書き方は具体的にどういうモンなの
>>471
買いました!
買いました!
475デフォルトの名無しさん (ワッチョイ c195-eGkX)
2019/06/23(日) 19:01:19.76ID:WHM6Ibwm0 日本語のような全角を2
英語のようなのを1
で計算する
printf を使えますか?
perl などでは日本語と英語がまざると
端末に出力するときの整形を printf と %s にまかせられません ずれます
この言語 ruby は日本人が作ったので
なにか日本語まじりの英語も整形する手段、ライブラリがあるかもしれない
そう思って訪ねに来ました
ruby には
日本語も整形できる手段ありますか?
スマートなprintfの類ありますか?
英語のようなのを1
で計算する
printf を使えますか?
perl などでは日本語と英語がまざると
端末に出力するときの整形を printf と %s にまかせられません ずれます
この言語 ruby は日本人が作ったので
なにか日本語まじりの英語も整形する手段、ライブラリがあるかもしれない
そう思って訪ねに来ました
ruby には
日本語も整形できる手段ありますか?
スマートなprintfの類ありますか?
476デフォルトの名無しさん (ワッチョイ 9301-EDe2)
2019/06/23(日) 19:10:36.01ID:xc930vdW0 ソースをUTF-8で記述
477デフォルトの名無しさん (ワッチョイ c195-eGkX)
2019/06/23(日) 20:29:44.45ID:WHM6Ibwm0 ありがとうございました
日本語3文字を length が 6 と
日本語3文字を length が 6 と
478デフォルトの名無しさん (ワッチョイ c195-eGkX)
2019/06/23(日) 20:30:03.52ID:WHM6Ibwm0 返してくれるので
これで楽に書けます
これで楽に書けます
479デフォルトの名無しさん (ワッチョイ 2b14-Z7yD)
2019/06/23(日) 22:54:23.73ID:MSRPr+EY0 > 日本語3文字を length が 6 と
だめじゃんw
6を返すってことは6じゃない場合もあるってことだからな
だめじゃんw
6を返すってことは6じゃない場合もあるってことだからな
480デフォルトの名無しさん (ワッチョイ 5b44-QPVk)
2019/06/23(日) 23:29:15.95ID:kDz3gLp60 つうか、3文字で6ってなんやねん?
9ちゃううんか?
9ちゃううんか?
481デフォルトの名無しさん (ワンミングク MMd3-mLc0)
2019/06/24(月) 08:44:42.15ID:xbxTg/onM lengthとbytesizeは違う
482デフォルトの名無しさん (ワッチョイ c114-Z7yD)
2019/06/24(月) 10:39:06.34ID:GG24ezzu0 いずれにしろ
日本語3文字が6と返ってくるのはおかしい
日本語3文字が6と返ってくるのはおかしい
483デフォルトの名無しさん (ワッチョイ 4b7c-Kkfr)
2019/06/24(月) 12:29:01.33ID:NW8XqAfb0484デフォルトの名無しさん (スップ Sdca-rCja)
2019/07/01(月) 12:54:44.12ID:fiA0UtsUd Pythonなんかだと
printとinputですが
Rubyでは
putsとgetsと三単現のsがつきますよね
命令文なので二人称のputとかgetにした方が良いと思うのですが…
何でRubyは基本的な英語の語法を無視しているのですか?
printとinputですが
Rubyでは
putsとgetsと三単現のsがつきますよね
命令文なので二人称のputとかgetにした方が良いと思うのですが…
何でRubyは基本的な英語の語法を無視しているのですか?
485デフォルトの名無しさん (アメ MM39-rSnO)
2019/07/01(月) 12:57:54.84ID:MoEwNeEzM put stringの略だとよwww
to_sとかもそうだけどjap engrish思考よなwwww
to_sとかもそうだけどjap engrish思考よなwwww
486デフォルトの名無しさん (スップ Sdca-rCja)
2019/07/01(月) 12:59:27.33ID:fiA0UtsUd487デフォルトの名無しさん (ワッチョイ 1514-fqXP)
2019/07/01(月) 13:00:37.00ID:ywGyCn2/0 printf が print format の略であるように、
puts が put string の略なのは
C言語由来ですよ?
puts が put string の略なのは
C言語由来ですよ?
488デフォルトの名無しさん (スップ Sdca-rCja)
2019/07/01(月) 13:06:28.54ID:fiA0UtsUd489デフォルトの名無しさん (ワッチョイ 15e7-3lym)
2019/07/01(月) 17:05:10.98ID:2m4t7V760490デフォルトの名無しさん (アウウィフ FF11-a57L)
2019/07/01(月) 17:05:17.93ID:87GWfzf4F startswith や endswith には s ついてる
491デフォルトの名無しさん (アメ MM39-rSnO)
2019/07/01(月) 18:04:52.69ID:MoEwNeEzM 識別子に?や!使えるようにしてるもんだから他の言語は?.のところ&.なんだよなwww
ダッサwwwww
ダッサwwwww
492デフォルトの名無しさん (ワッチョイ 9d33-CaMw)
2019/07/01(月) 19:31:12.97ID:sgfBLVFM0 >>489
sort「!」なんかの時点で、もう英語は関係ないやろ!w
sort「!」なんかの時点で、もう英語は関係ないやろ!w
493デフォルトの名無しさん (ワッチョイ ca2c-fjwL)
2019/07/02(火) 04:10:59.33ID:uMGeffjZ0 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
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
494デフォルトの名無しさん (ワッチョイ 2a52-ebfw)
2019/07/02(火) 08:05:59.97ID:b3K46sKz0 >>493
他人をどうこういう前に、お前の書き込み履歴と鏡を見直せ
他人をどうこういう前に、お前の書き込み履歴と鏡を見直せ
495デフォルトの名無しさん (ワッチョイ a97c-a57L)
2019/07/02(火) 09:54:03.28ID:dJ0Zw08U0 493 は死んで良い
496デフォルトの名無しさん (ワッチョイ 69da-3te8)
2019/07/03(水) 12:11:49.04ID:+RO4gFPu0 俺も493は死んでいいと思う
497デフォルトの名無しさん (ワッチョイ ff2c-NenP)
2019/07/10(水) 14:15:50.44ID:Jbt6AAsO0 redo は、現在のループをやり直すけど、
ループを最初の要素から、やり直すにはどう書く?
例えば、3 なら、また1 からループを始める
ary = [ 1, 2, 3, 4 ]
ary.each do |num|
p num if num == 3
end
ループを最初の要素から、やり直すにはどう書く?
例えば、3 なら、また1 からループを始める
ary = [ 1, 2, 3, 4 ]
ary.each do |num|
p num if num == 3
end
498デフォルトの名無しさん (ワッチョイ 03e7-MLAK)
2019/07/10(水) 15:22:02.98ID:tfcMfkAP0 >>497
http://ideone.com/8UfEyv
もしもCPUの仕組みを知っていれば、制御変数 i は
プログラムカウンタのことだと見立てることができます
さらに抽象化して、もしもステートマシンを知っていれば:
・ブロック do .. end は状態遷移を表し、
・ブロック引数 i は遷移元状態であり、
・ブロックの評価値は遷移先状態であると
見立てることができます
なお、loop.inject というパターンは過去にも別スレで利用しました
https://mevius.5ch.net/test/read.cgi/tech/1415419907/264
> なおメソッド loop は一般に loop do .... end という手続き型のスタイルで
> 書かれることが多いために ループ構文の一種と誤解されがちですが、
> (lambda を構文糖であると >>254 が 勘違いしたように....)
> loop はメソッドですので(コードで示したように) inject へ
> チェーンさせることができます
http://ideone.com/8UfEyv
もしもCPUの仕組みを知っていれば、制御変数 i は
プログラムカウンタのことだと見立てることができます
さらに抽象化して、もしもステートマシンを知っていれば:
・ブロック do .. end は状態遷移を表し、
・ブロック引数 i は遷移元状態であり、
・ブロックの評価値は遷移先状態であると
見立てることができます
なお、loop.inject というパターンは過去にも別スレで利用しました
https://mevius.5ch.net/test/read.cgi/tech/1415419907/264
> なおメソッド loop は一般に loop do .... end という手続き型のスタイルで
> 書かれることが多いために ループ構文の一種と誤解されがちですが、
> (lambda を構文糖であると >>254 が 勘違いしたように....)
> loop はメソッドですので(コードで示したように) inject へ
> チェーンさせることができます
499デフォルトの名無しさん (ワッチョイ ff2c-NenP)
2019/07/10(水) 16:16:11.40ID:Jbt6AAsO0 require 'prime'
p ary = Prime.prime_division( 18 )
#=> [[2, 1], [3, 2]]
18 を素因数分解した結果、
[[2, 1], [3, 2]]、2が1回, 3が2回みたいな表記を、
単純に、[2, 3, 3]のように開くには、どうすればよいですか?
p ary = Prime.prime_division( 18 )
#=> [[2, 1], [3, 2]]
18 を素因数分解した結果、
[[2, 1], [3, 2]]、2が1回, 3が2回みたいな表記を、
単純に、[2, 3, 3]のように開くには、どうすればよいですか?
500497 (ワッチョイ ff2c-NenP)
2019/07/10(水) 16:39:54.23ID:Jbt6AAsO0501デフォルトの名無しさん (ワッチョイ 03e7-MLAK)
2019/07/10(水) 17:37:17.74ID:tfcMfkAP0503デフォルトの名無しさん (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 14:16:26.97ID:NKxgAyGK0 乱数はメルセンヌツイスタらしいけど、
偏るので、マシなやり方はないですか?
Array.new( 25 ) { rand( 1..9 ) }
出力
[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]
[5, 8, 4, 1, 3, 3, 2, 2, 9, 7, 9, 7, 7, 6, 7, 4, 3, 4, 5, 4, 8, 8, 7, 2, 5]
[7, 7, 6, 7, 9, 5, 8, 2, 8, 5, 1, 8, 4, 9, 3, 3, 9, 8, 6, 1, 1, 3, 5, 7, 2]
偏るので、マシなやり方はないですか?
Array.new( 25 ) { rand( 1..9 ) }
出力
[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]
[5, 8, 4, 1, 3, 3, 2, 2, 9, 7, 9, 7, 7, 6, 7, 4, 3, 4, 5, 4, 8, 8, 7, 2, 5]
[7, 7, 6, 7, 9, 5, 8, 2, 8, 5, 1, 8, 4, 9, 3, 3, 9, 8, 6, 1, 1, 3, 5, 7, 2]
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★2 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 ★2 [蚤の市★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 【悲報】なんで「アジア主義」を唱える右翼が居ないの🤔 [616817505]
- 野田(安倍晋三マニア)「総理は国益を損なうような発言はしてはいけない」 [884040186]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 【高市悲報】片山さつき、円安進行を受けコメント「為替の変動を緊張感を持って見極める」 [888298477]
