Ruby 初心者スレッド Part 62at TECH
Ruby 初心者スレッド Part 62 - 暇つぶし2ch869:844
18/03/17 00:05:48.37 nxO/ldT7.net
プログラミング本では、掌田が第一人者。
Unity, UE4 などのゲームエンジンから、最近は、Python, Node.js にも進出
売れる・成長する分野には、必ず掌田が参入してくる。
業界の風見鶏
「Node.js超入門、掌田津耶乃、2017」
この本で、Sinatra, Rails を学ぶ方が簡単。
20時間ほどで読める
後は、YouTube の動画で、OK

870:デフォルトの名無しさん
18/03/17 00:10:02.58 6ii9LbbD.net
やっぱ掌田津耶乃ってだめな人だった
調べたらわかったよ

871:デフォルトの名無しさん
18/03/17 00:34:45.99 4Xu/HAYS.net
今の時代、開発速度が速すぎて誰も良い本なんか書けないよ
それを書き終わる頃には時代遅れになってるんだから

872:デフォルトの名無しさん
18/03/17 00:38:04.22 6ii9LbbD.net
いや掌田がとりわけレベル低いだけ

873:デフォルトの名無しさん
18/03/17 01:55:30.84 +wQGtQt+.net
掌田津耶乃はだめな本
山田 祥寛は良い本
という評価が一般的
掌田津耶乃は何冊か読んでいるけど、
見比べてみるとたしかにダメダメなんだなぁ。

874:デフォルトの名無しさん
18/03/17 02:08:55.36 6ii9LbbD.net
山田 祥寛もダメだろ

875:デフォルトの名無しさん
18/03/17 05:35:09.75 77P/HBnW.net
掌田津耶乃はHyoerTalkなまりのコード

876:デフォルトの名無しさん
18/03/17 09:18:19.49 nxO/ldT7.net
最近は、Python にも、なでしこの作者・クジラ飛行机、
大津真、掌田も、乗り込んできた
この辺は、売れ筋には参入してくる著者
中でも掌田は、ゲームエンジン・言語・Javaのフレームワーク・Node.js など万能

877:デフォルトの名無しさん
18/03/17 12:59:20.73 OC0Ef+g3.net
またあらぶっとるんか糞荒らし
はやくRubyコミュで発言しろよ屑

878:デフォルトの名無しさん
18/03/17 14:32:15.41 +wQGtQt+.net
要はね
掌田の出版本を見てみるとわかるが、
初心者を食い物にしている
初心者専用の作者なわけよ、
だからレビューとかで
表面だけかじって書いたかのような本とか
書かれちゃうわけよ。
深く知りもしないであれだけの数の本を書けるわけないよね。
だから掌田はおすすめできないんだわ。
初心者にはいいかもしれないよ?
初心者向けの本ばかり何冊も何年も書き続けているから。

879:デフォルトの名無しさん
18/03/17 15:47:30.97 uAf5LbgY.net
商売としては全然アリだね
とっかかりが欲しい初心者いるだろうし

880:デフォルトの名無しさん
18/03/17 16:43:12.02 cWw1OMJa.net
>>856
ほんそれ

881:844
18/03/17 19:43:45.96 nxO


882:/ldT7.net



883:デフォルトの名無しさん
18/03/18 09:45:02.22 JzaiKxSG.net
>>856
食い物とか、被害妄想凄いな。
お前さんがもっとマシな解説ブログでも開いたら?w

884:デフォルトの名無しさん
18/03/18 12:36:10.41 Gg1K6bSi.net
>>860
頭使ってる?
掌田津耶乃が何冊初心者用の本を出しているか知っている?
ちょっと考えれば、
英語、ドイツ語、フランス語の言語学習の本を書いたとしたら
その言語のことをどこまで知っていて本を書いているんだろうとか気にならないの?
もし気にならないんだったら、表面的な知識だけで満足しているお前とは合わないのでバイバイ ノシ
Amazon.co.jp: 掌田 津耶乃:作品一覧、著者略歴
URLリンク(www.amazon.co.jp)
掌田津耶乃(しょうだつやの)。ほぼ男性。テクニカルライター兼3流プログラマ。
自分でも3流プログラマと認めているのに、まったく信者って奴は・・・

885:デフォルトの名無しさん
18/03/18 12:52:44.19 QAeUSVF3.net
こんなスレがあったで
掌田津耶乃って何者? (Late 2012)
URLリンク(anago.2ch.sc)

886:デフォルトの名無しさん
18/03/18 12:55:57.40 QAeUSVF3.net
基本的に流行ってるものを、ざっと調べてまとめただけなんだろうな
だから初心者レベルのところまでしか書けない
概要を知るところまでで、あれを参考にしてコードを書いてはいけない

887:デフォルトの名無しさん
18/03/18 16:36:38.11 Aq9RvNC1.net
HypaerCardの本も出してたから もう30年以上初心者向けの本出してるベテラン 

