プログラミング言語 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:X7t3Qsuc082デフォルトの名無しさん (ワッチョイ e252-iiEx)
2020/01/19(日) 12:40:31.29ID:Wel1D6/w083デフォルトの名無しさん (ワッチョイ 927c-s5Rz)
2020/01/19(日) 13:11:12.72ID:AinWVopR0 いよいよRubyにも型チェックの機能が取り入れられる
型定義は別ファイルに書くようになっていて、文法は以下の感じ
class Foo
def foo: -> void
def to_s: -> String
(Integer) -> String
end
このようなクラス定義によく似た何かを別ファイルに用意しなければならない(面倒だね)
この際、クラス名Fooやメソッド名foo,to_sなどを細心の注意を払って間違いなく正確に記述しなければならない
もし間違えてしまうと型チェックが働かなくなる(だろう)
そして、型チェックツールはそのことを教えてくれないだろうね
何故ならRubyは型定義が無くても動くのが前提だから、名前を間違ってても「あ、型定義無いのね」って思うだけ
なんならクラス名やメソッド名を間違えていないことをチェックするテストコードを書かなければならないかもしれない
そうしないと正しく型チェックが働いたことを誰も保証できないだろう?
「ソースコードのクラス名やメソッド名を変更したけど、型定義ファイルのそれらを修正し忘れる」
というのは普通にあり得るケース、というか一番ありがちなヒューマンエラーの類
絶対だれかヤラカス、容易に想像できる
お気づきのかたも多いだろうが、同じことを二回書かせるから間違える
これはまさに「DRYに反している」典型的事例
ところがmatzに言わせれば、ソースコード上に型を書く方が「DRYに反している」らしい
理由も意味不明 (普通に考えれば別ファイルに書く方がDRYに反している)
ttps://logmi.jp/tech/articles/321280
このように口を開けば事実と反対の事ばかり言うのがmatzであり
そんな人が作ったRuby自体も反対のあべこべ逆張り言語である
型定義は別ファイルに書くようになっていて、文法は以下の感じ
class Foo
def foo: -> void
def to_s: -> String
(Integer) -> String
end
このようなクラス定義によく似た何かを別ファイルに用意しなければならない(面倒だね)
この際、クラス名Fooやメソッド名foo,to_sなどを細心の注意を払って間違いなく正確に記述しなければならない
もし間違えてしまうと型チェックが働かなくなる(だろう)
そして、型チェックツールはそのことを教えてくれないだろうね
何故ならRubyは型定義が無くても動くのが前提だから、名前を間違ってても「あ、型定義無いのね」って思うだけ
なんならクラス名やメソッド名を間違えていないことをチェックするテストコードを書かなければならないかもしれない
そうしないと正しく型チェックが働いたことを誰も保証できないだろう?
「ソースコードのクラス名やメソッド名を変更したけど、型定義ファイルのそれらを修正し忘れる」
というのは普通にあり得るケース、というか一番ありがちなヒューマンエラーの類
絶対だれかヤラカス、容易に想像できる
お気づきのかたも多いだろうが、同じことを二回書かせるから間違える
これはまさに「DRYに反している」典型的事例
ところがmatzに言わせれば、ソースコード上に型を書く方が「DRYに反している」らしい
理由も意味不明 (普通に考えれば別ファイルに書く方がDRYに反している)
ttps://logmi.jp/tech/articles/321280
このように口を開けば事実と反対の事ばかり言うのがmatzであり
そんな人が作ったRuby自体も反対のあべこべ逆張り言語である
84デフォルトの名無しさん (アウウィフ FF05-otum)
2020/01/19(日) 15:31:51.01ID:ehZNNwbSF 俺のRubyがこんなに速いわけがない
85デフォルトの名無しさん (アウアウウー Sa05-s5Rz)
2020/01/19(日) 23:07:31.87ID:JsYzYAKPa 入門書に飽きてきた人におすすめ
Rubyだと実例を入手しやすいからいいね
新しいプログラミング言語の学び方 HTTPサーバーを作って学ぶ Java, Scala, Clojure
https://speakerdeck.com/todokr/xin-siihurokuraminkuyan-yu-falsexue-hifang-httpsahawozuo-tutexue-hu-java-scala-clojure
https://github.com/todokr/simple-http-server
Rubyだと実例を入手しやすいからいいね
新しいプログラミング言語の学び方 HTTPサーバーを作って学ぶ Java, Scala, Clojure
https://speakerdeck.com/todokr/xin-siihurokuraminkuyan-yu-falsexue-hifang-httpsahawozuo-tutexue-hu-java-scala-clojure
https://github.com/todokr/simple-http-server
86デフォルトの名無しさん (ワッチョイ 022c-Sfrr)
2020/01/19(日) 23:44:41.65ID:qcodQ+dh0 実践TypeScript - BFFとNext.js&Nuxt.jsの型定義、吉井 健文、2019/6/26
この本を読んでるけど、TS も型地獄w
React(Parcel)でも、型定義ファイルがいる。
npm -i -D @types/react @types/react-dom
@types 以下に、各フレームワークの型定義ファイルを入れておく
React, Next.js, Vue.js, Nuxt.js, Express など、
各フレームワークで、TSへの型対応を進めているけど、地獄w
この本を読んでるけど、TS も型地獄w
React(Parcel)でも、型定義ファイルがいる。
npm -i -D @types/react @types/react-dom
@types 以下に、各フレームワークの型定義ファイルを入れておく
React, Next.js, Vue.js, Nuxt.js, Express など、
各フレームワークで、TSへの型対応を進めているけど、地獄w
87デフォルトの名無しさん (ワッチョイ a12d-GCXE)
2020/01/20(月) 20:49:11.90ID:YZhtkMgR0 最近、誰でも高額が稼げるような言い方でRuby教材を売ってる人らが目立つな
88デフォルトの名無しさん (ワッチョイ f901-otum)
2020/01/21(火) 00:25:49.49ID:dRlbVwUu0 稼げるからね。
89デフォルトの名無しさん (ワッチョイ a12d-GCXE)
2020/01/21(火) 00:43:52.91ID:98cKibZ60 本当に稼げるんならいいけど、100万円取られて終わりじゃないの
90デフォルトの名無しさん (ワッチョイ f901-otum)
2020/01/21(火) 01:06:10.14ID:kOBQMwNv0 100万稼げるからねって意味だったんですけど。
91デフォルトの名無しさん (ワッチョイ 8d9b-otum)
2020/01/21(火) 11:25:04.38ID:USbDfMqQ0 詐欺御用達
92デフォルトの名無しさん (ワッチョイ 82a5-36M6)
2020/01/21(火) 12:15:08.17ID:/80lr+DT0 スコップを売って100万稼ぐんだろ
スコップ売りの少女から学ぶべきは一つ
スコップで穴を掘ることではなく、スコップの売り方
スコップ売りの少女から学ぶべきは一つ
スコップで穴を掘ることではなく、スコップの売り方
93デフォルトの名無しさん (ワッチョイ 8d9b-otum)
2020/01/21(火) 12:31:08.84ID:USbDfMqQ094デフォルトの名無しさん (ワッチョイ a12d-GCXE)
2020/01/21(火) 16:39:26.54ID:98cKibZ60 >>90
そっちか!勘違いしてたぜ
そっちか!勘違いしてたぜ
95デフォルトの名無しさん (ワッチョイ 225c-muX5)
2020/01/21(火) 19:28:13.89ID:essSqG5l0 "abc".size などの . は前後に空白があってもOKだった(最近の発見)
"abc" . size
"abc" . size
96デフォルトの名無しさん (ワッチョイ 022c-Sfrr)
2020/01/21(火) 21:28:11.63ID:nuZnWP/f0 Windows 10, VSCode では、
関数の引数の( ) の有無とか、
obj.method arg_1
obj.method( arg_1 )
メソッドチェーンでのコメントの有無とか、
obj.method_1 # コメント
.method_2 # コメント
こういうので、エラーになったり・ならなかったりする、基準が分からないw
関数の引数の( ) の有無とか、
obj.method arg_1
obj.method( arg_1 )
メソッドチェーンでのコメントの有無とか、
obj.method_1 # コメント
.method_2 # コメント
こういうので、エラーになったり・ならなかったりする、基準が分からないw
97デフォルトの名無しさん (ワッチョイ 5233-j5lD)
2020/01/21(火) 22:49:54.70ID:YQwIan5u0 Rubyは、IDEと相性が悪いからな。
動的型だけじゃなくても、文の区切りがわかりにくい文法も。
しゃあない。
動的型だけじゃなくても、文の区切りがわかりにくい文法も。
しゃあない。
98デフォルトの名無しさん (ワッチョイ 4201-73fV)
2020/01/21(火) 23:13:36.42ID:Vd2KBMmO0 しゃあないわけあるかw
使ってるプラグインの作りが悪いだけだろ
使ってるプラグインの作りが悪いだけだろ
99デフォルトの名無しさん (ワッチョイ 022c-Sfrr)
2020/01/21(火) 23:27:09.32ID:nuZnWP/f0 VSCode が中心になってから、開発者全員がVSCode を使うようになって、
すべてのエディタ・IDE で使える、言語サーバーの規格化が始まった!
Ruby も対応してくれるかな?
すべてのエディタ・IDE で使える、言語サーバーの規格化が始まった!
Ruby も対応してくれるかな?
10099 (ワッチョイ 022c-Sfrr)
2020/01/21(火) 23:28:44.69ID:nuZnWP/f0 Julia, Python, Ruby に対応してくれれば、
Jupyter Notebook でも良いけど
Jupyter Notebook でも良いけど
101デフォルトの名無しさん (オッペケ Sr7b-3C30)
2020/01/22(水) 09:39:40.18ID:1i745hKir メソッドチェーン中の#によるコメントは2.7.0からの新機能
102デフォルトの名無しさん (ワッチョイ 5fa5-UqN9)
2020/01/22(水) 09:50:31.20ID:mkyLzVly0 VSCodeの開発言語がVSCodeにとっては最重要言語でしょ
そうじゃない言語は傍流だから切られる
使えますよとしてるのはVSCodeに囲い込むための方便
ゆくゆくはそんな傍流には消えてほしい……とするのが普通の策略
そうじゃない言語は傍流だから切られる
使えますよとしてるのはVSCodeに囲い込むための方便
ゆくゆくはそんな傍流には消えてほしい……とするのが普通の策略
103デフォルトの名無しさん (ドコグロ MM5b-9ipO)
2020/01/22(水) 10:10:14.80ID:uoDMOHZtM MSはVSCodeをTypeScriptで書くことによって動的型に止めを刺したよね
ついでにMatzの愛するEmacsも完全にパイを奪われて死んだし、そんな因縁のエディタでRuby書くとか恥知らずもいいとこ
ついでにMatzの愛するEmacsも完全にパイを奪われて死んだし、そんな因縁のエディタでRuby書くとか恥知らずもいいとこ
104デフォルトの名無しさん (オッペケ Sr7b-3C30)
2020/01/22(水) 10:56:05.26ID:1i745hKir Emacsが死んだとかどの世界の住人ですか
105デフォルトの名無しさん (ワッチョイ df33-TZXF)
2020/01/22(水) 22:50:36.18ID:rp7FIzPH0 テキスト編集能力よりも、アプリケーション開発能力を優先すると、IDEが勝つ。
ターミナル経由だと、IDEは動作しようがないので、テキストエディタが勝つ。
ターミナル経由だと、IDEは動作しようがないので、テキストエディタが勝つ。
106デフォルトの名無しさん (ワッチョイ 5f2c-++Vr)
2020/01/22(水) 23:10:32.35ID:fyGKoId60 require 'webrick'
srv = WEBrick::HTTPServer.new( {
:BindAddress => '127.0.0.1', :Port => 20080 } )
srv.mount( '/', WEBrick::HTTPServlet::FileHandler, './' )
Signal.trap( :INT ){ srv.shutdown } # Ctrl+C で終了
srv.start
Windows 10, Ruby 2.5 で、
カレントフォルダに、index.htm と画像ファイル、abc.jpq を置いて、
WEBrick のServer/Servlet を起動して、ブラウザで見ると、
HTTP 304 で画像を、ローカルPC のキャッシュから取得するので、見えない!
1-liner で、
ruby -run -e httpd . -p 20080
としても見えないが、ポート番号を10080 に変えると見える!
常に見えるようにするには、どうすればよい?
srv = WEBrick::HTTPServer.new( {
:BindAddress => '127.0.0.1', :Port => 20080 } )
srv.mount( '/', WEBrick::HTTPServlet::FileHandler, './' )
Signal.trap( :INT ){ srv.shutdown } # Ctrl+C で終了
srv.start
Windows 10, Ruby 2.5 で、
カレントフォルダに、index.htm と画像ファイル、abc.jpq を置いて、
WEBrick のServer/Servlet を起動して、ブラウザで見ると、
HTTP 304 で画像を、ローカルPC のキャッシュから取得するので、見えない!
1-liner で、
ruby -run -e httpd . -p 20080
としても見えないが、ポート番号を10080 に変えると見える!
常に見えるようにするには、どうすればよい?
107デフォルトの名無しさん (オッペケ Sr7b-3C30)
2020/01/22(水) 23:15:37.70ID:1i745hKir jpqだからじゃねえの
109デフォルトの名無しさん (ワッチョイ 5f01-oRbG)
2020/01/23(木) 00:38:32.32ID:9sgUs0f40 304が返される状態にもかかわらず
画像が見えないなら基本的にはクライアント側の問題
まずはHTTPリクエストを確認しろ
画像が見えないなら基本的にはクライアント側の問題
まずはHTTPリクエストを確認しろ
110106 (ワッチョイ 5f2c-++Vr)
2020/01/23(木) 00:49:20.77ID:31WWjqFP0 Windows 10 のローカルPC は、アクセス権限が厳しいから、
サーバーを立てても、ブラウザのローカルキャッシュを見れないのかも?
サーバーを立てても、ブラウザのローカルキャッシュを見れないのかも?
111デフォルトの名無しさん (ワッチョイ 872d-N7cG)
2020/01/23(木) 05:02:20.43ID:DWwoifTV0 Web開発でRubyが下火になってきてるらしいけど、一体何に移ってるの?
node.js + Reactみたいに単純な構造のものを組み合わせるのが流行ってるわけ?
node.js + Reactみたいに単純な構造のものを組み合わせるのが流行ってるわけ?
112デフォルトの名無しさん (アウアウエー Sa1f-9ipO)
2020/01/23(木) 08:38:09.14ID:WRgaKbBya113デフォルトの名無しさん (アウアウエー Sa1f-9ipO)
2020/01/23(木) 08:54:27.38ID:WRgaKbBya 途中書き込み失礼
ちなみにRubyの需要が減ってるかというとそんなことはなくて、むしろ伸びてる。
じゃあなんでnodeやgoへ移ってるように見えるかというと、移行してるのは情報発信に積極的な意識高い層が中心だから。
彼らは主に(例えばCookpadのような)自社サービスで働いていて、事例としても目立ちやすいというわけ。
Rubyはプログラミングスクールで人気があるため低スキルエンジニアが供給過剰状態で、PHPの代替として低単価案件での採用が増えている。
それに伴い、意識の高い人は値下げ競争から離脱しつつあるの。
ちなみにRubyの需要が減ってるかというとそんなことはなくて、むしろ伸びてる。
じゃあなんでnodeやgoへ移ってるように見えるかというと、移行してるのは情報発信に積極的な意識高い層が中心だから。
彼らは主に(例えばCookpadのような)自社サービスで働いていて、事例としても目立ちやすいというわけ。
Rubyはプログラミングスクールで人気があるため低スキルエンジニアが供給過剰状態で、PHPの代替として低単価案件での採用が増えている。
それに伴い、意識の高い人は値下げ競争から離脱しつつあるの。
114106 (ワッチョイ 5f2c-++Vr)
2020/01/23(木) 09:48:33.02ID:31WWjqFP0 VSCode の拡張機能、Live Server で見たら、画像も見れる!
WEBrick のServer/Servlet と何が違うのかな?
WEBrick のServer/Servlet と何が違うのかな?
115デフォルトの名無しさん (オイコラミネオ MMdb-TZXF)
2020/01/23(木) 19:32:54.35ID:vOsDgWR6M キャッシュコントロールヘッダじゃないの?
知らんけど。
知らんけど。
116106 (ワッチョイ 5f2c-++Vr)
2020/01/24(金) 03:55:37.06ID:L98ica9l0 ブラウザのF12 開発者ツールで指定できる!
Chrome の開発者ツールのDisable cache で、画像が表示された!
Edge では、開発者ツールのネットワークの、
常にサーバーから更新するとか、キャッシュのクリアとかかな?
HTTP リクエスト/レスポンスのCache-Control ヘッダーも、関係ありそう
Chrome の開発者ツールのDisable cache で、画像が表示された!
Edge では、開発者ツールのネットワークの、
常にサーバーから更新するとか、キャッシュのクリアとかかな?
HTTP リクエスト/レスポンスのCache-Control ヘッダーも、関係ありそう
117デフォルトの名無しさん (ワッチョイ 275f-pD9l)
2020/01/24(金) 12:41:39.57ID:yedZaC1h0 プライベートブラウジング使え
ブラウザ閉じればキャッシュやクッキーが消えて便利だぞ
ブラウザ閉じればキャッシュやクッキーが消えて便利だぞ
118デフォルトの名無しさん (ワッチョイ 5f01-oRbG)
2020/01/24(金) 12:43:50.75ID:2IgFvbdV0 HTTPリクエストを確認すればわかること
頼むからHTTPの基礎くらいは学んでくれ
頼むからHTTPの基礎くらいは学んでくれ
119106 (ワッチョイ 5f2c-++Vr)
2020/01/25(土) 00:10:52.07ID:mLh1vP4R0 Windows 10 のローカルPC 上の、WEBrick のServer/Servlet で、
ブラウザでキャッシュ有りの時、画像が表示されないのは、なぜなのか?
結局、その理由が分からないまま
出来れば、キャッシュ有りで、画像が表示されてほしい
ブラウザでキャッシュ有りの時、画像が表示されないのは、なぜなのか?
結局、その理由が分からないまま
出来れば、キャッシュ有りで、画像が表示されてほしい
120デフォルトの名無しさん (ワッチョイ a7b0-Gc13)
2020/01/25(土) 03:58:37.57ID:PRJ1sUmm0 死ねばいい
121デフォルトの名無しさん (ワッチョイ a763-gk0v)
2020/01/25(土) 15:52:45.46ID:WZ3Oswhu0 rubyXLでエクセルいじってるが
印刷範囲を設定したいときは、どのようにすればよいのでしょうか?
いろいろ探しても見当たらず・・
印刷範囲を設定したいときは、どのようにすればよいのでしょうか?
いろいろ探しても見当たらず・・
122デフォルトの名無しさん (ワッチョイ 5fa5-V1vN)
2020/01/27(月) 17:12:09.11ID:PTqFE7Wm0 ruby.hに#define memcpy(p1,p2,n) ruby_nonempty_memcpy(p1, p2, n)ってあるけど、
c++でstd::memcpyって使ってたらおかしなことにならんか?
c++でstd::memcpyって使ってたらおかしなことにならんか?
123デフォルトの名無しさん (ワイーワ2 FF1f-FkkX)
2020/01/27(月) 17:24:08.84ID:Xu7tzl7qF srcとdstの範囲が重なってるんじゃね
124デフォルトの名無しさん (ワッチョイ 5fa5-V1vN)
2020/01/27(月) 18:36:35.04ID:PTqFE7Wm0 ちょっと試したらおかしなことにならんかった
125デフォルトの名無しさん (ワッチョイ 7fda-LQfQ)
2020/01/28(火) 12:37:06.71ID:2llLtotp0 Rubyってイベントハンドラを複数登録するタイプのクラスってどう書くのが一般的な流儀ですか?
クラス継承したり特異メソッド使ったりといった書き方もありますが
あまり異端過ぎなければlambdaを使うのが楽そうかなと思ってます
# ディレクトリを巡回してファイルを探すクラス
finder = FileFinder.new
finder.on_dir_enter = lambda{|folder| puts "entered: #{folder}" }
finder.on_dir_leave = lambda{|folder| puts "left: #{folder}" }
finder.on_file_found = lambda{|file| puts "found: #{file}" }
finder.start("./")
クラス継承したり特異メソッド使ったりといった書き方もありますが
あまり異端過ぎなければlambdaを使うのが楽そうかなと思ってます
# ディレクトリを巡回してファイルを探すクラス
finder = FileFinder.new
finder.on_dir_enter = lambda{|folder| puts "entered: #{folder}" }
finder.on_dir_leave = lambda{|folder| puts "left: #{folder}" }
finder.on_file_found = lambda{|file| puts "found: #{file}" }
finder.start("./")
126デフォルトの名無しさん (ワッチョイ 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の将来は暗いな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★10 [ぐれ★]
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- おで、反日分子。日中対立を利用して日本政府を苦しめることに成功。かかったなネトウヨ!! [805596214]
- ニートしかいない時間ってマジでつまんないよな
- 小池百合子「キィィ…!なんでアタシより先に総理になってンのよ…あの女狐ッ!」
- 中国人「昔の仇を取る」「高市は狂ってる。制裁すればいい」「高市はことの重大さを認識してない」 [931948549]
- メスイキして快感が身体の内側に残ってる間に寝るのが気持ちいい
- 🖐( -᷄ὢ)俺がこの世で最も欲するものは>>2の>>3だ……
