プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ
質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 65
https://mevius.5ch.net/test/read.cgi/tech/1545421414/
るりまサーチ (リファレンス検索)
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 66
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2a2c-RM0q)
2020/01/04(土) 01:15:34.30ID:X7t3Qsuc0126デフォルトの名無しさん (ワッチョイ 5fd7-hH+D)
2020/01/28(火) 16:48:55.02ID:viNuqCMy0 >>125
finder.on_dir_enter {|folder| puts "entered: #{folder}" }
finder.on_dir_leave {|folder| puts "left: #{folder}" }
finder.on_file_found {|file| puts "found: #{file}" }
または
finder.add_handlers(
:dir_enter => proc { |folder| puts "entered: #{folder}" },
:dir_leave => proc {|folder| puts "left: #{folder}" },
:file_found => proc {|file| puts "found: #{file}" }
)
イベントハンドラ系のAPI設計に関しては、
Ruby/Tk や Ruby-GNOME 等の GUI ツールキットを参考に
finder.on_dir_enter {|folder| puts "entered: #{folder}" }
finder.on_dir_leave {|folder| puts "left: #{folder}" }
finder.on_file_found {|file| puts "found: #{file}" }
または
finder.add_handlers(
:dir_enter => proc { |folder| puts "entered: #{folder}" },
:dir_leave => proc {|folder| puts "left: #{folder}" },
:file_found => proc {|file| puts "found: #{file}" }
)
イベントハンドラ系のAPI設計に関しては、
Ruby/Tk や Ruby-GNOME 等の GUI ツールキットを参考に
127デフォルトの名無しさん (ワッチョイ 5f01-oRbG)
2020/01/28(火) 17:18:24.30ID:nzUBCcWX0 特に理由がなければブロック渡しが一般的
簡単なEvent Emitterを自作するかライブラリ使うか
finder.on(:dir_enter) {|folder| puts "entered: #{folder}" }
ライブラリでメジャーなのはwisperかActiveSupport::Notifications
https://github.com/krisleech/wisper
簡単なEvent Emitterを自作するかライブラリ使うか
finder.on(:dir_enter) {|folder| puts "entered: #{folder}" }
ライブラリでメジャーなのはwisperかActiveSupport::Notifications
https://github.com/krisleech/wisper
128デフォルトの名無しさん (ワッチョイ ea2c-KoMo)
2020/01/29(水) 09:22:00.90ID:AYOCyHQA0129デフォルトの名無しさん (ワッチョイ ea2c-KoMo)
2020/01/29(水) 13:41:46.66ID:AYOCyHQA0 Windows で、Ruby 2.5 にバージョンアップしたら、
SQLite3 のコンパイルが必要になった!
でも漏れは、1, 2GB とサイズが大きい、MSYS2 を入れていないから、
win32ole モジュールで、ADODB でアクセス出来そうです。
ADODBは、Microsoft 製のドライバーなのか。
わざわざ、SQLite3用のドライバーも作ったのか?w
win32oleは、Rubyの標準モジュールかw
COM の種類が多い
ruby -rwin32ole -e 'puts WIN32OLE_TYPE.progids.length'
#=> 2521
SQLite3 のコンパイルが必要になった!
でも漏れは、1, 2GB とサイズが大きい、MSYS2 を入れていないから、
win32ole モジュールで、ADODB でアクセス出来そうです。
ADODBは、Microsoft 製のドライバーなのか。
わざわざ、SQLite3用のドライバーも作ったのか?w
win32oleは、Rubyの標準モジュールかw
COM の種類が多い
ruby -rwin32ole -e 'puts WIN32OLE_TYPE.progids.length'
#=> 2521
130129 (ワッチョイ ea2c-KoMo)
2020/01/29(水) 14:03:59.52ID:AYOCyHQA0 >>129
訂正
>ADODBは、Microsoft 製のドライバーなのか。
>わざわざ、SQLite3用のドライバーも作ったのか?
SQLite3 などのODBC ドライバーは、Microsoft 製じゃない。
誰かが作ったものです
訂正
>ADODBは、Microsoft 製のドライバーなのか。
>わざわざ、SQLite3用のドライバーも作ったのか?
SQLite3 などのODBC ドライバーは、Microsoft 製じゃない。
誰かが作ったものです
131デフォルトの名無しさん (ワッチョイ 7f05-QQjh)
2020/02/07(金) 23:21:28.28ID:t9uaVZtz0 RubyのOcraについて質問です。
無限ループの中でタイマーカウント満了の度に処理を行って待ちに入るという動作のプログラムって実はEXE化できないという制約があったりしますでしょうか?
また、その場合の解消方法とかをご存じの方、よろしくお願い申し上げます。
無限ループの中でタイマーカウント満了の度に処理を行って待ちに入るという動作のプログラムって実はEXE化できないという制約があったりしますでしょうか?
また、その場合の解消方法とかをご存じの方、よろしくお願い申し上げます。
132デフォルトの名無しさん (オッペケ Sr0b-Hkqy)
2020/02/08(土) 10:32:17.79ID:hHzEGlOhr133デフォルトの名無しさん (ワッチョイ 9f2c-ndoi)
2020/02/08(土) 13:28:21.15ID:9Nn74D/R0134デフォルトの名無しさん (ワッチョイ 9f7c-YOmB)
2020/02/10(月) 17:54:32.25ID:nkCUteta0 下記のコードでifの位置ってここでいいの。rubyの本の記述なんだけど。
2行目だけどifの方が左なんじゃないの?右でも行けるって事かな?
def greeting(country)
return 'countryを入力してください' if country.nil?
if country == 'japan'
'こんにちは’
else
'hello'
end
end
greeting(nil)
greeting('japan')
2行目だけどifの方が左なんじゃないの?右でも行けるって事かな?
def greeting(country)
return 'countryを入力してください' if country.nil?
if country == 'japan'
'こんにちは’
else
'hello'
end
end
greeting(nil)
greeting('japan')
135デフォルトの名無しさん (ワイーワ2 FFdf-VM48)
2020/02/10(月) 17:55:54.47ID:JljXo4cdF 後置
136デフォルトの名無しさん (ワッチョイ 9f7c-YOmB)
2020/02/10(月) 18:40:17.86ID:nkCUteta0137デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2020/02/10(月) 20:46:54.23ID:cKG4UD690 わからない時はまずリファレンス
https://docs.ruby-lang.org/ja/master/doc/spec=2fcontrol.html#if
ifは前置でも後置でもいける仕様
後置ifは正式にはif修飾子(if modifier)
https://docs.ruby-lang.org/ja/master/doc/spec=2fcontrol.html#if
ifは前置でも後置でもいける仕様
後置ifは正式にはif修飾子(if modifier)
138デフォルトの名無しさん (ワッチョイ 1f33-mA3f)
2020/02/10(月) 21:36:49.68ID:cuubi2Q/0 しかし、何がしたいのかはわからんコード。
文字列を返してるだけ?
文字列を返してるだけ?
139デフォルトの名無しさん (ワッチョイ 9f2c-ndoi)
2020/02/10(月) 23:17:58.15ID:8D13KkA50 そりゃ、ユーザーからの入力値チェックは、必要
まあ、デフォルト値は、nil の代わりに、空文字列にしておく手もある
まあ、デフォルト値は、nil の代わりに、空文字列にしておく手もある
140デフォルトの名無しさん (ワッチョイ 3714-A9K6)
2020/02/11(火) 00:09:12.87ID:dIRIcC/n0141デフォルトの名無しさん (アウアウウー Sa9b-YLe+)
2020/02/11(火) 07:38:12.35ID:jcgFHncna 後起きifはRubyの文法的にはかなり無理があって、その実現のためだけにRubyが「全てが式」ではなくなっているという極めて特殊な構文
Matz的によほどの拘りがあるんだろうけど、違和感を感じる>>134のセンスはとても正しい
Matz的によほどの拘りがあるんだろうけど、違和感を感じる>>134のセンスはとても正しい
142デフォルトの名無しさん (ワッチョイ bf8c-0JiW)
2020/02/11(火) 09:49:56.57ID:GpQNLMm40 perl後継としては外せない
143デフォルトの名無しさん (ワッチョイ 9fa5-tq9U)
2020/02/11(火) 10:04:30.75ID:Nq1ZGiCx0 perlなら当然でしょ
rubyはそこを汲んでる
rubyはそこを汲んでる
144デフォルトの名無しさん (ワッチョイ 3714-A9K6)
2020/02/11(火) 10:14:08.59ID:dIRIcC/n0 Perlに不満ってあるの?
どれだけある?
どれだけある?
145デフォルトの名無しさん (アウウィフ FF9b-VM48)
2020/02/11(火) 12:56:14.55ID:KtXysiBKF >>141
Rubyのあちこちで見受けられるPerlの悪い所をわざわざパクったアホな例の一つだな
Rubyのあちこちで見受けられるPerlの悪い所をわざわざパクったアホな例の一つだな
146デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2020/02/11(火) 13:01:20.53ID:v/oRLdRM0 >>141
>その実現のためだけにRubyが「全てが式」ではなくなっているという極めて特殊な構文
「全てが式」ってのはstatementとexpressionに明確な区別のある言語との対比で
Rubyの特徴をわかりやすく説明するために使われてるだけ
式の一部どれをとっても全てが式になってるまともな言語があるわけない
Rubyには後置以外の修飾子だってあるしstatementもある
中途半端な知識で勘違いしてドヤるのはやめよう
>その実現のためだけにRubyが「全てが式」ではなくなっているという極めて特殊な構文
「全てが式」ってのはstatementとexpressionに明確な区別のある言語との対比で
Rubyの特徴をわかりやすく説明するために使われてるだけ
式の一部どれをとっても全てが式になってるまともな言語があるわけない
Rubyには後置以外の修飾子だってあるしstatementもある
中途半端な知識で勘違いしてドヤるのはやめよう
147デフォルトの名無しさん (アウアウエー Sadf-56gX)
2020/02/11(火) 13:17:51.03ID:D5vn67vCa perl に比べて ruby の優っているところは?
148デフォルトの名無しさん (オッペケ Sr0b-Hkqy)
2020/02/11(火) 13:22:48.99ID:XWZwag4pr if/unless, while/until, rescue
149デフォルトの名無しさん (ワッチョイ ff14-A9K6)
2020/02/11(火) 13:27:43.83ID:eT6ZDI7H0 >>147
Perlにはオブジェクト指向ようの構文が後付で原始的なものしか搭載されてない。
アセンブラを駆使すれば何でもできるように、原始的な機能でも頑張れば
高度なオブジェクト指向機能を作ることは可能だが、
そのせいでいくつもの実装が生まれライブラリごとに使ってる
仕組みが異なり統一ができずに破綻してしまった。
Rubyは最初からオブジェクト指向
Perlにはオブジェクト指向ようの構文が後付で原始的なものしか搭載されてない。
アセンブラを駆使すれば何でもできるように、原始的な機能でも頑張れば
高度なオブジェクト指向機能を作ることは可能だが、
そのせいでいくつもの実装が生まれライブラリごとに使ってる
仕組みが異なり統一ができずに破綻してしまった。
Rubyは最初からオブジェクト指向
150デフォルトの名無しさん (ワッチョイ 9f74-cN98)
2020/02/11(火) 14:28:51.94ID:R1PPlg5z0 >>146
>式の一部どれをとっても全てが式になってるまともな言語があるわけない
LISP, Haskell, ML, …etc
>中途半端な知識で勘違いしてドヤるのはやめよう
この記事の原著者も「中途半端な知識で勘違いしてドヤ」ってるのかなぁ
・Rubyによる関数型プログラミング
http://xtmlab.com/misc/FPwithRuby.html
なお、手続き型言語の大半が文と式を明確に分けている中で、
Ruby の「すべてが式」という思想はユニークであるが、
次世代言語 Rust でも同様な思想が採用された
以下は書籍「プログラミングRust」からの引用
> Rustはいわゆる式言語(expression language)の一つだ。
> つまり、Lispにまで遡る古い伝統に従い、すべてを式で行う。
中途半端な知識で勘違いしてドヤると恥をかくだけだよ
>式の一部どれをとっても全てが式になってるまともな言語があるわけない
LISP, Haskell, ML, …etc
>中途半端な知識で勘違いしてドヤるのはやめよう
この記事の原著者も「中途半端な知識で勘違いしてドヤ」ってるのかなぁ
・Rubyによる関数型プログラミング
http://xtmlab.com/misc/FPwithRuby.html
なお、手続き型言語の大半が文と式を明確に分けている中で、
Ruby の「すべてが式」という思想はユニークであるが、
次世代言語 Rust でも同様な思想が採用された
以下は書籍「プログラミングRust」からの引用
> Rustはいわゆる式言語(expression language)の一つだ。
> つまり、Lispにまで遡る古い伝統に従い、すべてを式で行う。
中途半端な知識で勘違いしてドヤると恥をかくだけだよ
151デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2020/02/11(火) 18:41:16.57ID:v/oRLdRM0 >>150
>LISP, Haskell, ML, …etc
おまえアホやろ
Lispの閉じ括弧は式なのか? シングルクウォートは式なのか?Haskellのコロンは式なのか?
if修飾子が式じゃない極めて特殊()な構文って主張はそれと同じレベルなんだけど
>この記事の原著者も「中途半端な知識で勘違いしてドヤ」ってるのかなぁ
「あらゆるすべてが式である」のすべてに何が含まれて何が含まれないのか理解してるかどうかだよ
原著者が理解してるかどうかは知らないけどお前は間違いなく理解してない
ついでに言っておくとRubyの「全ては式」が広まったのはDavid Flanaganが「The Ruby Programming Language」で他言語出身者にわかりやすく理解させるためにそれっぽいことを書いたのが理由
>LISP, Haskell, ML, …etc
おまえアホやろ
Lispの閉じ括弧は式なのか? シングルクウォートは式なのか?Haskellのコロンは式なのか?
if修飾子が式じゃない極めて特殊()な構文って主張はそれと同じレベルなんだけど
>この記事の原著者も「中途半端な知識で勘違いしてドヤ」ってるのかなぁ
「あらゆるすべてが式である」のすべてに何が含まれて何が含まれないのか理解してるかどうかだよ
原著者が理解してるかどうかは知らないけどお前は間違いなく理解してない
ついでに言っておくとRubyの「全ては式」が広まったのはDavid Flanaganが「The Ruby Programming Language」で他言語出身者にわかりやすく理解させるためにそれっぽいことを書いたのが理由
152デフォルトの名無しさん (ワッチョイ 9f74-cN98)
2020/02/11(火) 22:59:40.20ID:R1PPlg5z0 >>151
文節「すべてが式」に対する君の認識が、世間の一般常識から乖離していることを理解した
文節「すべてが式」に対する君の認識が、世間の一般常識から乖離していることを理解した
153デフォルトの名無しさん (ワッチョイ d201-b83C)
2020/02/12(水) 00:01:32.50ID:39kCYFWR0 >>152
keywordやsymbolそれ自体が式なわけないだろ?
それと同じことを主張してたの理解できたのかな?
制御構造のif式だって`if 式; end`全体で式として評価されるわけで
ifだけやendだけが式になるわけじゃない
if修飾子は`式 if 式`全体で式として評価されるわけで
後置の`if 式`だけで式になるわけじゃない
でその一部を取り出して
「その実現のためだけにRubyが「全てが式」ではなくなっているという極めて特殊な構文」
って言っちゃうのがどれだけ的外れかって話な
keywordやsymbolそれ自体が式なわけないだろ?
それと同じことを主張してたの理解できたのかな?
制御構造のif式だって`if 式; end`全体で式として評価されるわけで
ifだけやendだけが式になるわけじゃない
if修飾子は`式 if 式`全体で式として評価されるわけで
後置の`if 式`だけで式になるわけじゃない
でその一部を取り出して
「その実現のためだけにRubyが「全てが式」ではなくなっているという極めて特殊な構文」
って言っちゃうのがどれだけ的外れかって話な
154デフォルトの名無しさん (ワッチョイ a701-9iBN)
2020/02/12(水) 01:40:12.18ID:3IloEGU30 電卓の構文解析器を作ったことがあれば、だいぶご意見が変わるはず。
155デフォルトの名無しさん (ワッチョイ ef1d-sg8N)
2020/02/12(水) 01:51:46.06ID:CB9IiDBv0 実務経験1年で月収80万稼げるエンジニアになった理由
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
156デフォルトの名無しさん (ワッチョイ 0233-Rcr8)
2020/02/12(水) 02:31:04.61ID:zXn0/Xf90157150および151 (ワッチョイ 7274-XNsy)
2020/02/12(水) 03:15:58.26ID:1hwSKrXM0158デフォルトの名無しさん (ワッチョイ b252-E40k)
2020/02/12(水) 06:32:46.81ID:m8mhjAm70 >>155
グロ
グロ
159デフォルトの名無しさん (ドコグロ MM32-H6bD)
2020/02/12(水) 09:42:28.21ID:gfctBwevM 「Rubyでは全てが式だ」というとき、ステートメント(文)と式の区別がないことを意味するのが普通だ
言語によってはメソッドやクラスの定義も普通の式だったりするが、Rubyでそう思っている奴はいないだろう
しかしRubyではステートメントと式の区別がないというのは厳密には正しくない
文法定義のソースを見れば明らかだが、それが後置構文の存在のためであるのは事実
言語によってはメソッドやクラスの定義も普通の式だったりするが、Rubyでそう思っている奴はいないだろう
しかしRubyではステートメントと式の区別がないというのは厳密には正しくない
文法定義のソースを見れば明らかだが、それが後置構文の存在のためであるのは事実
160デフォルトの名無しさん (ワッチョイ de8c-gRil)
2020/02/12(水) 22:16:17.93ID:Pa88PYmd0 def foo(arg)
arg + 1
end(99) #=> 100
動かない
arg + 1
end(99) #=> 100
動かない
161デフォルトの名無しさん (ワッチョイ 335f-JhxJ)
2020/02/13(木) 10:51:24.11ID:6MxuLkX50 p send(def foo(a); a + 1;end, 99) # => 100
162デフォルトの名無しさん (ワッチョイ de8c-gRil)
2020/02/13(木) 21:55:21.77ID:i9bfivOD0 お、うーむ...なるほど
163デフォルトの名無しさん (オッペケ Src7-gtE8)
2020/02/13(木) 22:02:31.32ID:TNGg/IHkr p def foo(a)
a + 1
end.then{|s| method(s)[99]}
# => 100
a + 1
end.then{|s| method(s)[99]}
# => 100
164デフォルトの名無しさん (ワッチョイ 0233-Rcr8)
2020/02/13(木) 23:08:11.62ID:0ZbbVgVA0 つまり、扱いは同じではない、ということかな?w
165デフォルトの名無しさん (ワッチョイ e67d-dJav)
2020/02/13(木) 23:20:32.77ID:oR70BErs0 foo = -> (arg) {
arg + 1
}.( 99 ) #=> 100
arg + 1
}.( 99 ) #=> 100
166デフォルトの名無しさん (ワッチョイ 122c-LiuO)
2020/02/14(金) 12:22:11.03ID:+9NDg3r60 ( ) で囲んで式にすれば、
JavaScript のIIFE (Immediately Invoked Function Expression; 即時実行関数式)みたいに、無名関数にできた!
( -> (arg) {
puts arg + 1
} ).( 99 ) #=> 100
JavaScript のIIFE (Immediately Invoked Function Expression; 即時実行関数式)みたいに、無名関数にできた!
( -> (arg) {
puts arg + 1
} ).( 99 ) #=> 100
167デフォルトの名無しさん (ワッチョイ 122c-LiuO)
2020/02/14(金) 12:36:32.48ID:+9NDg3r60 msys2 無しのWindows 10, Ruby 2.5 で、
WEBrick::HTTPServlet::CGIHandler は使えない!
ERROR CGIHandler:
C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:63:in `iterate_msys_paths':
undefined method `split' for nil:NilClass (NoMethodError)
エラーログに、enable_dll_search_paths とあるから、dll でも使うのかな?
WEBrick::HTTPServlet::CGIHandler は使えない!
ERROR CGIHandler:
C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:63:in `iterate_msys_paths':
undefined method `split' for nil:NilClass (NoMethodError)
エラーログに、enable_dll_search_paths とあるから、dll でも使うのかな?
168デフォルトの名無しさん (ワッチョイ d201-b83C)
2020/02/14(金) 17:39:20.53ID:EOtBZfN80 >>166
>( ) で囲んで式にすれば、
括弧なくても定義したlambdaが返される
.()でそのlambdaのcallメソッドを呼び出してるだけ
-> (arg) { arg + 1 }.(99) でも
-> (arg) { arg + 1 }[99] でも
-> (arg) { arg + 1 }.call 99 でも同じ
ちなみにJSのvar foo = (x)=> x+1 みたいなのは関数に名前はついてないので無名関数だぞ
rubyで foo = -> (arg) { arg + 1 } と書いても
無名のlambdaをfooという変数に入れてるだけで
lambda自身に名前がつくわけではない
>( ) で囲んで式にすれば、
括弧なくても定義したlambdaが返される
.()でそのlambdaのcallメソッドを呼び出してるだけ
-> (arg) { arg + 1 }.(99) でも
-> (arg) { arg + 1 }[99] でも
-> (arg) { arg + 1 }.call 99 でも同じ
ちなみにJSのvar foo = (x)=> x+1 みたいなのは関数に名前はついてないので無名関数だぞ
rubyで foo = -> (arg) { arg + 1 } と書いても
無名のlambdaをfooという変数に入れてるだけで
lambda自身に名前がつくわけではない
169デフォルトの名無しさん (ワッチョイ 335f-JhxJ)
2020/02/15(土) 13:46:02.32ID:BIOI8zPQ0170167 (ワッチョイ 122c-LiuO)
2020/02/15(土) 17:09:24.91ID:8drC8DpT0 msys2 を入れずに、Ruby を使っているから、
コンパイルできないし、Windows 10 のネイティブDLL を使えない
Ruby 2.5 で、SQLite も使えなくなったw
WEBrick は、Rubyで実装されているから、msys2 無しでも動くと思ったけど、
WEBrick::HTTPServlet::CGIHandler で、ネイティブDLLを使っているのだろう
rubyist magazine を冒頭から読み始めたが、読み応えある!
コンパイルできないし、Windows 10 のネイティブDLL を使えない
Ruby 2.5 で、SQLite も使えなくなったw
WEBrick は、Rubyで実装されているから、msys2 無しでも動くと思ったけど、
WEBrick::HTTPServlet::CGIHandler で、ネイティブDLLを使っているのだろう
rubyist magazine を冒頭から読み始めたが、読み応えある!
171デフォルトの名無しさん (ワッチョイ 335f-JhxJ)
2020/02/16(日) 02:30:58.30ID:A+9IORaN0 >>170
msys2_installation.rb:63にmsys2関係ないって
https://github.com/oneclick/rubyinstaller2/blob/rubyinstaller-2.5.0-1/lib/ruby_installer/build/msys2_installation.rb#L63
これが失敗するのは環境変数がおかしいか、上書きしているか
それともENVを再定義しているくらいしか思いつかない
msys2_installation.rb:63にmsys2関係ないって
https://github.com/oneclick/rubyinstaller2/blob/rubyinstaller-2.5.0-1/lib/ruby_installer/build/msys2_installation.rb#L63
これが失敗するのは環境変数がおかしいか、上書きしているか
それともENVを再定義しているくらいしか思いつかない
172167 (ワッチョイ 122c-LiuO)
2020/02/16(日) 19:14:49.59ID:5EL9p8ON0 漏れは、Windows 10,Ruby 2.5 で、
Run ‘ridk install’ to install MSYS2 and development toolchain. も、チェックしていないし、
MSYS2 の開発ツールと、MINGW のコンパイラもインストールしていないから
Rubyの環境構築(Windows10編)
https://www.kenschool.jp/blog/?p=3898
エラーログ
C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:63:in `iterate_msys_paths': undefined method `split' for nil:NilClass (NoMethodError)\r\n\t
from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:76:in `msys_path'\r\n\t
from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:89:in `mingw_bin_path'\r\n\t
from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:99:in `enable_dll_search_paths'\r\n\t
from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/singleton.rb:27:in `enable_dll_search_paths'\r\n\t
from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems/defaults/operating_system.rb:3:in `<top (required)>'\r\n\t
from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems.rb:1383:in `require'\r\n\t
from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems.rb:1383:in `<top (required)>'\r\n\t
from <internal:gem_prelude>:2:in `require'\r\n\t
from <internal:gem_prelude>:2:in `<internal:gem_prelude>'\r\n
Run ‘ridk install’ to install MSYS2 and development toolchain. も、チェックしていないし、
MSYS2 の開発ツールと、MINGW のコンパイラもインストールしていないから
Rubyの環境構築(Windows10編)
https://www.kenschool.jp/blog/?p=3898
エラーログ
C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:63:in `iterate_msys_paths': undefined method `split' for nil:NilClass (NoMethodError)\r\n\t
from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:76:in `msys_path'\r\n\t
from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:89:in `mingw_bin_path'\r\n\t
from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:99:in `enable_dll_search_paths'\r\n\t
from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/singleton.rb:27:in `enable_dll_search_paths'\r\n\t
from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems/defaults/operating_system.rb:3:in `<top (required)>'\r\n\t
from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems.rb:1383:in `require'\r\n\t
from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems.rb:1383:in `<top (required)>'\r\n\t
from <internal:gem_prelude>:2:in `require'\r\n\t
from <internal:gem_prelude>:2:in `<internal:gem_prelude>'\r\n
173デフォルトの名無しさん (ワッチョイ 335f-JhxJ)
2020/02/17(月) 01:04:16.59ID:gpbv7rcq0 あー、WebrickのCGIHandlerはCGIPathEnvの関係でENV["PATH"]がnilになりうるのか
WEBrick::HTTPServer.newに渡すハッシュにCGIPathEnv: ""を加えとけばいいはず
WEBrick::HTTPServer.newに渡すハッシュにCGIPathEnv: ""を加えとけばいいはず
174167 (ワッチョイ 122c-LiuO)
2020/02/17(月) 01:35:30.73ID:A9t7x7q20 ありがとう。
オプションに、:CGIPathEnv => '' を加えたら、正常に動いた!
すごい実力じゃん!
ソースコードを追っていったの?
opts = { :CGIInterpreter => "C:/Ruby25-x64/bin/ruby.exe",
:CGIPathEnv => '', # msys2 のエラーを避けるために、必要!
:DocumentRoot => './', # この指定が必要!
:BindAddress => '127.0.0.1', :Port => 20080 }
srv = WEBrick::HTTPServer.new( opts )
オプションに、:CGIPathEnv => '' を加えたら、正常に動いた!
すごい実力じゃん!
ソースコードを追っていったの?
opts = { :CGIInterpreter => "C:/Ruby25-x64/bin/ruby.exe",
:CGIPathEnv => '', # msys2 のエラーを避けるために、必要!
:DocumentRoot => './', # この指定が必要!
:BindAddress => '127.0.0.1', :Port => 20080 }
srv = WEBrick::HTTPServer.new( opts )
175デフォルトの名無しさん (オッペケ Src7-gtE8)
2020/02/17(月) 05:37:18.50ID:SykEsoD4r なんかムカつく
176デフォルトの名無しさん (ワッチョイ d62d-qw96)
2020/02/17(月) 15:17:53.59ID:9CP/4dwv0 新しくて安い本が出たので、頭の体操にRubyの勉強を始めたところなんだけどさあ
よくネット上に、「Railsの本をやってからRubyの勉強をした」みたいな人がいるのはどういうことなの?
RailsってRubyが出来ないと何も出来ない訳でもないの???
よくネット上に、「Railsの本をやってからRubyの勉強をした」みたいな人がいるのはどういうことなの?
RailsってRubyが出来ないと何も出来ない訳でもないの???
177デフォルトの名無しさん (ワッチョイ b714-+5Ha)
2020/02/17(月) 15:33:27.23ID:qj5C8HtX0 普通にプログラミングできる人にとっては言語の違いなんて些細なもので
いちから作るのならともかく、そこいらにあるRailsのコードや自動生成されたものを
見ればそこからRubyという言語を推測で理解できるんだよ。
このコードがクラス定義だな。Rubyではこう書くんだなって
わからなければそこだけググればいい
Railsはやり方というものがあるので、それに合わせるように
Railsの本を見て流れを把握する必要がある。
検索は断片を見つけるのはキーワードから簡単に見つけられるが
流れはそうはいかない。だいたいの本はページの最初から流れを
そのまま書いてあるから、本でざっと勉強するのが最初のうちは手っ取り早い
いちから作るのならともかく、そこいらにあるRailsのコードや自動生成されたものを
見ればそこからRubyという言語を推測で理解できるんだよ。
このコードがクラス定義だな。Rubyではこう書くんだなって
わからなければそこだけググればいい
Railsはやり方というものがあるので、それに合わせるように
Railsの本を見て流れを把握する必要がある。
検索は断片を見つけるのはキーワードから簡単に見つけられるが
流れはそうはいかない。だいたいの本はページの最初から流れを
そのまま書いてあるから、本でざっと勉強するのが最初のうちは手っ取り早い
178デフォルトの名無しさん (ワッチョイ d62d-qw96)
2020/02/17(月) 18:20:35.95ID:9CP/4dwv0 そういうことか
言語だけ先にやると変な癖がついたりもするし、演習ファーストの学習も結構いいかもな
言語だけ先にやると変な癖がついたりもするし、演習ファーストの学習も結構いいかもな
179デフォルトの名無しさん (ワッチョイ b7d2-Htok)
2020/02/17(月) 18:45:44.78ID:wxeqwMT50 日本語の勉強がしたいと言ったら
舞城王太郎の小説を読めと言われた気分
舞城王太郎の小説を読めと言われた気分
180デフォルトの名無しさん (ワッチョイ 122c-LiuO)
2020/02/17(月) 19:30:14.53ID:A9t7x7q20 たぶん、すでに多言語を知ってる人だろう
入門書の次のレベルの、新しい本が出た!
Ruby on Rails 6 実践ガイド、黒田努、2019/12/20
実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング、黒田努、2014
この本を書き換えたもの
無料のRails チュートリアルよりは簡単
Windows プロ版のDocker が不安定だから、Virtual Box, Ubuntu 18.04 でやってる!
入門書の次のレベルの、新しい本が出た!
Ruby on Rails 6 実践ガイド、黒田努、2019/12/20
実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング、黒田努、2014
この本を書き換えたもの
無料のRails チュートリアルよりは簡単
Windows プロ版のDocker が不安定だから、Virtual Box, Ubuntu 18.04 でやってる!
181デフォルトの名無しさん (ワイーワ2 FF6a-BDVY)
2020/02/18(火) 12:16:06.30ID:r+eOvEZJF またカタワを量産するつもりか
RailsRubyの将来は暗いな
RailsRubyの将来は暗いな
182デフォルトの名無しさん (ワッチョイ ff2c-lQWV)
2020/02/25(火) 19:09:01.56ID:Ykw6mmDG0 「aabc → bc」みたいに、先頭から特定の文字が連続するとき、それを除去するには、どう書く?
正規表現を使ったものと、使っていない場合の両方
str = "aabc"
# 先頭から続く、a を除去する
while str.start_with? "a" # 先頭文字が、a なら
str.slice! 0 # 先頭文字を削除する
end
p str #=> "bc"
正規表現を使ったものと、使っていない場合の両方
str = "aabc"
# 先頭から続く、a を除去する
while str.start_with? "a" # 先頭文字が、a なら
str.slice! 0 # 先頭文字を削除する
end
p str #=> "bc"
183デフォルトの名無しさん (ワッチョイ ffa5-1Vd5)
2020/02/25(火) 20:42:26.89ID:uCkT0+w20 そりゃ正規表現のステートマシン通りに書くでしょ
184デフォルトの名無しさん (オッペケ Sr07-VXi+)
2020/02/25(火) 22:00:57.29ID:uBU1PACqr185デフォルトの名無しさん (オッペケ Sr07-VXi+)
2020/02/25(火) 22:07:44.86ID:uBU1PACqr186デフォルトの名無しさん (ワッチョイ ff01-pEhb)
2020/02/25(火) 22:22:39.72ID:oSeHo6cg0 >>182
def remove_consecutive(string)
string.sub(/^(.)¥1{1,}(.*)$/) {|_| remove_consecutive($2)}
end
remove_consecutive("aaaabbbbbbccab") #=> “ab”
remove_consecutive("1112234") #=> "34"
def remove_consecutive(string)
string.sub(/^(.)¥1{1,}(.*)$/) {|_| remove_consecutive($2)}
end
remove_consecutive("aaaabbbbbbccab") #=> “ab”
remove_consecutive("1112234") #=> "34"
187デフォルトの名無しさん (ワッチョイ 6f8c-zTrs)
2020/02/25(火) 22:59:04.49ID:/XslCVsc0 本当に文字列から連続部分を除去したいのか、
連続部分の後ろが取り出せればいいのか
連続部分の後ろが取り出せればいいのか
188182 (ワッチョイ ff2c-lQWV)
2020/02/25(火) 23:54:26.45ID:Ykw6mmDG0 元々は「0082 → 82」みたいな文字列の先頭から続く、0 を除去したかった。
先頭以外のものは、除去しなくてよい
こういうメソッドが無いか、探してみたけど見つからなかった
レシーバーの破壊的な変更をしてもよいし、別の文字列を作って返すものでもよい
先頭以外のものは、除去しなくてよい
こういうメソッドが無いか、探してみたけど見つからなかった
レシーバーの破壊的な変更をしてもよいし、別の文字列を作って返すものでもよい
189182 (ワッチョイ ca2c-rVtL)
2020/02/26(水) 00:52:55.60ID:TmIxTRKQ0 文字列の先頭から続く、特定の文字を除去する
1文字でも除去するし、連続するかぎり除去するが、
先頭以外のものは、除去しなくてよい
a を除去する場合
abc → bc
aaXaa → Xaa
1文字でも除去するし、連続するかぎり除去するが、
先頭以外のものは、除去しなくてよい
a を除去する場合
abc → bc
aaXaa → Xaa
190デフォルトの名無しさん (ワッチョイ 8a01-k1AF)
2020/02/26(水) 01:11:17.25ID:sMj0eedP0 >>188
>元々は「0082 → 82」みたいな文字列の先頭から続く、0 を除去したかった。
“0082”.to_i.to_sでよくね?
なんかこのパターン数ヶ月前にも見たような気がするな
>>189
def remove_leading_chars(string, char)
string.each_char.drop_while{|c| c == char}.join
end
remove_leading_chars(“0000123", “0”) #=> "123"
remove_leading_chars(“abc", “a”) #=> "bc"
remove_leading_chars(“aaXaa", “a”) #=> "Xaa"
>元々は「0082 → 82」みたいな文字列の先頭から続く、0 を除去したかった。
“0082”.to_i.to_sでよくね?
なんかこのパターン数ヶ月前にも見たような気がするな
>>189
def remove_leading_chars(string, char)
string.each_char.drop_while{|c| c == char}.join
end
remove_leading_chars(“0000123", “0”) #=> "123"
remove_leading_chars(“abc", “a”) #=> "bc"
remove_leading_chars(“aaXaa", “a”) #=> "Xaa"
191182 (ワッチョイ ca2c-rVtL)
2020/02/26(水) 04:46:15.55ID:TmIxTRKQ0 >“0082”.to_i.to_sでよくね?
長い文字列だと、数値化できない言語もあるから、
汎用的に作れないかなと思って
長い文字列だと、数値化できない言語もあるから、
汎用的に作れないかなと思って
192デフォルトの名無しさん (ワッチョイ 4aa5-SiQa)
2020/02/26(水) 08:06:23.34ID:PiyizPRV0 だからオートマトンで作れって言ってんじゃん
ttps://image.slidesharecdn.com/1-140715084054-phpapp01/95/1-11-638.jpg
ttps://image.slidesharecdn.com/1-140715084054-phpapp01/95/1-11-638.jpg
193デフォルトの名無しさん (ワッチョイ 0314-IyPa)
2020/02/26(水) 08:22:48.67ID:kXv4PxDr0 オートマトンってなんで羊なんだろう?
自動的に毛を刈って自動的に料理されるのか?
自動的に毛を刈って自動的に料理されるのか?
194デフォルトの名無しさん (ワッチョイ 6b01-nhpA)
2020/02/26(水) 08:29:53.13ID:bDSWeqSr0 オートマンだと思ってた
インド哲学かよ
インド哲学かよ
195デフォルトの名無しさん (ワッチョイ 0314-IyPa)
2020/02/26(水) 08:36:52.65ID:kXv4PxDr0 嘔吐マトン
196デフォルトの名無しさん (ワッチョイ 03d2-Cv5o)
2020/02/26(水) 12:11:34.52ID:GrI3XnzJ0197デフォルトの名無しさん (ワッチョイ ca2c-rVtL)
2020/02/26(水) 23:09:06.75ID:TmIxTRKQ0 Ruby on Rails 6 実践ガイド、黒田努、2019/12/20
Ruby on Rails 6 超入門、掌田津耶乃、2020/2/21
巨匠・掌田も、Rails 6 に参戦!
後は、山田祥寛・WINGSプロジェクトが、どうするか?
Ruby on Rails 6 超入門、掌田津耶乃、2020/2/21
巨匠・掌田も、Rails 6 に参戦!
後は、山田祥寛・WINGSプロジェクトが、どうするか?
198デフォルトの名無しさん (ワイーワ2 FF82-7qQN)
2020/02/27(木) 15:17:58.32ID:G6pyHvdgF 掌田の本は要らん
199デフォルトの名無しさん (ワッチョイ 4aa5-SiQa)
2020/02/28(金) 09:49:01.76ID:tB/cuWAa0 掌田津耶乃って何者? (Late 2012)
https://egg.5ch.net/test/read.cgi/mac/1349360916/
巨匠か?
Mac凋落と共に仕事を失った人間、とか書かれてんぞ
https://egg.5ch.net/test/read.cgi/mac/1349360916/
巨匠か?
Mac凋落と共に仕事を失った人間、とか書かれてんぞ
200デフォルトの名無しさん (ワッチョイ 4aa5-SiQa)
2020/02/28(金) 09:53:35.23ID:tB/cuWAa0201197 (ワッチョイ ca2c-rVtL)
2020/02/28(金) 13:58:28.72ID:GfVfgYuK0 多言語の3強が、掌田津耶乃・山田祥寛(WINGSプロジェクト)・柴田望洋。
他に、スッキリ・やさしい・猫でも・独習など
掌田は、その中でも断トツ!
多言語の入門書・フレームワーク・ゲームエンジンなど、
ここ数年で、20冊とかある
世界的に見ても、断トツ!
他に、スッキリ・やさしい・猫でも・独習など
掌田は、その中でも断トツ!
多言語の入門書・フレームワーク・ゲームエンジンなど、
ここ数年で、20冊とかある
世界的に見ても、断トツ!
202デフォルトの名無しさん (ワッチョイ 6b01-nhpA)
2020/02/28(金) 14:40:57.13ID:LkDsYiUy0 何か後ろの二人が気の毒
203デフォルトの名無しさん (ワッチョイ 9e2d-9Aak)
2020/02/28(金) 15:39:11.30ID:Y4GSbUWj0 Rubyはもう本で勉強するのは古い
今は迫 佑樹とかあおいとかのオンラインコースで勉強する時代だよ、
今は迫 佑樹とかあおいとかのオンラインコースで勉強する時代だよ、
204デフォルトの名無しさん (ワッチョイ 8a01-k1AF)
2020/02/29(土) 02:55:28.33ID:udUacP9j0 山田祥寛は10年近く前C#でよくお世話になった
他言語から来た入門者に程よくわかりやすい本を書く印象
柴田望洋はC言語系で何冊か読んだが
内容がすごく簡潔で短い時間でまとめ的な知識を頭に入れたり
特定のトピックを復習したいときには有用
(ただ今ならWebサイトで代用可能)
掌田津耶乃・・・
本屋で間違って手にしてもパラっと読めば速攻本棚に戻すやつ
似たような浅めの入門本著者だと
クジラ飛行机のやつは実践的なやつが多くて悪くないと思う
他言語から来た入門者に程よくわかりやすい本を書く印象
柴田望洋はC言語系で何冊か読んだが
内容がすごく簡潔で短い時間でまとめ的な知識を頭に入れたり
特定のトピックを復習したいときには有用
(ただ今ならWebサイトで代用可能)
掌田津耶乃・・・
本屋で間違って手にしてもパラっと読めば速攻本棚に戻すやつ
似たような浅めの入門本著者だと
クジラ飛行机のやつは実践的なやつが多くて悪くないと思う
205197 (ワッチョイ ca2c-rVtL)
2020/02/29(土) 23:32:52.49ID:6IdZMwnf0 なでしこの作者・クジラ飛行机は、
近年、Python から、多言語の作者として乱入してきた
なでしこだけでは食えないし、やむを得ない方向転換w
巨匠の柴田望洋は「新・明解C言語」のイメージだけど、近年、多言語に参入した
近年、Python から、多言語の作者として乱入してきた
なでしこだけでは食えないし、やむを得ない方向転換w
巨匠の柴田望洋は「新・明解C言語」のイメージだけど、近年、多言語に参入した
>>204
新独習c# は旧独習ハーバートシルトと比べてどうでしょうか?
新独習Java は、旧独習が史上稀に見る惨憺たる出来だったことから、新独習はよくなるしかないと予測しています
あと、旧独習を高く評価している私としても新独習C++ については興味がありますね
新独習c# は旧独習ハーバートシルトと比べてどうでしょうか?
新独習Java は、旧独習が史上稀に見る惨憺たる出来だったことから、新独習はよくなるしかないと予測しています
あと、旧独習を高く評価している私としても新独習C++ については興味がありますね
207197 (ワッチョイ ca2c-rVtL)
2020/03/01(日) 00:44:56.42ID:NSpMdQYF0 さすがに日本人で、シルトと比べられる著者は、いないだろ
たいてい読み応えがあるのは、Effective シリーズなどの外人著者
たいてい読み応えがあるのは、Effective シリーズなどの外人著者
208デフォルトの名無しさん (ワイモマー MMea-W44n)
2020/03/01(日) 10:00:51.93ID:JWAFHnbAM しつもんです
haskellだったら
[(x,y,z) | x <- [1..9], y <- [1..9], z <- [1..9], x * y * z == 24]
こう書けるものはrubyではせいぜい
p [*1..9].repeated_permutation(3).select {|a| a.sum == 24}
こう書くしかありませんか?簡潔に表現したいです
さらにhaskellでは
[(x,y,z) | x <- [1..9], y <- [1..8], z <- [1..7], x * y * z == 24]
などと書けるので柔軟ですがその場合rubyなら
p (1..9).map {|x| (1..8).map {|y| (1..7).map {|z| [x,y,z]}}}.flatten(2).select {|a| a.sum == 24}
こう書くしかありませんか?簡潔に表現したいです
haskellだったら
[(x,y,z) | x <- [1..9], y <- [1..9], z <- [1..9], x * y * z == 24]
こう書けるものはrubyではせいぜい
p [*1..9].repeated_permutation(3).select {|a| a.sum == 24}
こう書くしかありませんか?簡潔に表現したいです
さらにhaskellでは
[(x,y,z) | x <- [1..9], y <- [1..8], z <- [1..7], x * y * z == 24]
などと書けるので柔軟ですがその場合rubyなら
p (1..9).map {|x| (1..8).map {|y| (1..7).map {|z| [x,y,z]}}}.flatten(2).select {|a| a.sum == 24}
こう書くしかありませんか?簡潔に表現したいです
209デフォルトの名無しさん (ワッチョイ 0314-IyPa)
2020/03/01(日) 10:43:49.36ID:n6wzTSL90 > haskellだったら
> [(x,y,z) | x <- [1..9], y <- [1..9], z <- [1..9], x * y * z == 24]
> こう書けるものは
haskell: 66文字
> rubyではせいぜい
> p [*1..9].repeated_permutation(3).select {|a| a.sum == 24}
> こう書くしかありませんか?簡潔に表現したいです
ruby: 58文字
Rubyの方が簡潔です
> [(x,y,z) | x <- [1..9], y <- [1..9], z <- [1..9], x * y * z == 24]
> こう書けるものは
haskell: 66文字
> rubyではせいぜい
> p [*1..9].repeated_permutation(3).select {|a| a.sum == 24}
> こう書くしかありませんか?簡潔に表現したいです
ruby: 58文字
Rubyの方が簡潔です
210デフォルトの名無しさん (ワッチョイ 6f5f-jGfF)
2020/03/01(日) 11:35:40.57ID:qmcGlirD0 > p (1..9).map {|x| (1..8).map {|y| (1..7).map {|z| [x,y,z]}}}.flatten(2).select {|a| a.sum == 24}
p [[*1..9], [*1..8], [*1..7]].then{|x, *a| x.product(*a)}.select{|a| a.sum == 24}
p [*1..9].product([*1..8],[*1..7]).select{|a| a.sum == 24}
好きな方を
ところで、そのHaskellコードにはp相当が無いように見えますが
Haskellってprintしなくていいんですか?
p [[*1..9], [*1..8], [*1..7]].then{|x, *a| x.product(*a)}.select{|a| a.sum == 24}
p [*1..9].product([*1..8],[*1..7]).select{|a| a.sum == 24}
好きな方を
ところで、そのHaskellコードにはp相当が無いように見えますが
Haskellってprintしなくていいんですか?
211デフォルトの名無しさん (アウアウエー Sac2-4HC3)
2020/03/01(日) 12:14:22.10ID:8hJkpeX/a 元から間違っているがsumではない
212デフォルトの名無しさん (ワイモマー MMea-W44n)
2020/03/01(日) 12:53:48.43ID:JWAFHnbAM あごめんsumじゃなかったわw
みなさんどうもありがとうございました
みなさんどうもありがとうございました
213デフォルトの名無しさん (ワッチョイ 067d-X91k)
2020/03/01(日) 18:13:12.70ID:RW98tzZT0 rubyでtwitterとかyoutubeどうやって作るの?
全くイメージが沸かない
ツイートがリアルタイムで他者にも表示されるのってどういう仕組み?
全くイメージが沸かない
ツイートがリアルタイムで他者にも表示されるのってどういう仕組み?
214デフォルトの名無しさん (ワッチョイ cb4f-mnKr)
2020/03/01(日) 21:01:11.61ID:QPyt1UlH0 httpとブラウザの仕様の話なのでrubyは関係ない
215デフォルトの名無しさん (アウアウエー Sac2-DFeu)
2020/03/01(日) 21:57:35.00ID:F2v5Atsqa scaffold で一発で作るという意味だろう
216デフォルトの名無しさん (ワッチョイ ca2c-rVtL)
2020/03/01(日) 22:44:11.42ID:NSpMdQYF0 0から手を動かして作るRailsチャットアプリ【チュートリアル】
ttps://www.youtube.com/watch?v=WCsgcp5dg7M
Ruby on Rails で、Web Socket を使う、とだこうきの動画
ttps://www.youtube.com/watch?v=WCsgcp5dg7M
Ruby on Rails で、Web Socket を使う、とだこうきの動画
217デフォルトの名無しさん (アウアウウー Sa2f-ff41)
2020/03/01(日) 22:47:44.78ID:QZXNPr7ra >>213
JavaScriptでサーバー側のAPIを叩き、サーバーがそれに対して結果を返し、JavaScriptでその結果を画面に反映させる
基本はこれだけ
Rails任せじゃなくてちゃんとWebの仕組みを理解してAPIを実装しなきゃいけないし、JavaScriptもゴリゴリ書かなきゃいけない
SQSなどのAWSやGCPのマネージドサービスや、Kafkaのようなデータ基盤系のOSSなど高度なバックエンド技術の活用も必要だ
Railsのチュートリアルに毛が生えたような典型的なWebとは次元が違う
JavaScriptでサーバー側のAPIを叩き、サーバーがそれに対して結果を返し、JavaScriptでその結果を画面に反映させる
基本はこれだけ
Rails任せじゃなくてちゃんとWebの仕組みを理解してAPIを実装しなきゃいけないし、JavaScriptもゴリゴリ書かなきゃいけない
SQSなどのAWSやGCPのマネージドサービスや、Kafkaのようなデータ基盤系のOSSなど高度なバックエンド技術の活用も必要だ
Railsのチュートリアルに毛が生えたような典型的なWebとは次元が違う
218デフォルトの名無しさん (ワッチョイ 8a01-k1AF)
2020/03/01(日) 23:24:11.39ID:J3IrN4Ey0 クライアントがブラウザとは限らないが
いずれにしろrubyは全く関係ない
web push
server-sent events
push notification service (e.g. APNs)
↑この辺りを学べばいい
単なる通知用途で生のweb socketを
ゴリゴリ書いたりはしないんじゃないかな
いずれにしろrubyは全く関係ない
web push
server-sent events
push notification service (e.g. APNs)
↑この辺りを学べばいい
単なる通知用途で生のweb socketを
ゴリゴリ書いたりはしないんじゃないかな
219デフォルトの名無しさん (ドコグロ MMea-ff41)
2020/03/01(日) 23:52:21.24ID:H/U8nx/nM プログラミングスクールでRails勉強しました系だとプル型のアプリの作り方しか知らないだろうから、クライアントへの通知の実装方法以前に、
そもそもユーザーがツイートしたときに受信者に対して通知をキックするところの仕組みが想像できないんだろうな
そのへんはいわゆるバックエンドってやつで、ユーザー数が増えてもスケールするためには小手先のコーディングだけでなくAWSのインフラ設計まで含めた作り込みが必要
Railsできますウェーイみたいなのとは一線を画す、いい大学出たガチな連中が鎬を削ってる世界だ
そもそもユーザーがツイートしたときに受信者に対して通知をキックするところの仕組みが想像できないんだろうな
そのへんはいわゆるバックエンドってやつで、ユーザー数が増えてもスケールするためには小手先のコーディングだけでなくAWSのインフラ設計まで含めた作り込みが必要
Railsできますウェーイみたいなのとは一線を画す、いい大学出たガチな連中が鎬を削ってる世界だ
220デフォルトの名無しさん (ワッチョイ ca2c-rVtL)
2020/03/02(月) 00:40:51.77ID:8PHDRupm0 Ruby による今世紀最大の起業家、Vagrant のMitchell Hashimoto(HashiCorp)も、
Go のTerraform へ行った
今や主戦場は、Docker, Kubernetes になった
でも、サーバーの基本は、Ruby。
Node.js も、Rubyのコピーだから
Spring Boot も、Rails のコピー
Go のTerraform へ行った
今や主戦場は、Docker, Kubernetes になった
でも、サーバーの基本は、Ruby。
Node.js も、Rubyのコピーだから
Spring Boot も、Rails のコピー
221デフォルトの名無しさん (ワッチョイ 8a01-k1AF)
2020/03/02(月) 01:33:56.26ID:AuxsFe1o0222デフォルトの名無しさん (ワッチョイ cbad-wzO4)
2020/03/05(木) 19:13:20.03ID:h922Dn8C0 >>204
>柴田望洋はC言語系で何冊か読んだが
>内容がすごく簡潔で短い時間でまとめ的な知識を頭に入れたり
>特定のトピックを復習したいときには有用
いかにも教科書って感じの本書くよね
オレもオススメできる著者だと思うぞ!
>柴田望洋はC言語系で何冊か読んだが
>内容がすごく簡潔で短い時間でまとめ的な知識を頭に入れたり
>特定のトピックを復習したいときには有用
いかにも教科書って感じの本書くよね
オレもオススメできる著者だと思うぞ!
223デフォルトの名無しさん (ブーイモ MM7f-Pim3)
2020/03/05(木) 19:35:07.49ID:1tYxfkRNM 本屋いったらrubyの本は駆逐されてた
224デフォルトの名無しさん (ワッチョイ cbad-wzO4)
2020/03/05(木) 21:34:51.52ID:h922Dn8C0 すっかりPythonの本に置きかわったよな!
やっぱ人工知能ブームに乗れなかったのがデカイ
やっぱ人工知能ブームに乗れなかったのがデカイ
225デフォルトの名無しさん (ワッチョイ 9fa5-HL4i)
2020/03/06(金) 14:08:05.02ID:gkPkCuAw0 ・P系言語には絶対にPを付けるべきであった
・endがある言語には終わりがある
オカルト方面の理由だとこのようになる
「pascalは終わった」とは業界の定型句だが終わったのはendがあるからだ
なので「end」という文字の視覚的影響は思いの他大きいのではなかろうか
代わりにpythonはselfを見続けることになる
他の理由としては、我々は「ぱい」と発音したい生物である、という、これまたオカルトな理由だ
特にPから始まる単語は人類にとって基本的・根源的らしい
「PyPI」とかどーすんだコレとか思っちゃうような発音の存在こそが、pythonを存続させている大きな原動力だ
・endがある言語には終わりがある
オカルト方面の理由だとこのようになる
「pascalは終わった」とは業界の定型句だが終わったのはendがあるからだ
なので「end」という文字の視覚的影響は思いの他大きいのではなかろうか
代わりにpythonはselfを見続けることになる
他の理由としては、我々は「ぱい」と発音したい生物である、という、これまたオカルトな理由だ
特にPから始まる単語は人類にとって基本的・根源的らしい
「PyPI」とかどーすんだコレとか思っちゃうような発音の存在こそが、pythonを存続させている大きな原動力だ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- NHK、受信料の未払い世帯に督促強化へ 民事手続きの新組織を設置 差し押さえなどの強制執行も ★2 [1ゲットロボ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【実況】博衣こよりのえちえち朝こよ🧪 ★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- Full Count、THE ANSWER、ENCOUNT、Hint-Pot… 日本人をホルホル漬けにしてくれる「Creative2」サイトの魅力 [452836546]
- カカロット、腰痛い
- 【!?】高市早苗「靖国神社電撃参拝プラン」浮上!これもう戦争だろ… [481941988]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