888:デフォルトの名無しさん
18/03/18 19:04:35.10 Pu83I0V3.net
Amazonのレビューでよく思うけど、海外の人は褒めるのが上手。いい面を見てる
日本人は100点じゃなきゃ糞みたいな心の狭い人が多い
初心者向けの本なんかにケチつけなくてもいいだろうに
今は公式サイトのドキュメントが充実してる時代なんだから、ほぼ公式くらいのことしか書かんだろうよ

889:デフォルトの名無しさん
18/03/18 19:43:48.34 Gg1K6bSi.net
そうだな、ネイティブと喋れない、英検準2級、TOEIC500点ぐらいの人が教えているって感じ。
そんなイメージが掌田津耶乃さん。

890:デフォルトの名無しさん
18/03/18 20:16:15.41 i3culXas.net
ご尊顔
URLリンク(interview-bookscan.s3-ap-northeast-1.amazonaws.com)

891:デフォルトの名無しさん
18/03/18 21:55:23.04 JzaiKxSG.net
>>861
いや長文必死にならなくても、お前さんが自分で解説するだけの知力すら無いってのは分かったから。

892:デフォルトの名無しさん
18/03/18 21:59:08.72 QAeUSVF3.net
なんで作者本人が自分で三流ですって言ってるのに、
他人が三流であると解説する必要があるんだ?

893:デフォルトの名無しさん
18/03/18 23:16:11.58 Gg1K6bSi.net
>>868
自己紹介乙

894:デフォルトの名無しさん
18/03/18 23:24:43.53 JFJ3EKTR.net
Java, Ruby のフレームワークを書ける人は、少ない。
山田祥寛(よしひろ)、掌田津耶乃、宮本信二、黒田努など
山田は会社向けの、1日4万円の講座などを開いている
一方、掌田は初心者向け。
Unity, UE4 などのゲームエンジン、
Python などの売れ筋言語、
Spring などのJavaのフレームワーク、
Node.js + Express などのJavaScript のフレームワークなど、万能
山田は会社員、掌田は初心者と、ターゲットが異なる。
もし、同じターゲットなら、両雄並び立たずで、共倒れするから

895:デフォルトの名無しさん
18/03/18 23:54:42.62 3ZuC3w8U.net
自演注意
自演注意
自演注意

896:デフォルトの名無しさん
18/03/19 04:32:11.24 csFbH6Mx.net
File.open('test.txt', 'r+') do |io|
text = io.read
io.rewind
io.write 'あ'
p io.pos #=> 3
io.truncate io.pos
end
読み書き両用ファイルの、ファイルサイズを減らして、上書きできた
io.rewind で、ファイルポインタを先頭に巻き戻す。
io.truncate io.pos で、現在のファイルポインタの位置で、ファイルを切り詰める

897:デフォルトの名無しさん
18/03/20 23:14:51.84 QfE06Qcj.net
>>870
反論すら出来ない奴は、つまらんね。

898:デフォルトの名無しさん
18/03/21 00:56:42.17 p8DsWgGG.net
変なこと聞くけどさ、rspecでさ、まあ適当にサンプル書くけど
describe "hoge do
 before do
  ・・・
 end
 context do
  let(:a) { 1 }
  ・・・
  it 'hage' do
   expect(a).to be 1
  end
 end
end
コレに限った話じゃなくて、rspecの使い方で内側のブロック(例えばitの中)から
外側のブロック(例えばcontextの中)の状態(例えば変数)を
書き換えるのを禁止にしても何の問題もないよね?もちろん参照するのはOK。
テストはどう有るべきかを考えたら、むしろそうした方が良いぐらいじゃないかって思うんだけどどうかな?

899:デフォルトの名無しさん
18/03/21 01:22:34.72 qUqb4QSc.net
ネストしたcontextで
内側のcontextが外側のcontextで設定した状態を
書き換えるような形でテストを書いても別にいいと思うけどな

900:デフォルトの名無しさん
18/03/21 01:57:04.18 p8DsWgGG.net
>>876
でもそうするとテストケース一つとか実行した時におかしくならない?

901:デフォルトの名無しさん
18/03/21 04:11:05.87 rJLoGwxo.net
>>874
自己紹介乙

902:デフォルトの名無しさん
18/03/21 07:02:14.53 wxFTzoek.net
外部への依存が少なければ、個々のテストの独立性が高いから、
バグが減るし、テストを並行実行できる
それが理想だけど、実現するのは難しそう

903:デフォルトの名無しさん
18/03/21 16:09:18.41 qUqb4QSc.net
>>877
おかしくならないよ
let(:a) { 2 }とかで上書きしてみればわかるでしょ

904:デフォルトの名無しさん
18/03/21 16:22:28.39 p8DsWgGG.net
>>880
上書き?
letは新たにローカル関数を作るようなもので
親ブロックのaを上書きなんかしてないよ

905:デフォルトの名無しさん
18/03/21 16:24:44.94 qUqb4QSc.net
>>881
それ分かってるんなら
何がおかしくなると思ってるの?

906:デフォルトの名無しさん
18/03/21 16:47:19.64 p8DsWgGG.net
>>882
内側のブロックで外側のブロックの変数に値を入れた場合だよ

907:デフォルトの名無しさん
18/03/30 15:22:33.47 87KFZNYL.net
Chrome 65 になったら、selenium webdriver が動かなくなったので、
chrome driver 2.37 を、ダウンロードしてみた
これで動くかどうかは、まだ試してないけど

908:883
18/03/30 20:31:06.53 87KFZNYL.net
新しいバージョンの、chrome driver にしたら動いた

909:デフォルトの名無しさん
18/04/01 16:44:40.27 0KaYXtgi.net
すみません、質問があります。
他人様の書いたコードを読んで写経しながら勉強していた所、
begin
#何らかの処理A(特に例外を出しそうな処理ではない)
end until hoge
という記述があったのですが、この書式の意味というか意図がいまいちつかめなくて困っています。
自分でコードを書いて試してみた所、この記述はhogeがtrueでもfalseでも処理Aを実行しており、
特に「until hoge」の部分で何を制御したいのかがわかりません。
(begin
#処理
end) until hoge
例えば、↑の書き方だと単純なuntil文の後置修飾になるので意味がわかるのですが、
上述のような書式で書く理由や、こう書くとどういうメリットがあるかを教えていただけますと嬉しいです。
よろしくお願いいたします。

910:デフォルトの名無しさん
18/04/01 16:51:30.58 1KgD14Zs.net
(と)の二文字省略できる

911:デフォルトの名無しさん
18/04/01 17:15:27.40 9myXjpPz.net
>>886
下のAとBは同じことをするんだけど、Aだと1行目と4行目が同じでもやっとするのでBのように書いているのでは
個人的にはbegin~endをメソッドにしてこうは書かないけど
begin~end untilのほかにもbegin~end whileも同様
# A
i = Time.now.sec
until i % 3 == 0
p i
i = Time.now.sec
end
# B
begin
i = Time.now.sec
p i
end until i % 3 == 0

912:デフォルトの名無しさん
18/04/01 17:18:46.83 9myXjpPz.net
訂正
# A
i = Time.now.sec
p i
until i % 3 == 0
i = Time.now.sec
p i
end
# B
begin
i = Time.now.sec
p i
end until i % 3 == 0

913:デフォルトの名無しさん
18/04/01 17:32:20.95 0KaYXtgi.net
>>888-889
ご回答頂きどうもありがとうございます。
なるほど、この書式だとbegin~end内の処理が1回は必ず実行されて、
その後に条件文で判定されるようになるので、同じ処理(例だと代入処理)を2度書かなくて済むようになるんですね。
とても勉強になりました。
個人的にはコード行数が増えたり同じ処理が連続するよりも、
ひと目で意図する処理が他人に伝わらないのはちょっと嫌なのでこの書き方は真似しないようにします……。

914:デフォルトの名無しさん
18/04/01 17:40:44.12 KXX7rc47.net
いや、それはおかしい。
リトライやリドゥーみたいな処理で、必要であれば、ためらわずそう書くべき。多少わかりにくくても。
いずれ慣れるから。
なんなら、先頭にコメントをつけとけば。

915:デフォルトの名無しさん
18/04/01 17:57:12.31 //EuH1G7.net
絶対的なルールではないけどこんなものもあるんで参考までに
ruby-style-guide
>後判定ループの場合、begin/end/untilやbegin/end/whileより、
>break付きのKernel#loopを使いましょう。
URLリンク(github.com)

916:デフォルトの名無しさん
18/04/01 18:00:28.18 ZcGM330i.net
(なにかしら).method
do
なにかしら
end メソッド

みたいなもんだからRuby規則に沿っているだろ

917:デフォルトの名無しさん
18/04/01 18:17:17.82 A31P7FUz.net
>>892
後判定ループを行うのにbegin-end-while/untilが好ましくない理由を俺に教えて欲しい

918:デフォルトの名無しさん
18/04/01 18:21:45.55 hwmab9Mq.net
>>894
英語的にキモいからだろ
end until ってさすがに非ネイティブの俺でも不自然に感じるぞ

919:デフォルトの名無しさん
18/04/01 18:27:29.70 Aa3HndXz.net
英語的な自然さを求めるなら、loopをendのエイリアスということにして loop while/until かな
VBがそんな感じだったはず
まあジャップ製言語だから仕方ないね

920:デフォルトの名無しさん
18/04/01 18:31:46.49 //EuH1G7.net
>>894
beginの中が長いと上から読んでてループするんだかrescueするんだかわかりにくいからじゃない?



921:ruby-style-guideはコメントを極力書かないで済むようにするのが目的の一つだから まあ個人的には首肯しかねるルールもいくつかあるけどね



922:デフォルトの名無しさん
18/04/01 18:43:23.68 hwmab9Mq.net
>>897
それもあるね
日本人からすると「~~(長い長い手続き)~~をループさせろ」は自然な流れだけど、
向こうの人からすると「結論から話せやファッキンジャップ」だろうな

923:デフォルトの名無しさん
18/04/01 21:03:13.03 A31P7FUz.net
>>897
ああ、なるほど
そういう観点だったのね
ありがとう

924:デフォルトの名無しさん
18/04/02 12:57:38.84 g/2XFKpH.net
ブロッキング条件なら後に来るの自然に感じる
長過ぎるとってのはどんなブロックでも同じ

925:デフォルトの名無しさん
18/04/02 13:03:59.66 KugB3K+A.net
SV
これは第一文型なんだから
文章.method
SをVするで普通の英語じゃん?

926:デフォルトの名無しさん
18/04/02 13:11:22.76 6hj+x7xd.net
おいおい…
「を」は対格を作る格助詞だぞ。
記号で書くとV(=verb=動詞)O(=object=目的語)だ。
SVは
S(=subject=主語)V(=verb=動詞)で、
S「が」Vする、だ。

927:デフォルトの名無しさん
18/04/02 13:22:58.60 g/2XFKpH.net
自然言語なんて例外だらけなんだからどうでもいい

928:デフォルトの名無しさん
18/04/02 13:41:31.43 eDlvSPE1.net
sendを使う度にモヤモヤした気持ちになる

929:デフォルトの名無しさん
18/04/02 14:10:59.70 HZoT/r0A.net
それより>>895だろうな
begin~end系言語で結びにend whileなんて書くのrubyくらいじゃないか?
たいてい>>896みたいにendを別の単語に変えてる

930:デフォルトの名無しさん
18/04/02 18:13:06.38 TBzY9DYT.net
そりゃそもそもend書かせる主流言語が少ないし

931:デフォルトの名無しさん
18/04/03 03:47:06.97 hZewAlsv.net
>>890
同じ処理を、別の場所に2回書くと、
修正時に、2か所とも修正しないといけないから、
どちらかを修正し忘れる事があるので、危険

932:デフォルトの名無しさん
18/04/03 04:10:23.05 8HWTUUN8.net
Donot
Repeat
Yourself

933:デフォルトの名無しさん
18/04/03 23:32:43.51 q2DveEBR.net
Do
Repaet
Yourself

934:デフォルトの名無しさん
18/04/04 02:02:25.22 h2UR4/YM.net
Reuse
Reduce
Recycle
Ruby

935:デフォルトの名無しさん
18/04/05 14:25:03.13 eFdDptlj.net
selenium-webdriver で、Chrome のHeadless mode で、
5ch の投稿者名・書き込み内容を、抜き出してみた
driver.navigate.to "スレリンク(linux板:8番)-9"
elements = driver.find_elements(:css, 'div[data-id]')
elements.each do |elem|
str = elem.attribute('data-id') + ' 投稿者 :'
# CSS では、コンテキストの直下を表現できないので、xpath を使う
# str += elem.find_element(:css, '> div.meta > span.name').text
str += elem.find_element(:xpath => "div[@class='meta']/span[@class='name']").text
puts str
str = '内容 :'
str += elem.find_element(:xpath => "div[@class='message']/span").text
puts str
end

936:デフォルトの名無しさん
18/04/07 05:31:34.17 Cc4pa2fK.net
三ヶ月在れば一つのプログラム言語を習得しアプリケーションを作ることが出来るw
スレリンク(win板:9番)
おいらは習作はしない、他愛ないことはやらないのだ
スレリンク(win板:881番)-883
C#なんてのはVZの開発環境にないwww
スレリンク(win板:913番)
ワロタ、ワロタ
スレリンク(win板:129番)-132

937:デフォルトの名無しさん
18/04/08 14:20:42.12 JYaIVkeP.net
10年以上前に学校でスクリプト言語を勉強してたときはPH


938:Pが流行ってて Perlもあったけど少し古いかなって感じ。ただとにかくJAVAが騒がれててJSP+tomcatなんかもやったな。 Rubyはあったけどそんなに話題にならず。 で最近、またスクライピングがやりたくて色々調べたら もうPHPも下火?でRubyとpythonとかいう言語が主流みたいですね。



939:デフォルトの名無しさん
18/04/08 15:16:13.15 nkM5b3tX.net
Rubyは主流じゃない

940:デフォルトの名無しさん
18/04/08 16:26:08.93 ikNNlzZg.net
PHPが下火でRubyが主流がねーわ。
人気を捏造しないと好きな言語も恥ずかしくて使えないのか軟弱者め。
たとえ世界の全てが使わなくても自分だけはRubyを使い続けるという気概を持てよ情けない奴

941:デフォルトの名無しさん
18/04/08 17:41:41.41 mE+8rAwy.net
2ch/5chでは、日本人が作ったというだけで、だめ扱いする書き込みがあるから
注意すべし。どこかぞの国から書き込まれている事がある。

942:デフォルトの名無しさん
18/04/09 11:49:58.15 M/BmQ9Z1.net
以下の半角空白区切りの行から、稼働時間を求めるには、どうやるの?
夜、24:00 以上の数字もあります
2018/09/09 09:45-24:00
2018/10/10 23:00-27:15

943:デフォルトの名無しさん
18/04/09 12:21:03.03 2h6IFanV.net
>>917
date = "2018/09/09 09:45-24:00"
m = date.match(/(\d\d):(\d\d)-(\d\d):(\d\d)/)[1, 4].map(&:to_i)
min = (m[2] - m[0])*60 + m[3] - m[1]
p "%d:%d" % min.divmod(60) # => "14:15"

944:916
18/04/09 13:15:44.73 M/BmQ9Z1.net
ありがとう
Date, DateTime, Time などの形で、引算で求められませんか?

945:デフォルトの名無しさん
18/04/09 13:42:09.51 2h6IFanV.net
date = "2018/09/09 09:45-24:00"
m = date.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg = Time.new(m[:year], m[:month], m[:day], m[:begh], m[:begm])
fin = Time.new(m[:year], m[:month], m[:day], m[:finh], m[:finm])
min = (fin - beg)/60
p "%d:%d" % min.divmod(60) # => "14:15"

946:916
18/04/09 14:17:26.06 M/BmQ9Z1.net
ありがとう
24:00 では、Time インスタンスを作れるけど、
27:15 では、エラーで作れなかった
回避策を考えてみます

947:デフォルトの名無しさん
18/04/09 14:23:48.18 GdkyYm9A.net
pythonスレにマルチするのやめれ

948:デフォルトの名無しさん
18/04/09 14:39:12.15 2h6IFanV.net
>>921
date = [
"2018/09/09 09:45-24:00",
"2018/10/10 23:00-27:15"
]
begfin = lambda do |m|
d = Time.new(m[:year], m[:month], m[:day])
[[m[:begh], m[:begm]], [m[:finh], m[:finm]]].map { |hour, min|
3600 * hour.to_i + 60 * min.to_i
}
end
date.each do |d|
m = d.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg, fin = begfin[m]
min = (fin - beg)/60
puts "%d:%d" % min.divmod(60) # => "14:15"
end
# =>
14:15
4:15
ってマルチかい

949:916
18/04/09 15:24:13.18 M/BmQ9Z1.net
python スレの書き込みとは別人。
ID も異なるはず
その書き込みを見て、Ruby ではどうプログラミングするべきか、考えてみたが難しかった

950:デフォルトの名無しさん
18/04/09 15:46:38.36 aj6Oy7j8.net
「ruby 24」検索
Ruby で 24 時超えの時間を楽ちんにパースする方法 - Qiita
URLリンク(qiita.com)

951:916
18/04/09 16:17:52.99 M/BmQ9Z1.net
d = Time.new(m[:year], m[:month], m[:day])
d_next = d + 60 * 60 * 24
24時以上の場合は、hour から24を引いて、1日足すけど、これはややこしい

952:デフォルトの名無しさん
18/04/09 21:36:13.46 0VIzl/J9.net
クソコードばっかりだなw

953:デフォルトの名無しさん
18/04/09 22:04:45.24 cXk52I1j.net
25以上の数字の入力を許している次点でクソコード。

954:916
18/04/10 00:28:34.01 oEQHPFsL.net
表計算ソフトなどで、時間管理していると、こういう表記もある。
2018/10/10 23:00-27:15
上を一旦、変換して
2018/10/10 23:00-24:00
2018/10/11 00:00-03:15
これも、1日足すのも結構、難しい。
Date, DateTime に変換してから、1日足さないと、月末・うるう年などで、バグる
>>926
>d_next = d + 60 * 60 * 24
これで1日足すのも、うるう秒の時が、どうなるか不安

955:デフォルトの名無しさん
18/04/10 00:34:12.01 PJbB3F/q.net
時刻じゃなくて時間を表すクラスが欲しくなるな

956:デフォルトの名無しさん
18/04/10 01:03:05.44 TtMX4ea2.net
24,60,60進法による演算ということね

957:デフォルトの名無しさん
18/04/10 03:53:20.97 gEpzqPRo.net
時間は最重要項目なんだから
完璧なライブラリとか無いのかな?

958:デフォルトの名無しさん
18/04/10 08:52:25.96 OCO/nUgk.net
RubyのDateTimeは充分以上だよ。
日付を増減するときは、それ時分秒の値はさわらずに、めんどくさくても日の値を変更すればいい。

959:デフォルトの名無しさん
18/04/10 08:58:36.32 wPoJQnkn.net
じゃあエポックタイムで十分だな。めんどくさくても計算すればいい。

960:デフォルトの名無しさん
18/04/10 09:31:38.98 Pta2sQP4.net
DateTimeは完璧なライブラリだから24時以降はRangeErrorになる
完璧な仕様だ

961:デフォルトの名無しさん
18/04/10 09:55:10.36 wPoJQnkn.net
rubyの不便はいい不便

962:デフォルトの名無しさん
18/04/10 17:47:37.08 yDOt+2aU.net
rubyに不便なんてないぞ
何を言ってんだ

963:デフォルトの名無しさん
18/04/10 18:25:57.56 6CkCb20Q.net
えーっ、そんなこといちいち書かなきゃいけないのw?rubyなら組込メソッドで一発だよwww
「時間は?」
       ____
    /      \
   /  ─    ─\
 /    (●) (●) \ 必要ない。計算すればいい
 |       (__人__)    |
 \     ` ⌒´   /
,,.....イ.ヽヽ、___ ーーノ゙-、.
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |
    >   ヽ. ハ  |   ||

964:デフォルトの名無しさん
18/04/10 18:40:12.63 +90qRIYS.net
RubyはUNIX文化だから、時刻はUNIXタイムスタンプを生で扱うのが基本
MRIのコアの連中自身が使ってないから改善されないんだろう

965:デフォルトの名無しさん
18/04/11 00:12:29.76 5V3NvSPI.net
rubyなら日本の休日祝日にも対応してるはず

966:デフォルトの名無しさん
18/04/11 07:23:56.00 jfPKheqL.net
【短命に終わった】国民の祝日.csvをパースして変換するRubyプログラムとコード解説
URLリンク(youtu.be)
伊藤淳一の動画ある

967:デフォルトの名無しさん
18/04/13 22:47:53.01 Hxh7hpmx.net
Windowsの文字エンコードはどうなってんだよ呪われてるな。

968:デフォルトの名無しさん
18/04/13 22:56:58.03 AzlDcdDn.net
Windowsの文字エンコードはLinux/Unixよりも対応の幅が広い。
まずNT系は古くからUnicode(UTF-16)に対応
Unicode対応アプリであれば全世界で共通に使える
それでいて9x系との互換性のために、Unicodeに対応してないアプリは
それぞれの国のエンコード設定が使用される
その設定はコントロールパネルから変更できるのだが
その変更できる文字コードがLinux/Unixよりも遥かに多い
しかもANSIと互換性がない文字コードでも使用可能

969:デフォルトの名無しさん
18/04/14 03:27:42.04 lnTeyTPJ.net
chcp 65001 バグ治してから言え

970:デフォルトの名無しさん
18/04/14 03:48:53.88 6pCy057f.net
>>944
それはどちらかと言えばコマンドプロンプトの問題なんだが、
WSL対応関係で強化されて、めだった�


971:s具合なくなってるよ



972:デフォルトの名無しさん
18/04/15 21:31:41.02 r1bqrkta.net
OneDriveでコード管理していたのだけど、
久しぶりにコーディング(エディタはVSCode)してOneDrive上のRubyファイルを実行しようとしたら
[BUG] Segmentation fault
というエラーがでて、
puts 'A'
というコードさえ実行出来なくなっていた。
ローカルハードディスクに落としたら実行出来たんだけどどうしたものだろう。

973:デフォルトの名無しさん
18/04/15 21:49:45.43 0NMpmKAm.net
UTF-16とかじゃねーの?

974:デフォルトの名無しさん
18/04/15 22:51:17.13 MhEmdnyU.net
そっか。
ありがとうございます。
別にOneDriveをストレージにしても問題ないということだね。
試行錯誤してみます。

975:デフォルトの名無しさん
18/04/15 23:30:04.01 xpwShDOv.net
WebDAVか

976:945
18/04/16 07:27:54.33 1U+gAd+J.net
GoogleDrive上のRubyファイルは動いた。
何か仕様変更があったのかしら。
ともかく、現状、GoogleDriveでコード管理することにします。

977:デフォルトの名無しさん
18/04/16 08:55:29.96 PnJWHI/9.net
なぜGitを使わないのか
BitBucketなら無料でプライベートリポジトリ持てるぞ

978:デフォルトの名無しさん
18/04/16 09:47:03.26 75OnkAat.net
Azureで自前のgitとSSH鯖で桶

979:デフォルトの名無しさん
18/04/16 09:53:08.11 PnJWHI/9.net
AzureならGitはVSTS使うのが普通だろ
AWSならCodeCommit使えば完全無料だ
今時たかがGitのホスティングごときにサーバー運用の手間かけるとか頭悪すぎ

980:デフォルトの名無しさん
18/04/16 10:08:13.69 pZQ1SPWZ.net
じゃあ、これも
Google Cloud Platform でホストされている複数のプライベート Git レポジトリ
URLリンク(cloud.google.com)
5ユーザー、50GBストレージ、50GB通信量(下り)まで無料だから
個人用途なら無料で使えそうだね

981:デフォルトの名無しさん
18/04/16 10:10:23.68 pZQ1SPWZ.net
> AWSならCodeCommit使えば完全無料だ
AWSの方は完全無料なのか?って思ったら
やっぱり無料制限あるじゃんw
だいたい一緒みたいね
URLリンク(aws.amazon.com)
最初の 5 人のアクティブユーザー
50 GB のストレージ/月
10,000 回の Git リクエスト/月

982:デフォルトの名無しさん
18/04/16 10:31:35.04 X9HGFo0K.net
>>955
実働20日として一人あたり一日平均100コミット?
これ超過できる超人いるのかよ

983:デフォルトの名無しさん
18/04/16 10:33:36.56 X9HGFo0K.net
いやコミットじゃなくてプッシュやフェッチか
人間の手動操作なら事実上無制限だな

984:デフォルトの名無しさん
18/04/16 10:40:27.16 pZQ1SPWZ.net
>>957
1 push 1リクエストとは限らんぞ、どういう計算しているか知らんけど、
例えば1 pushに含まれる1ファイルが1リクエストになってるかもしれない
そう考えるとGoogleの方がわかりやすいかもね。

985:デフォルトの名無しさん
18/04/16 10:45:48.83 pVewTO76.net
>>958
ファイル単位なら1万くらいcloneや最初のpushで一発で超過するじゃん
一般的な使い方で超過することはめったにないって書いてるからさすがにそれはないだろ

986:デフォルトの名無しさん
18/04/16 15:08:56.12 lu0LQeBN.net
>>960
踏んだらすれたてよろしく

987:デフォルトの名無しさん
18/04/16 15:17:41.22 r1/f7Sud.net
うんこ

988:デフォルトの名無しさん
18/04/16 15:20:39.48 pZQ1SPWZ.net
↑うんこ踏んだ奴

989:デフォルトの名無しさん
18/04/16 16:18:05.44 ZFIHRn8x.net
うんこってrubyのこと?

990:デフォルトの名無しさん
18/04/16 17:10:36.81 tsXOlUfW.net
>>953
gitだけしか使わないわけないだろ

991:デフォルトの名無しさん
18/04/16 17:25:19.50 pZQ1SPWZ.net
>>964
今はgitの話では�


992:H 他のことしたいなら、他のもの使えばいいだけだし gitは○○を使うって話をしてるんだよ



993:デフォルトの名無しさん
18/04/16 18:47:04.65 PnJWHI/9.net
>>965
たぶん963は、サーバーをGitだけでなく他の用途にも使うと言ってるんだと思うよ
すごく筋の悪い思考だと思うけどね

994:デフォルトの名無しさん
18/04/17 03:27:09.27 QMWYQNUe.net
スジはなめるためにある

995:デフォルトの名無しさん
18/04/17 17:49:09.11 GYuBFjQi.net
次スレ
Ruby 初心者スレッド Part 63
スレリンク(tech板)

996:デフォルトの名無しさん
18/04/17 23:55:53.10 AHLVIZ+p.net
>>966
なんで筋が悪いと思うんだ?

997:デフォルトの名無しさん
18/04/18 00:43:52.27 lRwbg5zI.net
>>968
おつ

998:デフォルトの名無しさん
18/04/18 01:12:53.91 6DBcsPYG.net
>>969
逆に聞くが、あえてGit自前運用かつサーバー相乗りという選択肢を選ぶ積極的な理由が何か一つでもあるの?
コストが高い、信頼性が低い、運用が面倒臭い、便利なWebインターフェイスもない、CIなど外部との連携もしづらい
また、サーバーに複数のサービスを同居させるのは、運用が面倒になるので一般的には避ける方向で検討するのが基本だ
オンプレならハードのコストやハード運用も勘定に入れた結果そうせざるを得ない場合も多いが、
クラウドなら安く小さいサーバーを沢山持ててハード運用の手間もないから問題にならない

999:デフォルトの名無しさん
18/04/18 01:21:24.00 UfQjex1N.net
関数の取扱いが非常に筋の悪い言語があるらしい。
何かしらのメソッドとして表したいという、初期設計時のオナニーがこの事態を招いた。
block、proc、lambdaと笑っちゃうくらいぐっちゃぐちゃ。
どういうときにどの形式使えばいいのか、変換するルールは…
はい、お約束。全部覚えましょうw
一事が万事この調子だよなw
そのうち「3+5を計算する機能」レベルで組み込まれてしかも数通りバリエーションが仕込まれそうw
宣伝文句は「えーっ、3+5計算するのにそんなこと書かなきゃいけないの?wそれrubyなら組み込みの呼び出すだけで一発だよ?ww」

1000:デフォルトの名無しさん
18/04/18 02:03:46.12 1MQV5vND.net
>>971
git使うだけで面倒とかどれだけ初心者想定してんだよ
うちはredmineと連携させてるからwebからも見れるよ
バックアップも他と一緒にとってるから楽よ
別にホストがクラウドでないなんて言ってないし

1001:デフォルトの名無しさん
18/04/18 02:08:25.73 1MQV5vND.net
サーバーが、か

1002:デフォルトの名無しさん
18/04/27 16:47:32.90 vghG7n/V.net
ぼくがRubyを使う理由
URLリンク(www.eimei4coding.blog)

1003:デフォルトの名無しさん
18/05/03 09:37:28.31 vrPjbtA8.net
なんかbundlerがエラー吐くようになってしまって困っています。
対応策は知りませんか?
Traceback (most recent call last):
2: from /usr/local/bin/bundler:23:in `<main>'
1: from /usr/local/lib/site_ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/usr/local/lib/site_ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundler (Gem::GemNotFoundException)

1004:デフォルトの名無しさん
18/05/03 12:26:03.69 vrPjbtA8.net
bundler -v
も動かないです。

1005:デフォルトの名無しさん
18/05/03 14:39:04.35 M52LYEAa.net
コンバトラーV

1006:デフォルトの名無しさん
18/05/03 15:03:53.22 bkPu29QU.net
super electromagnetic yoyo

1007:デフォルトの名無しさん
18/05/03 19:04:14.74 9RHeN1ko.net
sudo gem install bundler

1008:デフォルトの名無しさん
18/05/04 16:02:47.13 FNtgJ1dj.net
>>913
Ruby、Pythonが主流なのか?
俺、Ruby使いだけど、主流言語使ってる気分にはなれない。

1009:デフォルトの名無しさん
18/05/04 16:16:59.88 YzOLlJfQ.net
今主流言語と言えるのはJavaScriptのみだからね

1010:デフォルトの名無しさん
18/05/04 16:24:40.64 plo/RuVs.net
google、ms・・・流れ込んでる資金量・人員数が違う
あれだけ人・金かけられたらどんなクソ言語でも主流になる
そうさせたのはブラウザで唯一実行可能というアドバンテージだったがそういう意味では今後はrustやgoにも可能性はある
rubyはそれもない

1011:デフォルトの名無しさん
18/05/04 17:01:30.15 HDydWALv.net
>>983
Dartの悪口はそこまでだ

1012:デフォルトの名無しさん
18/05/08 04:34:33.88 ws+EcsEk.net
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
>>> [fib(n) for n in range(16)]
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
Ruby には、上のPython のような、デコレーターは無いの?
上はフィボナッチだが、引数・答えを、メモ化するような関数はある?

1013:デフォルトの名無しさん
18/05/08 07:23:01.16 6Z/Mi3tg.net
>>985
古い記事だけど、例もフィボナッチでちょうどよさげ
URLリンク(mickey24.hatenablog.com)

1014:デフォルトの名無しさん
18/05/08 07:44:23.18 6Z/Mi3tg.net
gem もあった
URLリンク(github.com)

1015:デフォルトの名無しさん
18/05/08 09:01:44.06 ws+EcsEk.net
class A
def initialize (a = 5)
@a = a
end
p (0..@a)
end
p a = A.new
>p (0..@a)
@a が初期化されていないのか、エラーになる
クラス内の地の文は、A.new・initializeよりも、先に実行されてしまうのか?
>>986-987
ありがとう

1016:デフォルトの名無しさん
18/05/08 09:09:56.84 XzXTdruW.net
>>988
その通り。具体的にはファイルを読み込んだ時に実行されるよ

1017:デフォルトの名無しさん
18/05/08 12:18:20.40 XzXTdruW.net
スレたてられなかったから誰か代わりに建ててくれないか
>>988
ついでだけどその書き方だと p (0..@a) の @a は A のインスタンスのインスタンス変数じゃなくて、 A という『Class クラスのインスタンス』のインスタンス変数だから注意ね

1018:デフォルトの名無しさん
18/05/08 14:05:39.62 XzXTdruW.net
と思ったら結構前に次スレ立ってたんだね……重複しなくてよかった
スレリンク(tech板)

1019:デフォルトの名無しさん
18/05/08 22:51:57.39 FvmTtIIh.net
>>988
クラス内の文は、記述順に実行される。
defは、メソッド定義の宣言部というよりは、実行文なので、同様。

1020:987
18/05/08 23:24:38.69 ws+EcsEk.net
class A
def initialize (a = 5)
@a = a
puts "init : #{@a.class}" # 1
end
puts @a.class # 2
end
p a = A.new
p b = A.new(2)
出力結果
NilClass
init : Integer
#<A:0x00000000050dc230 @a=5>
init : Integer
#<A:0x00000000050dc078 @a=2>
実行前のファイル読み込み時に、1回だけ、#2 puts が呼ばれて、
initialize内の#1 puts は、new 毎に呼ばれる

1021:デフォルトの名無しさん
18/05/08 23:28:50.06 XzXTdruW.net
当たり前だと思うのだが、何が言いたいのか不明

1022:デフォルトの名無しさん
18/05/09 00:19:25.75 p+TFQEkm.net
ファイル内の空行数を数える
ruby -e "puts File.read(\'test22_data.txt\').scan(/^$/).length"
ruby -e 'puts File.read(\"test22_data.txt\").scan(/^$/).length'
Windows PowerShell で、1-liner を実行する際、
クォーテーション内に、クォーテーションがある時に、\ でエスケープしないと、
PowerShell が、内側のクォーテーションを除去してしまって、エラーになるけど、
皆こういう場合、どうしてる?

1023:デフォルトの名無しさん
18/05/09 00:37:53.06 aySw10Ot.net
WindowsでRubyは苦行

1024:デフォルトの名無しさん
18/05/09 02:06:31.30 VltSHCvQ.net
>>995
%qクォートを使う。

1025:デフォルトの名無しさん
18/05/09 08:36:03.80 DadRmw9B.net
>>996
+1

1026:デフォルトの名無しさん
18/05/09 08:36:55.27 DadRmw9B.net
>>997
ほんそれ

1027:デフォルトの名無しさん
18/05/09 08:37:56.36 DadRmw9B.net
>>995
1-liner にこだわるのはなぜ

1028:デフォルトの名無しさん
18/05/09 08:38:27.55 DadRmw9B.net
Ruby 初心者スレッド Part 63
スレリンク(tech板)

1029:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 166日 8時間 2分 58秒

1030:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch