1 名前:デフォルトの名無しさん [2020/01/04(土) 01:15:34.30 ID:X7t3Qsuc0.net] プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ 質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。 Ruby on Rails については、WEBプログラミング板で 前スレ Ruby 初心者スレッド Part 65 https://mevius.5ch.net/test/read.cgi/tech/1545421414/ るりまサーチ (リファレンス検索) rurema.clear-code.com/ Rubyist Magazine - るびま jp.rubyist.net/magazine/ 逆引きRuby www.namaraii.com/rubytips/ Ruby コミュニティ公式 https://www.ruby-lang.org/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
830 名前:デフォルトの名無しさん mailto:sage [2020/10/13(火) 17:01:18.58 ID:v339nyYs0.net] >>789 ridk use で切り替えられるから最新版を試すと良い このへんの問題も改善されてたはず
831 名前:788 mailto:sage [2020/10/13(火) 17:05:42.76 ID:y5Oy6HcC0.net] RUBYOPT に、--encoding=UTF-8 を設定すると、 コマンドプロンプト・PowerShell の文字コードの設定で、 chcp 65001 と入力したが、どちらもエラーで、irbが起動しない でも、irbを使わなければ、 RUBYOPT に設定するのは、便利なんだけど
832 名前:788 mailto:sage [2020/10/13(火) 17:09:23.25 ID:y5Oy6HcC0.net] >>794 ほう
833 名前:デフォルトの名無しさん [2020/10/13(火) 17:24:55.62 ID:Iy+8ZYjV0.net] みんなありがとうございます 環境変数って編集したら再起動しないといけないとかありますか?
834 名前:788 mailto:sage [2020/10/13(火) 17:43:39.31 ID:y5Oy6HcC0.net] OS の再起動は、いらないと思う。 Ruby の再起動だけで良いと思う PowerShell で、以下を入力して、正しく設定されたか、確認してみ ls env:
835 名前:デフォルトの名無しさん mailto:sage [2020/10/13(火) 19:42:36.62 ID:MMOmBqSMr.net] pryがirb使ってるわけないじゃん。(「irb使う」ってのもよくわからんが) readlineのライブラリがマルチバイト未対応なだけだから 日本語扱うならnoreadlineで起動すればいいよ。
836 名前:788 mailto:sage [2020/10/14(水) 05:06:57.79 ID:z5Uy/Vd30.net] pry, rails console を起動すると、irb が起動されるのかな? と思っていた。 画面が似てるでしょ? 例えば、Windows 10, WSL, Ubuntu 18.04 を起動すると、 コマンドプロンプトと同じ画面が起動される そういうのと同じなのかな? と思って
837 名前:デフォルトの名無しさん [2020/10/14(水) 08:31:15.20 ID:kgj1R+5V0.net] RUBYPORT変えてやってみたけどだめでした. コマンドプロンプトとPowerShellは両方文字化けします. bash on Windowsだと問題なく動きます. 学校で配布された教材がコマンドプロンプトしか使っておらず, 与えられたサンプルプログラムはバージョン2.4以下じゃないと動かないらしいです. 留年しそう.
838 名前:788 mailto:sage [2020/10/14(水) 09:58:02.17 ID:z5Uy/Vd30.net] >RUBYPORT RUBYOPT だよ。 ユーザー環境変数に、RUBYOPT に、--encoding=UTF-8 を設定する PowerShell で、以下を入力して、正しく設定されたか、確認してみ ls env: irb さえ使わなければ、文字化けしないはず! たぶん、ファイルの設定だろう。 sjis・CP932 じゃなく、BOM 無しUTF-8(UTF-8N) それで、PowerShell から「ruby a.rb」などで実行できるはず。 または、VSCode のCode Runner でも出来る。 ただし、Code-runnerの設定ファイルで、File Directory As Cwd をチェックしておく
839 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 10:01:17.73 ID:rQGDkRcC0.net] 学校での話なら、友達か先生かに聞けよ。
840 名前:788 mailto:sage [2020/10/14(水) 10:07:17.92 ID:z5Uy/Vd30.net] ただし、RUBYOPT に、--encoding=UTF-8 を設定した場合、 chcp はデフォルトの、CP932 のままにしておく! 65001 にしない コマンドプロンプト・PowerShell で、chcp と入力してみ
841 名前:788 mailto:sage [2020/10/14(水) 10:21:16.97 ID:z5Uy/Vd30.net] >>804 修正 >chcp はデフォルトの、CP932 のままにしておく! >65001 にしない RUBYOPT に、--encoding=UTF-8 を設定した場合、 CP932/65001 のどちらでも、文字化けしない。正常に動く
842 名前:デフォルトの名無しさん [2020/10/14(水) 11:42:15.98 ID:kgj1R+5V0.net] >>805 ごめん!RUBYOPT変えた! ファイルの設定ってプログラム書いてるテキストファイルの設定ってことですか?どうやって変えるのでしょうか? 一応Rubyopt変えただけだと文字化けしちゃってchcp 65001って実行してプログラム起動させたらコマンドプロンプトは落ちちゃった. PowerShellはもう日本語全部文字化けしちゃった
843 名前:788 mailto:sage [2020/10/14(水) 12:29:05.96 ID:z5Uy/Vd30.net] たぶん、エディタの文字コードの設定メニューあたりから、 BOM 無しUTF-8(UTF-8N)に設定する 一番よいのは、VSCode で、Code Runner を使う
844 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 19:15:13.60 ID:Y0U/d7P+r.net] >>801 noreadlineで起動すればいいって言ってんじゃん
845 名前:788 mailto:sage [2020/10/15(木) 06:56:58.31 ID:7eWumHpU0.net] RUBYOPT に、--encoding=UTF-8 を設定すると、 irb --noreadline で起動しても、エラーになる
846 名前:788 mailto:sage [2020/10/15(木) 07:13:17.57 ID:7eWumHpU0.net] RUBYOPT に、--encoding=UTF-8 を設定すると、 irb --noreadline irb -E UTF-8 irb -E Shift_JIS で起動しても、エラーになる
847 名前:788 mailto:sage [2020/10/15(木) 07:32:54.02 ID:7eWumHpU0.net] Windows では、RUBYOPT の、--encoding=UTF-8 と、irb は両立しない irb を捨てて、VSCode のCode Runner を使う方がよい。 これで、選択したコード片、またはファイル全体を実行できる その代わり、pry, rails console が使えなくなるかも? よく分からないけど
848 名前:デフォルトの名無しさん mailto:sage [2020/10/15(木) 14:56:39.44 ID:FYvAP3o60.net] powershellじゃなくてレガシーコンソールのコマンドプロンプトを使わないとダメだったはず
849 名前:788 mailto:sage [2020/10/15(木) 15:46:22.07 ID:7eWumHpU0.net] >>810 は、PowerShell・コマンドプロンプト
850 名前:フどちらでも、エラーになる [] [ここ壊れてます]
851 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 14:09:06.36 ID:cX3MrjsP0.net] 4,000行ほどのRubyプログラムをnode.jsに乗り換えようと思ってましたが やっぱりRubyの方が便利な気がしてきました。 JSはローカル変数がちゃんと作れることやapplyが使えること、ifブロックやコメントの書き方などが 好きだったんですが元々ブラウザ用だったせいかファイル関連が非同期推奨ですし stdoutとfileの違いもちゃんと意識しないといけなくなっているようです。 ファイル関連のライブラリも非同期のみの対応の場合も多いようで、Rubyに比べると 使い勝手に問題が有りそうです。 スクリプト言語の目的は簡単にプログラムしたいことですが、node.jsよりRubyの方が ファイル関連は簡単なようです。
852 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 01:39:25.66 ID:xeOKOt4d0.net] Rubyはちゃんとしたブロック変数が作りにくいことが欠点だと思っていたのですが 逆にnode.jsの場合、グローバル変数とローカル(ブロック)変数の違いが 最初の定義時にlet(またはvar)を書くかどうかだけで区別されており、 それはそれで危険な場面もあるように気付きました。 Rubyの場合は、先頭が$で始まる変数はグローバルになり、大文字で始まる変数は グローバル定数になりますので、有る意味では安全ですし、命名規則としても 全てのプログラマで共通になりソースの分かり易さに貢献している可能性があります。 node.jsの場合、let文を書き忘れただけでグローバル変数になるのは原因不明の バグが入り込む可能性を増やしている可能性があります。 また、Rubyは、system関数が便利です。 実際に使用してみた感想としてRubyは全体的に安定している印象を持ちましたが、 node.jsは、インストール時の一番大事な環境変数ですら自動設定されておらず、 プログラマー以外の人にプログラムを配布することは絶望的です。
853 名前:デフォルトの名無しさん [2020/10/18(日) 18:18:43.72 ID:WlQf1Fni0.net] >最初の定義時に、let(またはvar)を書くかどうかだけで区別されており VSCode ESLint とかで、チェックできるのでは? Windows でも、50ms 以上掛かる、IO は非同期を推奨してるから、書きにくい でも、Ruby on Rails 6 では、デフォルトで、Node.js, Webpack を使う ただし、GUI はHTML, CSS/SASS, Bootstrap, JavaScript(JS)だけど、 サーバー側言語には、Rubyを使う Rubyには最初から、C と同様、関数スコープがあった。 ES2015 で、JS にも出来たのかな?
854 名前:814 mailto:sage [2020/10/18(日) 18:30:15.98 ID:WlQf1Fni0.net] YouTube で有名な雑食系エンジニア・KENTA は、 初心者が進む道を、サーバー側言語のRuby → Go を王道としてる この2つ以外は、出てこない。 JavaScript, Python から始めろって絶対に言わない! Python から始めてはいけないって言ってる。 「AIや機械学習に興味があるのでPythonから勉強」は誤りです。【YAGNIの法則】 KENTA は、10言語以上知っていて、 登録者数5万人、月千円のサロンが、2千人もいるから、 十分にヒアリングしてるし、どの言語が挫折確率が高いか、よく分かっている
855 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 18:36:30.11 ID:xWXtsYNK0.net] KENTA「Rubyに拘泥する奴は伸びない。さっさと他の言語に進め」
856 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 19:10:33.77 ID:Ie2s5K3J0.net] >>816 Cは、関数スコープというより、ブロックスコープ。 Rubyとは違う。
857 名前:デフォルトの名無しさん [2020/10/18(日) 20:35:28.25 ID:2aU6LfzH0.net] KENTA「C++を始めるべき」
858 名前:デフォルトの名無しさん mailto:sage [2020/10/23(金) 17:32:28.92 ID:iE1/WHvK0.net] VSCodeなどにHTMLのLivePreview機能がありますが、 erbのLivePreview対応
859 名前:アプリケーションってありますか? [] [ここ壊れてます]
860 名前:デフォルトの名無しさん [2020/10/24(土) 08:32:09.72 ID:PENdR3tu0.net] VSCode の拡張機能のLive Server では、Web Extension で、 PHP で作る動的ページも表示してるけど、ERB のやり方は分からない https://chrome.google.com/webstore/detail/live-server-web-extension/fiegdmejfepffgpnejdinekhfieaogmj?hl=pt-BR Rails 6 なら、webpack-dev-server が標準
861 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 14:35:22.81 ID:rBYTjNf90.net] >>822 ありがとうございます webpack-dev-server 調べてみます
862 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:01:22.94 ID:ehonUome0.net] number = "0.072953" float_number = number.to_f bigdecimal_number = number.to_d (1000 / float_number) # => 13707.455485038312 (1000 / bigdecimal_number) # => 0.13707455485038e5 1000.div(float_number) # => 13707 1000.div(bigdecimal_number) # => 13707 1000.fdiv(float_number) # => 13707.455485038312 1000.fdiv(bigdecimal_number) # => 2.22360747e-314 なぜ 1000.fdiv(bigdecimal_number) のときは 13707 台ではなく 2.2 e-314 になるの? fdivの引数にdecimalは期待されていない?
863 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:05:37.26 ID:xQuuF55sr.net] どっちも変わらん p 100.fdiv(float_number) # => 1370.745548503831 p 100.fdiv(biddecimal_number) # => 1370.745548504
864 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:19:23.51 ID:6XNLJEFJ0.net] biddecimalwwwww
865 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:23:11.77 ID:ehonUome0.net] ありがとう 使ってるrubyのバージョンが低すぎるみたいだ
866 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 09:56:38.85 ID:/elpRfls0.net] rubyはバージョン上げると前動いたコードが動かないからな。 そこらへんの互換性はjs>>php>>>python>>>rubyみたいな感じ。 行き当たりバッタリで以前の仕様気にせず変える。
867 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 10:48:16.22 ID:M7kzCKlu0.net] >>828 phpは知らんけど js >> ruby >>> python やろ railsと違ってruby自体は後方互換性かなり高いぞ CLI系なら10年以上前のものでもだいたい問題なく使える pythonも言語自体は後方互換性高いが バージョンごとにdeprecated/removedになるAPIはrubyよりずっと多い それもあってメジャーなライブラリの新バージョン対応は遅くて 半年くらい待たないと言語の新しいバージョンを使えないし 言語の新バージョン + ライブラリの旧バージョンの組み合わせだと 動かなくなる率が高くてライブラリのAPI変更にも対応しないといけない
868 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 11:02:35.93 ID:/elpRfls0.net] 確かにpythonは2系と3系は隔絶してるけどマイナーバージョンアップでブッ壊れるのはrubyだろ
869 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 11:36:06.65 ID:M7kzCKlu0.net] >>830 例えば?
870 名前:デフォルトの名無しさん [2020/10/25(日) 12:12:32.16 ID:usbfp6+yF.net] C最強ですね判ります
871 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 13:00:13.81 ID:vQGWPLvqr.net] マイナーバージョンアップで後方互換性がぶっ壊れた例 俺も気になるんで教えて
872 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 13:25:50.19 ID:M7kzCKlu0.net] >>829 よく考えるとjsもクライアントサイドだけじゃなく サーバーサイドで考えると動かなくなることあるな rubyやpythonに比べて新陳代謝が激しくて 10年使い続けたりしないから気にならないだけかも
873 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 17:55:59.08 ID:y6I5Oh6cM.net] >>831 リリースノートでも読め。 標準モジュールの変更とか。
874 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 18:04:13.90 ID:MTjKoQS00.net] JIS規格化されてる
875 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 18:42:02.16 ID:M7kzCKlu0.net] >>835 エアプでしたか pythonと違ってrubyでは「標準モジュール」という言い方はしないよ
876 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 19:16:39.17 ID:y6I5Oh6cM.net] >>837 んな言葉の違いはどうでも。w ま、違いにあたらなければどうということはないから、
877 名前:キきにしろ。 実際にあたった人や、心配性にはツラい言語。 3以降は、絶対にないレベルにしてほしいものだ。 できればPerlレベルに。 [] [ここ壊れてます]
878 名前:デフォルトの名無しさん [2020/10/26(月) 15:04:44.51 ID:EltRWJ/HF.net] Ruby が C++ を Hate してるのはホント良く判る
879 名前:デフォルトの名無しさん mailto:sage [2020/10/26(月) 16:25:50.97 ID:NTmfRHBrM.net] >>838 Perlもエアプかいw 駱駝道で極楽浄土に行けるといいネ
880 名前:デフォルトの名無しさん mailto:sage [2020/10/26(月) 17:52:56.78 ID:yxMoBvg5M.net] >>840 今やPerl6は存在しないことを知らないの?w
881 名前:デフォルトの名無しさん [2020/10/28(水) 21:30:30.88 ID:H1Ljm7vl0.net] >>2 リファクタリング:Rubyエディション (日本語) 単行本、2020/3、 Jay Fields/Shane Harvie/Martin Fowler/Kent Beck/長尾 高弘 Martin Fowlerの名著『リファクタリング』のRuby対応全面改訂版が、ついに復刊! Kent Beck は、eXtreme Programming(XP)の提唱者 Java 版をRubyへ書き直したもの。 2010年の復刊。8,800円!
882 名前:デフォルトの名無しさん [2020/10/31(土) 08:20:00.50 ID:B8uNhuq7M.net] ruby初心者です。 以下のNodeクラスにEnumerable moduleをincludeできるようなeachメソッドを 定義することはできますか。 class Node attr_accessor :data, :next def initialize(data) @data = data @next = nil end end
883 名前:デフォルトの名無しさん mailto:sage [2020/10/31(土) 14:36:23.15 ID:zTfIs5nt0.net] 「Ruby Enumerable 実装」で検索! Rubyで簡潔にeachなどの機能を持つクラスを実装する方法 https://ja.stackoverflow.com/questions/1593/ruby%E3%81%A7%E7%B0%A1%E6%BD%94%E3%81%ABeach%E3%81%AA%E3%81%A9%E3%81%AE%E6%A9%9F%E8%83%BD%E3%82%92%E6%8C%81%E3%81%A4%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95 Ruby: EnumerableをincludeするよりEnumeratorを返そう https://techracho.bpsinc.jp/hachi8833/2018_06_29/57698
884 名前:デフォルトの名無しさん mailto:sage [2020/10/31(土) 15:21:36.29 ID:OmKC8x+Wd.net] >>843 https://ideone.com/IjTOn4
885 名前:デフォルトの名無しさん [2020/11/01(日) 00:02:35.61 ID:X6j+EvTNM.net] >>844 さん 特に、>>845 さん 実装を教えていただいて、ありがとうございます。 https://ideone.com/IjTOn4に記載されていた実装は 私では考えつくことができませんでした。 何を勉強したら書けるようになるのか、悩みます。 ちなみにですが、私の考えたeachの実装は以下のようなものです。 class Node def each while self.next != nil yield self.data self.self.next end end end (でも、私のeachは動作しません。)
886 名前:デフォルトの名無しさん [2020/11/01(日) 00:07:41.13 ID:X6j+EvTNM.net] >> 844 self.self.nextは、self = self.nextの誤記です。
887 名前:デフォルトの名無しさん mailto:sage [2020/11/02(月) 02:18:36.47 ID:cH+o+Znx0.net] Mix-in とは、何かのモジュールをinclude すると、 それが継承チェーンの親の所へ入ってくるから、 そのモジュール内の関数が使えるようになる 例えば、include Enumerable とすると、 自クラスで、each を定義してあれば、Enumerable内のすべての関数が使える Array も、Enumerableをインクルードしているから、 Array内の関数と、Enumerable内の関数が使える つまり普通に、複数のインスタンスを配列に入れておけば、 Array・Enumerable内の関数が使える ほとんど、この2つのクラス内の関数ばかり
888 名前:を使うから、 どういう事ができるか、見ておいた方がよい また、eachを定義せずに、Enumerableの機能を使うには、Enumerator を使う。 eachは内部イタレータで、Enumeratorは外部イタレータ 初心者はイタレータなど考えず、普通に配列内に入れておけばよい デザインパターンなら、この本が良い。 改訂2版 Ruby逆引きハンドブック、2018 [] [ここ壊れてます]
889 名前:846 [2020/11/02(月) 08:31:13.28 ID:cH+o+Znx0.net] 「Ruby each 実装」「ruby イテレータ 実装」で検索! 内部・外部イテレータの違いも、調べてみれば? ruby eachの実装 https://teratail.com/questions/117974
890 名前:デフォルトの名無しさん [2020/11/03(火) 09:41:15.68 ID:XEwmRHqvp.net] >>848 さん アドバイスありがとうございました。 示していただいたキーワードを使ってネットの情報を読み漁ってました。 rubyに関する基本的な文法知識も弱いのですが、デザインパターンという 考え方?思想?もわかっていないので、文法の習得と並行して勉強が必要だと 感じました。修業します。
891 名前:846 mailto:sage [2020/11/03(火) 22:57:00.33 ID:pWieQE6j0.net] Mix-in の例で、include Enumerable して、 Enumerableモジュール内の関数が使えるように、 自クラスで、each を実装しましょうとか、 こういうのを初心者向けで見たことがない ほとんど、こういう事をやってる人は、いないと思う なぜかというと、Array は、Enumerableをインクルードしているから、 配列に入れれば、何でもできるから だから、そもそも、どうしてこういう事をしようと思ったのか、疑問に思う プログラミングのお題スレの問題でも、 すべて、Array, Hash, Enumerableで解ける
892 名前:デフォルトの名無しさん mailto:sage [2020/11/03(火) 23:15:09.60 ID:eTFEu/to0.net] >>851 遅延評価
893 名前:デフォルトの名無しさん [2020/11/04(水) 10:08:06.70 ID:wF8lqQTTF.net] Ruby、信者は、おことわり
894 名前:846 mailto:sage [2020/11/04(水) 23:31:34.08 ID:oOk5Pqvr0.net] 一部のメソッドで、遅延評価できる instance method Enumerable#lazy lazy -> Enumerator::Lazy map/collect, flat_map/collect_concat select/find_all reject grep take, take_while drop, drop_while 一貫性のため、ブロックを渡さないケースのみlazy zip, cycle
895 名前:デフォルトの名無しさん mailto:sage [2020/11/04(水) 23:51:12.04 ID:lTVc+I7v0.net] Enumerableは高階関数とともに脱初心者の一番の目安 この2つをパパっと作って使えるようになれば初心者は卒業
896 名前:846 mailto:sage [2020/11/05(木) 23:53:13.53 ID:lCe7ZMVj0.net] Ruby の強みは、 Array, Hash, Enumerable, Enumerator の豊富なメソッドを、 メソッドチェーンでつなげていくプログラミング どういうメソッドがあるのか、じっくり見ておくべき!
897 名前:デフォルトの名無しさん mailto:sage [2020/11/07(土) 23:50:43.02 ID:DktN1QwS0.net] TIOBE Index、perlより下じゃん
898 名前:デフォルトの名無しさん mailto:sage [2020/11/08(日) 03:09:45.71 ID:YnyAcD/m0.net] とうとうperlより下になったかw 誕生経緯w存在意義が…w
899 名前:デフォルトの名無しさん [2020/11/08(日) 10:17:52.02 ID:WJSuSySW0.net] 助成金ひっぱりんごビジネス
900 名前:デフォルトの名無しさん mailto:sage [2020/11/08(日) 10:46:31.03 ID:msYgn7TJM.net] エンベデッド詐欺 ストリーム詐欺
901 名前:デフォルトの名無しさん mailto:sage [2020/11/08(日) 13:35:54.75 ID:P6MM9gKe0.net] 問題 Rubyを開発したのはだれか 答え 2ちゃんねる開発者でもあるひろゆき 根拠 https://programmercollege.jp/column/16456/
902 名前:デフォルトの名無しさん mailto:sage [2020/11/08(日) 16:28:40.45 ID:2D8TgavPM.net] もうすっかりマイナー言語だな
903 名前:デフォルトの名無しさん [2020/11/09(月) 21:51:36.37 ID:A/fRbmyh0.net] 初めまして、現在の状況はRuby、Windows 10、 VSCode(エディターのみ)です。 以前Basic言語をやってましたがRubyの言語は勉強しました。 1.RubyでVSCodeの便利なデバッガーは何がいいですか。 2.RubyでVSCodeのインターネットまたは本等の使い方を勉強したい。 3.gemへのログインの方法を知りたい。 以上の3点知ってる人がいましたら教えてください、お願いします。
904 名前:デフォルトの名無しさん mailto:sage [2020/11/10(火) 00:15:08.25 ID:TotITmpP0.net] >>791 に書いた 漏れは、Windows 10, WSL1, Ubuntu 18.04 で、 VSCode の拡張機能、Remote WSL も使う WSL2 と言う、Hyper-v を使ったものもあるけど、 安定バージョンかどうかは、知らない VSCodeの便利な拡張機能については、VSCodeのスレで聞いてください。 本は、徹底解説Visual Studio Code、本間咲来、2019/9 漏れのおすすめ拡張機能、Code Runner 右クリックメニューから、選択したコード、またはファイル全体を実行する この設定をチェックしておく Code-runner: File Directory As Cwd Whether to use the directory of the file to be executed as the working directory. デバッガーは漏れは、p, pp, tap などで見てる VSCodeの拡張機能では、Ruby というものかな? 8個の拡張機能をパックした、Ruby extension pack とか? 漏れは、よく知らない gem でインストールするのは、bundler だけ! その後は全て、bundlerでインストールする gemは、依存関係を考慮しなかったっけ? gemでインストールしても、依存関係で動かないかも gem, bundler については、検索して調べてください!
905 名前:デフォルトの名無しさん mailto:sage [2020/11/10(火) 07:08:10.23 ID:yOpM0tMJr.net] Rubyで本の使い方を勉強するってどういう意味?
906 名前:デフォルトの名無しさん [2020/11/10(火) 12:09:50.03 ID:08CevRpcF.net] Ruby 卒業しようぜ さっさと
907 名前:デフォルトの名無しさん [2020/11/12(木) 23:43:36.78 ID:9JGUhgPP0.net] g++です undefined reference to `ruby_init' と表示されます たぶんdllに入ってると思うのですがどこにあるのでしょうか? よろしくお願いします
908 名前:デフォルトの名無しさん [2020/11/12(木) 23:44:28.91 ID:9JGUhgPP0.net] versionは2.7.0です
909 名前:デフォルトの名無しさん mailto:sage [2020/11/12(木) 23:46:31.86 ID:1kfP87l60.net] 「dumpbin Windows」で検索!
910 名前:デフォルトの名無しさん [2020/11/12(木) 23:48:50.89 ID:9JGUhgPP0.net] そもそもDLLが見つかりません ほんとお願いします
911 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 00:13:10.26 ID:1m9BN6xD0.net] >>869 初心者には意味不明です
912 名前:862 mailto:sage [2020/11/13(金) 00:22:55.68 ID:LLS1FCOb0.net] g++ は、GNU の GCC に含まれる、C++コンパイラ。 GNU で、Windows 向けのDLL を作るの? RubyInstaller か? MSYS2/MINGW の、RubyInstaller Development Kit(DevKit)有りか? ridk install がどうしたこうしたとか? よく知らないけど https://rubyinstaller.org/downloads/ Windows 10, WSL, Linux でコンパイルする方法なら、 >>791 に書いたけど
913 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 00:28:08.04 ID:1m9BN6xD0.net] c++にruby_initを組み込んでみたいです コンパイルエラーがでます さっぱりわかりません
914 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 00:34:11.29 ID:1m9BN6xD0.net] #include <ruby.h> int main() { // Rubyインタプリタの初期化 ruby_init(); // スクリプトの実行 rb_eval_string("print 'Hello World!'"); // Rubyインタプリタのクリーンアップ ruby_cleanup(0); }
915 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 00:55:32.20 ID:4qY0TlDt0.net] 「初心者」のやることじゃねえ。w
916 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 01:16:13.61 ID:LLS1FCOb0.net] 正気? 初心者が、こんな事をする訳ないだろ C/C++ を、数年以上やってからの話
917 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 01:17:12.74 ID:1m9BN6xD0.net] そう言わずにコンパイルできる方法を教えてください
918 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 01:52:06.56 ID:LLS1FCOb0.net] ffi は C や C++ ように作成された共有ライブラリを、 Ruby で扱うことができるようにするためのライブラリです libffi を使っているので、事前にインストールが必要です。 NativeExtensions を直接扱わずに、C を操作できます ruby ffi 入門 https://hawksnowlog.blogspot.com/2019/0
919 名前:4/getting-started-ruby-ffi.html [] [ここ壊れてます]
920 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 01:57:04.06 ID:1m9BN6xD0.net] その逆が知りたいわけで。。。
921 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 02:03:07.72 ID:LLS1FCOb0.net] C/C++ から、Ruby を呼ぶ方法か 検索すれば?
922 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 02:06:45.73 ID:1m9BN6xD0.net] 検索したんですけど見つかりませんでした
923 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 03:33:11.86 ID:LLS1FCOb0.net] Windows では、無理じゃない? Linux で探した方が良いかも
924 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 03:35:06.10 ID:ZgWaq86m0.net] Windows使ってるってだけで教祖様の号令一下で石投げられるのがRubyコミュニティだからな Pythonにしとき
925 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 04:42:47.05 ID:b8ug5Yf30.net] C/C++ から Python を呼ぶ方法なんて袋叩きに逢うのが Python コミュニティですが、それがなにかどうかされますた???
926 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 04:53:52.48 ID:1m9BN6xD0.net] 難しそうなのであきらめました
927 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 06:40:07.62 ID:LLS1FCOb0.net] 普通は、Ruby から、C 製のNArray みたいな高速なライブラリを呼ぶ 逆に、Cから、Rubyを呼ぶ事はない。 普通に、Rubyコマンドを呼べば良いだけ 例えば、Rubyスクリプト内で、Python3 コマンドを呼ぶ str = `python3 -c 'print( "あ" )'` puts str #=> あ
928 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 07:00:14.39 ID:PGsPGVPV0.net] まつもと:それから「Backquotes」の地上げも考えていたんですけども、Backquotesをするとシェルで実行して結果を文字列で返すってやつですね。 (参加者から「いける、いける」の声) まつもと:なんかあの辺で「いける、いける」って言ってる人がいますけど、信じない(笑)。なので、これももうちょっと先で、もう1回くるかもしれませんが、少なくとも3.0では死なないということです。 https://logmi.jp/tech/articles/321308 バージョンによって使えてたクォートが使えなくなったりするクソ言語
929 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 08:51:10.39 ID:LLS1FCOb0.net] Python 2/3 のコミュニティーの分断は、地獄だった だからRubyは、2/3 で絶対に分断させない!
930 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 09:27:17.47 ID:PGsPGVPV0.net] マイナーバージョンで細切れ分断してるからな。 その辺は抜かりない。
931 名前:デフォルトの名無しさん [2020/11/13(金) 12:02:41.44 ID:RWm0omqa0.net] >>884 >C/C++ から Python を呼ぶ方法なんて袋叩きに逢うのが Python コミュニティ 初めて聴いたけどどこ情報?
932 名前:デフォルトの名無しさん [2020/11/13(金) 12:09:12.42 ID:RWm0omqa0.net] funktor.org/programming/cpp/embedding-ruby
933 名前:デフォルトの名無しさん [2020/11/13(金) 14:17:08.52 ID:/AMzz1sP0.net] >>883 「私がWindowsを嫌っているのではなく、WindowsがRubyを嫌っているのだ。だからWindowsを使ってはいけない。」と教組様が言ってたけど。
934 名前:デフォルトの名無しさん [2020/11/13(金) 14:22:10.08 ID:RWm0omqa0.net] 教祖も言ってるけど windowsならrubyやめてpython使う方が楽ちん
935 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 14:47:22.41 ID:b3aeLCbPa.net] エラーが出たので助けてほしいです… ターミナルでrails db:createをするの下記のような文が出ます… Traceback (most recent call last): 4: from bin/rails:3:in `<main>' 3: from bin/rails:3:in `load' 2: from /Users/tech-camp/projects/tweet/bin/spring:10:in `<top (required)>' 1: from /Users/tech-camp/projects/tweet/bin/spring:10:in `read' /Users/user/projects/tweet/bin/spring:10:in `read': No such file or directory @ rb_sysopen - /Users/user/projects/tweet/Gemfile.lock (Errno::ENOENT)
936 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 14:49:36.90 ID:b3aeLCbPa.net] エラーが出たので教えてほしいです… ターミナルでrails db:createをしたらこのようになりました… Traceback (most recent call last): 4: from bin/rails:3:in `<main>' 3: from bin/rails:3:in `load' 2: from /Users/user/projects/tweet/bin/spring:10:in `<top (required)>' 1: from /Users/user/projects/tweet/bin/spring:10:in `read' /Users/user/projects/tweet/bin/spring:10:in `read': No such file or directory @ rb_sysopen - /Users/user/projects/tweet/Gemfile.lock (Errno::ENOENT)
937 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 15:16:02.12 ID:9KKZC7FrM.net] bundle installしてないとか
938 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 15:45:24.78 ID:b3aeLCbPa.net] まさにそれでした…! ありがとうございます…!
939 名前:デフォルトの名無しさん mailto:sage [2020/11/13(金) 17:04:48.25 ID:b4HB1/RK0.net] >>867 $ export PKG_CONFIG_
940 名前:PATH="$HOME/.rbenv/versions/2.7.2/lib/pkgconfig" $ gcc $(pkg-config --cflags --libs ruby-2.7) hello.c -o hello 上の例はWindowsじゃなくmacOSでrbenv使ってる環境だけど Windowsでも.pcファイルあると思うからpkg-configで必要なオプション取得すれば良いと思うよ [] [ここ壊れてます]
941 名前:デフォルトの名無しさん [2020/11/17(火) 15:37:28.16 ID:+8mZ0oHh0.net] 拡張ライブラリについての質問です 一次元配列の場合はデータを取得できたんですけど、 二次元配列の場合はどうすればいいんでしょうか? よろしくお願いします //一次元配列の場合 num = rb_ary_entry(p_val, offset); a = FIX2INT(num);
942 名前:デフォルトの名無しさん mailto:sage [2020/11/17(火) 18:11:21.31 ID:PuHDpULa0.net] VALUE, FIX2INT, RARRAY, rb_ary_entry これは、Ruby なのか? 奇妙
943 名前:デフォルトの名無しさん mailto:sage [2020/11/17(火) 18:42:35.55 ID:PuHDpULa0.net] Ruby では、ary[offset] だろ。 2次元配列なら、 ary = [ [1, 2], [11, 12], [21, 22] ] ary[0][1] = 99 p ary #=> [[1, 99], [11, 12], [21, 22]] p ary.length #=> 3 p ary[0].length #=> 2
944 名前:デフォルトの名無しさん mailto:sage [2020/11/17(火) 19:23:04.59 ID:yKNV/xx90.net] >>899 配列要素オブジェクトを多段にRArray*にキャストしたらええんちゃうの?知らんけど。 https://docs.ruby-lang.org/ja/latest/function/rb_ary_entry.html https://docs.ruby-lang.org/ja/latest/function/RARRAY.html >>900 知らんかったら黙っとくか、ググるくらいしろ。
945 名前:デフォルトの名無しさん [2020/11/18(水) 19:49:47.73 ID:XrXdqU1w0.net] やっと解りました。。。 どうもありがとうございました! ary = [[0,1],[2,3],[4,5]] num0 = rb_ary_entry(ary_val, 2); num1 = rb_ary_entry(num0, 0); a = FIX2INT(num1); num0 = rb_ary_entry(ary_val, 2); num1 = rb_ary_entry(num0, 1); b = FIX2INT(num1); sprintf(buf, "%d , %d", a, b); MessageBox(NULL, buf, "", MB_OK);
946 名前:デフォルトの名無しさん [2020/11/24(火) 05:57:29.80 ID:tcZG3tlz0.net] ocraを実行してexe化したのですが、 libssp-0.dllがないというエラーが出てフリーズしました 放っておけばそのうちocraがバージョンアップで対応してくれるんでしょうか? プログラムは、 puts "hoge" だけです
947 名前:デフォルトの名無しさん mailto:sage [2020/11/24(火) 06:47:14.40 ID:/T/Ll6K6r.net] フォルダ名に日本語混ざってるとocra使えないからそれかもね
948 名前:デフォルトの名無しさん mailto:sage [2020/11/24(火) 06:50:52.14 ID:/T/Ll6K6r.net] 日本語Windows環境ならocraよりneri使ったほうがいいと思うよ
949 名前:デフォルトの名無しさん [2020/11/24(火) 07:16:55.53 ID:tcZG3tlz0.net] どちらもだめでした MinGWが64bitなのがいけないいんですかね? neriの場合は、「アプリケーションを正しく起動できませんでした」 と出ます 日本語は使ってないですよ
950 名前:デフォルトの名無しさん mailto:sage [2020/11/24(火) 09:00:20.18 ID:gfNKbZsOa.net] 最近同じエラー吐いてる人が多いからマルチバイト文字とかじゃなくてocraのバグじゃね 今つっかかってる場所はlibssp-0.dllの有無 libssp-0.dll入手して適切なフォルダに入れれば動くかもしれないし、それを超えてもまた次のエラーメッセージ出るかもしれない こういう場合むしろ古いバージョンのocraやrubyを使ったほうが正常に動いたりするよ 特定のバージョンとの相性で上手く動作したらむやみにアップデートしないことな
951 名前:デフォルトの名無しさん mailto:sage [2020/11/24(火) 09:01:18.97 ID:XRJpBbZB0.net] ひょっとして、フォルダ名・PC のユーザー名に、日本語を使っていないか? >neriの場合は、「アプリケーションを正しく起動できませんでした」 もっと正確なエラーメッセージを取得して、それで検索すれば? どういう理由で起動できないのかを、知りたい 色々な理由があるから、このメッセージだけでは原因を特定できない Linux みたいに、Windows には、OS のログとか無いのか?
952 名前:デフォルトの名無しさん mailto:sage [2020/11/24(火) 09:46:40.72 ID:gfNKbZsOa.net] 日本語じゃないって否定してんのに直前のレスも読めねーのか https://stackoverflow.com/questions/64368535/ruby-compile-with-ocra-error-libssp-0-dll-not-found Maybe you don't have the libssp-0.dll file installed. You can download it from https://www.dll-files.com/libssp-0.dll.html then placing the file where the error says.
953 名前:デフォルトの名無しさん [2020/11/24(火) 12:56:57.47 ID:tcZG3tlz0.net] neriのエラー アプリケーションを正しく起動できませんでした(0xc000007b)。[OK]をクリックしてアプリケーションを閉じてください。 libssp-0.dllはMinGWでgetするdllです バグか64bitに対応してないかのどちらかだと思います 暫く様子を見ることにしました あと古いバージョンも試してみます
954 名前:デフォルトの名無しさん mailto:sage [2020/11/24(火) 20:33:08.36 ID:GlJ0k2Kgr.net] こっちは64bit windows10でneri使えてるけどなぁ
955 名前:デフォルトの名無しさん [2020/11/25(水) 06:01:29.82 ID:vPLi7EhQ0.net] 2.4で動きました しかし自作のsoファイルをソースに含めると ocra test.rb --dll ddddd.so 実行すると FATAL ERROR: Bad signature in executable.
956 名前:デフォルトの名無しさん mailto:sage [2020/11/25(水) 12:15:29.69 ID:BeZXjuPe0.net] 自分でエラーを作っているから、原因は君にしか分からない そのエラーメッセージで検索すれば?
957 名前:デフォルトの名無しさん [2020/11/25(水) 12:51:53.26 ID:BeZXjuPe0.net] 文字列内にある、URL を抜き出す、URI.extract、 または、正規表現のURI.regexp は、 Ruby 2.2 から obsolete になっているけど、 それに代わるものは、何ですか? require 'uri' URI.extract("文字列", ['http','https'] ) p URI.regexp =~ "www.ruby-lang.org/" #=> 0
958 名前:デフォルトの名無しさん [2020/11/25(水) 16:47:47.83 ID:vPLi7EhQ0.net] >>914 neriでexe化できました ocraは相変わらずですが ありがとうございました!
959 名前:(u_・y) mailto:sage [2020/11/26(木) 17:59:03.02 ID:ACzSTlzfa.net] >>915 text =" https://i.imgur.com/UJbFSti.jpg www.ruby-lang.org/ " text.scan(URI.regexp).map { Regexp.last_match }.each { |uy| puts uy }
960 名前:デフォルトの名無しさん [2020/11/27(金) 02:05:30.36 ID:lOUpIwv20.net] >>917 出力 www.ruby-lang.org/ www.ruby-lang.org/ 2回とも、同じものが表示されるから、ダメ!
961 名前:デフォルトの名無しさん mailto:sage [2020/11/27(金) 07:36:58.12 ID:8Z+4V8c6r.net] text.scan(URI.regexp){|v| puts '%s://%s' % [v.shift, v.compact.join]}
962 名前:916 mailto:sage [2020/11/27(金) 08:41:48.24 ID:lOUpIwv20.net] text.scan( URI.regexp ){ |v| p v } 出力 [ "https", nil, nil, "i.imgur.com", nil, nil, "/UJbFSti.jpg", nil, nil ] [ "http", nil, nil, "www.ruby-lang.org", nil, nil, "/", nil, nil ] この奇妙な、nil は何? それに、:// が飛ばされている
963 名前:(u_・y) mailto:sage [2020/11/27(金) 16:29:26.66 ID:6fRHx8hla.net] てかURI.regexpもobsoluteだった
964 名前:デフォルトの名無しさん mailto:sage [2020/11/27(金) 17:54:13.89 ID:tPIe9OcJ0.net] https://bugs.ruby-lang.org/issues/2542 はっきりした理由は書いてないけど RFC2396自体がobsoleteになって新しくRFC3986/3987対応のregex考えるの大変だから URI.extract/URI.regexpはobsoleteになったように見える なので今の仕様で問題ないなら使えばいいんじゃないかって気がする warningを避けたいならURI::DEFAULT_PARSER.extractを直接使ってもいいけど中身は同じ もう少しちゃんとしたのがよければtwitter-textのExtractor.extract_urls
965 名前:デフォルトの名無しさん mailto:sage [2020/11/27(金) 21:04:45.51 ID:8Z+4V8c6r.net] qiitaにRFC3986対応の正規表現とか出てるけどそんな大変なのかね 詳しく知らんからなんも言えないけど
966 名前:デフォルトの名無しさん mailto:sage [2020/11/27(金) 21:32:51.26 ID:OZT1ua320.net] 多言語対応まで考えるとややこしいから、すっぱりあきらめたんやろ。
967 名前:デフォルトの名無しさん [2020/11/28(土) 11:23:25.42 ID:FGpMIdZG0.net] RFC3986に準拠したURI検証用正規表現 https://qiita.com/shimataro999/items/fced9665fa970c009c1e HTTP/HTTPS の所には、こういうのが出てくるから、これらが特殊文字なんだろう。 もっと簡単な正規表現で良い 終了点を知りたい。ある文字が出たら、そこで終わりみたいな。 URL で使われない文字 ^https?:\/\/ |[!$&'()*+,;=]|:)*@)? |[!$&'()*+,;=])*)(:\d*)? |[!$&'()*+,;=]|:)+ |[!$&'()*+,;=]|[:@]))*)* [-._~]
968 名前:デフォルトの名無しさん [2020/11/30(月) 03:48:29.64 ID:r8rQ87Qr0.net] コンテンツをファイルに書きこみながら、同時にハッシュ値も求める場合、 Go では、io.MultiWriter で、2回読み込まずに処理できるらしいが、 Ruby にも、こういう機能がありますか?
969 名前:デフォルトの名無しさん [2020/11/30(月) 20:22:04.13 ID:G81cwQG00.net] RailsチュートリアルをRubyの言語自体の入門書としてみた場合、一般的な入門書の何割ぐらいをカバーしてるものなのですか?
970 名前:デフォルトの名無しさん mailto:sage [2020/11/30(月) 21:45:48.29 ID:r8rQ87Qr0.net] Rails チュートリアルは軽く「たのしいRuby」の10倍以上はある MVC は、構造・デザインパターンなどを学ぶのが大変 おまけに、Linux・サイト製作の基本知識とか、 データベース・ERB・HTML・CSS/SASS・JavaScript・Webpack・テストとか
971 名前:デフォルトの名無しさん mailto:sage [2020/11/30(月) 22:12:15.34 ID:ifp6ptD/0.net] そして、それでいて文法やメソッドなどの基礎的なところをすっとばしている可能性が。w 要するに、方向性が違うので、どっちが他方をどう含んでるかは何とも言えんやろ。
972 名前:926 mailto:sage [2020/11/30(月) 22:44:30.64 ID:r8rQ87Qr0.net] 入門書で文法を学んだら、Enumerable のメソッドの内容を見てから、 プログラミングのお題スレの問題を解いたり、 テキスト処理などを少しやった方が良いと思う Rails チュートリアルは、時間が掛かるから まあでも、ウェブサイトの構築運用の最短距離は、Linux・AWS・Rails。 バックエンド・エンジニアなら、Linux・AWS・Ruby
973 名前:デフォルトの名無しさん mailto:sage [2020/12/01(火) 01:00:57.88 ID:bLJR8T1fa.net] 3割くらいじゃね あと別にrubyの魔術コードを書けたり読めたりしなくても生きていける
974 名前:デフォルトの名無しさん mailto:sage [2020/12/01(火) 21:27:16.65 ID:gqqffooe0.net] ちょ、DateTimeがdeprecatedになってるんですが・・・ これいつから?
975 名前:デフォルトの名無しさん mailto:sage [2020/12/01(火) 23:02:19.70 ID:uBfLZ+080.net] さすがRuby!w おどろきの互換性。
976 名前:デフォルトの名無しさん mailto:sage [2020/12/01(火) 23:28:41.06 ID:KOqkaYUf0.net] wwwwww
977 名前:デフォルトの名無しさん mailto:sage [2020/12/02(水) 10:02:26.56 ID:WhLorZrAM.net] 2.5からだね なお英語版ドキュメントへの記載を忘れていたためRails勢には全く認知されておらず最近になって混乱を引き起こしている模様 これがRubyクォリティ
978 名前:デフォルトの名無しさん mailto:sage [2020/12/02(水) 10:21:56.70 ID:s/Tj40p50.net] な?ww マイナーバージョンアップで互換性崩れるだろ?www
979 名前:デフォルトの名無しさん mailto:sage [2020/12/02(水) 12:09:59.52 ID:X5mOhjXr0.net] >>935 2.5からというソースある?
980 名前:9末に特にアナウンスもなく変更されてるように見えるんだけど https://github.com/rurema/doctree/commit/0645aad1d9107fa4020269f12ca9a21ec6bd859c deprecatedになっても削除されるものじゃないから実害はないんだけど さすがにこれはやり方が乱暴 [] [ここ壊れてます]
981 名前:デフォルトの名無しさん [2020/12/02(水) 12:39:09.20 ID:vDg6xkSY0.net] DateTime は非推奨で、代わりに、Time を使うこと。 つまり、Date, Timeを使う DateTime < Date < Comparable Time < Comparable
982 名前:(u_・y) [2020/12/02(水) 17:21:15.67 ID:LINF+1vva.net] https://docs.ruby-lang.org/ja/2.4.0/class/DateTime.html https://docs.ruby-lang.org/ja/2.5.0/class/DateTime.html
983 名前:デフォルトの名無しさん mailto:sage [2020/12/02(水) 22:11:56.65 ID:n0CYjqknr.net] >>936 互換性は崩れてないじゃん
984 名前:デフォルトの名無しさん mailto:sage [2020/12/02(水) 23:36:25.61 ID:26rcFOAE0.net] deprecatedで混乱するもんなの? 廃止じゃないでしょ?非推奨でしょ? そりゃ書き換えないといけないが 普通deprecatedになってから書き換えるでしょ?
985 名前:デフォルトの名無しさん mailto:sage [2020/12/02(水) 23:39:12.64 ID:26rcFOAE0.net] Ruby開発勢ならなんでいきなりdeprecatedになってるんだ?って なるかもしれないけど、Rails勢は所詮Ruby使ってるだけの人たちだし
986 名前:デフォルトの名無しさん mailto:sage [2020/12/03(木) 03:48:48.84 ID:1lle3h49a.net] その身朽ちても仕様変更の激しい言語の代名詞としてruby生き残ったりして
987 名前:デフォルトの名無しさん mailto:sage [2020/12/03(木) 03:50:09.86 ID:QOvIykSz0.net] 言語界のテセウスの船wwww
988 名前:デフォルトの名無しさん mailto:sage [2020/12/03(木) 04:49:29.49 ID:GO6EbsS10.net] rails自体によるdeprecatedなんていくらでもあるしそんなに騒ぐようなものでは無い
989 名前:デフォルトの名無しさん mailto:sage [2020/12/03(木) 09:35:07.22 ID:QOvIykSz0.net] 名実ともにrailsが本体、rubyはそのバッテリーだなwww
990 名前:デフォルトの名無しさん mailto:sage [2020/12/03(木) 10:20:11.90 ID:2qogV6iv0.net] >>939 ソースの https://github.com/rurema/doctree/blob/master/refm/api/src/date/DateTime では バージョンに関係なく deprecated になってるから、まだ変更が反映されてないだけですね require 'open-uri' %W[ 2.3.0 2.4.0 2.5.0 2.6.0 2.7.0 ].each{|ver| open( "https://docs.ruby-lang.org/ja/#{ver}/class/DateTime.html" ) {|f| puts "#{ver} #{( f.read.force_encoding( Encoding::UTF_8 ).match( /\bdeprecated\b/ ) )? "true ": "false"} #{f.last_modified.localtime.strftime( '%Y/%m/%d %T %z' )}" } } #=> 2.3.0 false 2018/08/19 18:16:47 +0900 2.4.0 false 2020/04/10 09:17:55 +0900 2.5.0 true 2020/10/25 09:17:38 +0900 2.6.0 true 2020/10/25 09:17:11 +0900 2.7.0 true 2020/10/25 09:16:43 +0900 >>937 仰るとおり、9月の変更が反映されているかどうかのようです
991 名前:デフォルトの名無しさん mailto:sage [2020/12/03(木) 12:06:44.28 ID:7EFKRkup0.net] 先日のURIのやつもそうだけど、過剰でもう手におえなさそうな実装を切ろうとしてんのかな。 来るべきRuby3に向けてか?
992 名前:デフォルトの名無しさん mailto:sage [2020/12/03(木) 12:09:49.47 ID:Glofd6fS0.net] >>947 なるほど、2.4はサポート切れてるから2.5以降だけリファレンスを更新したんだろうね Railsとか本番で使うシステムは特殊な用途以外はTimeかTimeWithZone使ってるから別にいいんだろうけど ちょっとしたツールでactivesupport使うまでもないようなものはTimeじゃなくDateTime使うことが多かったから 急にdeprecatedになってて驚いた
993 名前:デフォルトの名無しさん mailto:sage [2020/12/03(木) 18:12:31.59 ID:PfGMH4zi0.net] deprecatedで驚くのは中級以上の証 初心者は「まぁ動いてるからヨシ!」
994 名前:デフォルトの名無しさん mailto:sage [2020/12/03(木) 20:52:46.44 ID:rS3QJvGw0.net] ルビー初心者なんですがうまく動かなくて悩んでいます。 ここで
995 名前:ソ問さしていただいてもいいでしょうか? [] [ここ壊れてます]
996 名前:デフォルトの名無しさん mailto:sage [2020/12/03(木) 21:12:35.91 ID:hX6RFB1N0.net] どうぞ
997 名前:デフォルトの名無しさん mailto:sage [2020/12/03(木) 21:16:41.53 ID:QtB29qoZr.net] >>951 OSとruby -vの結果とエラーログを貼ってください。
998 名前:デフォルトの名無しさん mailto:sage [2020/12/04(金) 00:07:56.54 ID:fauI+lK+0.net] ありがとうございます CentOS 7.8上に Ruby2.5.8 + Rails4.2 + MySQL8.0 で立てる、ごく普通の Webアプリを構築しています。nginxは1.16です ログイン画面で認証(sorcery)したら次画面に自分が所属する店の売り上げを 表示する、というアプリを作っているのですが、店の売り上げはログインした ユーザに関する店の情報だけ出せば良いので、ActiveRecordのdefault_scopeを 使って、current_userのユーザ情報を元にscopeを設定しています おおむねこんな感じです default_scope { where(shop: current_user.show) }
999 名前:デフォルトの名無しさん mailto:sage [2020/12/04(金) 00:12:58.79 ID:fauI+lK+0.net] current_user情報の保持はRsquestStoreを使っています うまく動いていないのは、このRequestStoreを介したcurrent_user情報が modelのdefault_scopeの中でうまく不具現できないときがあるのです うまく動くときもあるだけに逆に難儀しています たまにcurrent_userの情報が直前にログインしていた別のユーザの情報と なっている事が合って、default_scopeが期待した動きになりません。 デバッグで確認してみると、controller上でRequestStoreからcurrent_userを 復元させる場合は必ず期待通りに現在ログイン中のユーザの情報になりますが model内で同じ事をやると正しく復元できたり出来なかったりします model内でRequestStoreを使用するのがそもそも間違っているのでしょうか?
1000 名前:デフォルトの名無しさん [2020/12/04(金) 11:46:23.71 ID:sfksvFP90.net] Rails 4.2 は古い 今は、Rails 6 の本も数冊出てる。 最低でも、Rails 5 以上 パーフェクト Ruby on Rails、2020/7、には、 scope とは再利用するクエリに、名前を付けるものって書いてある class Book < ApplicationRecord scope :costly, -> { where( "price > ?", 3000 ) } end これで、Book.costly と書けば、 Book.where( "price > ?", 3000 )となる
1001 名前:954 mailto:sage [2020/12/04(金) 11:58:35.47 ID:sfksvFP90.net] 同じ本に、default_scope は使うなって書いてある そのモデルクラスのすべての操作に、暗黙的に適用されるため、 逆に適用しない場合に、 Book.unscoped.where(何々)みたいに、 一々、unscoped で取り消さないといけないから、初心者を惑わすから
1002 名前:デフォルトの名無しさん mailto:sage [2020/12/04(金) 13:08:31.79 ID:tBcZspOUM.net] >>955 まずはcurrent_userを設定してるところに問題ないか見直したほうがいいんじゃね?
1003 名前:デフォルトの名無しさん mailto:sage [2020/12/08(火) 13:45:26.29 ID:/FLfc1Yi0.net] anemoneが更新されていないのですが、 代替えってありますか?
1004 名前:デフォルトの名無しさん mailto:sage [2020/12/08(火) 15:24:37.53 ID:L/fvSJtl0.net] >>959 kimurai, spidr
1005 名前:デフォルトの名無しさん mailto:sage [2020/12/08(火) 16:31:36.83 ID:/FLfc1Yi0.net] >>960 あざっす
1006 名前:デフォルトの名無しさん mailto:sage [2020/12/10(木) 20:38:12.66 ID:TEgFYOMiM.net] DBロールバックっていつ使うんすか? マイグレしたあとにリクエスト処理してロールバックしたらデータ整合性崩れない? NULL不可をNULL可能にマイグレ→NULLデータ追加→ロールバック→戻せなくて死亡 みたいな感じ? バックアップダンプファイルからリストアじゃイカンのかな
1007 名前:デフォルトの名無しさん mailto:sage [2020/12/11(金) 02:39:12.75 ID:ExAO4AKO0.net] >>962 トランザクションの基礎を勉強しなさい アプリを実際に作りなさい 経験がなさすぎる
1008 名前:デフォルトの名無しさん mailto:sage [2020/12/11(金) 08:54:21.70 ID:Ollsi5
] [ここ壊れてます]
1009 名前:9NM.net mailto: >>963 あーそっちのロールバックじゃなくてマイグレのロールバックな [] [ここ壊れてます]
1010 名前:デフォルトの名無しさん mailto:sage [2020/12/11(金) 10:55:45.84 ID:vQm1aiEb0.net] >>964 それは「Ruby」「初心者」スレで聞くことなのか?
1011 名前:デフォルトの名無しさん mailto:sage [2020/12/11(金) 11:49:56.62 ID:s+ujdTab0.net] >>962 もし戻す必要が出た場合にそれまでの間に追加・更新されたデータをどうするか先に考えておく必要がある NOT NULLに戻す場合はchange_column_nullだけで対処可能だからそんなに問題にならない バックアップから戻したら追加・更新されたデータが消える
1012 名前:デフォルトの名無しさん mailto:sage [2020/12/11(金) 12:49:02.80 ID:PpUdey1gM.net] >>965 初心者といったらruby rubyといったらrails railsといったらmigration
1013 名前:デフォルトの名無しさん mailto:sage [2020/12/11(金) 12:57:56.46 ID:PpUdey1gM.net] >>966 ふむ マイグレのセマンティクスをよく考えて個別にロールバックを実装していくしかないのかな でもそれだとロールバック実装コストがかなり高く付きそうではあるな どうせロールバックは緊急時にしか使わないわけであって だったらロールバックは捨ててバックアップリストアでもいいんじゃないかなと
1014 名前:デフォルトの名無しさん mailto:sage [2020/12/11(金) 16:10:31.24 ID:s+ujdTab0.net] >>968 実装しないとしても戻す必要が出た場合にどう対応するのかを事前に検討しておく 検討の結果、実装しない選択をするんであればいいけど 何も考えずバックアップリストアでいいとか言ってると確実にGoToトラブル ロールバック時に必要な対応も考慮して アプリは戻してもDBは戻さなくていいような方法を取ることもよくある
1015 名前:デフォルトの名無しさん mailto:sage [2020/12/11(金) 19:19:15.81 ID:jyJfdkePM.net] .そもそも戻す必要性を可能な限り無くすために実データレプリカを含む膨大なデータセットでテストする .運悪く戻す場合も安易なロールバックに頼らず修正マイグレーションを開発して緊急リリースする .それでもだめなら神頼みロールバック .それでもだめならバックアップリストア これでOK
1016 名前:デフォルトの名無しさん [2020/12/13(日) 01:03:58.24 ID:bSx7ciZe0.net] 1. まず、これから更新するデータを、ジャーナルに書き込む 2. 実際に更新する 3. ジャーナルから記録を消す だから、ジャーナルに記録があれば、更新できなかったと言う事。 その場合、回復ポイントから、ジャーナルにある分だけ更新していく(roll forward) レアケースで、2が正常に終わった後、3でエラーになった場合は、 回復ポイントから、ジャーナルにある分だけ更新していく過程で、 既に正常に更新されている事を、チェックする
1017 名前:デフォルトの名無しさん mailto:sage [2020/12/13(日) 01:12:39.96 ID:bSx7ciZe0.net] Kubernetes では、ネットワーク分断に備えて、 マスターを、3, 5, 7個の奇数にしておく 奇数なら、2:1 とか、過半数を取れるから、多数派を正常として扱う事ができる 偶数なら、2:2 とか、1:1:2 などに分断されても、 どのグループも過半数が取れず、判断できなくなる
1018 名前:デフォルトの名無しさん mailto:sage [2020/12/13(日) 01:24:25.52 ID:bSx7ciZe0.net] AWS S3 では、3重に記録してる それを災害に備えて、東京・大阪の2か所に保存する。 つまり、6重
1019 名前:デフォルトの名無しさん mailto:sage [2020/12/13(日) 22:16:52.20 ID:bSx7ciZe0.net] Software Design 12月号は、Docker, AWS 特集だけど、 クラスメソッドの社員が、AWS 主要サービスを紹介している クラスメソッドには会社全体で、AWS の800資格を持ち、 12資格すべてを持つ、マスターが7人いる MySQL・PostgreSQL 互換のAurora について、 1つのAZ(データセンター)毎に、2つずつ、合計3つのAZで6重にしてる。 Primary に2つと、Read Replica 2つに、2つずつ >>2 Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11/25 宇宙開発などの
1020 名前:組み込み用、Lua, Squirrel の代替になる。 Ubuntu 18.04, C99 対応 [] [ここ壊れてます]
1021 名前:(u_・y) mailto:ruby [2020/12/15(火) 18:08:34.40 ID:02qf4hkKa.net] (u_・y)言うほどRubyで書いた制御システム詰んだ宇宙船に乗りたいか?
1022 名前:デフォルトの名無しさん [2020/12/16(水) 03:27:02.65 ID:0pLL+JPf0.net] F-15はエイダ、F-22、F-35はC++で書かれてる。
1023 名前:デフォルトの名無しさん mailto:sage [2020/12/22(火) 20:07:12.86 ID:aAJmKFvh0.net] ruby3って3倍速くなった?
1024 名前:デフォルトの名無しさん mailto:sage [2020/12/22(火) 20:48:04.60 ID:0svuoGhO0.net] 全体の0.1%が3倍速くなった
1025 名前:デフォルトの名無しさん mailto:sage [2020/12/22(火) 21:18:44.50 ID:10xc+AYD0.net] www
1026 名前:デフォルトの名無しさん [2020/12/24(木) 03:08:33.92 ID:qBLsz+9E0.net] Ruby VM では、1秒間に、100万回ループすると、 Ruby中間言語を、JIT で機械語にコンパイルして、 1秒間に、1,000万回ループ出来るようになる もう、10倍になってる!
1027 名前:デフォルトの名無しさん mailto:sage [2020/12/24(木) 08:31:42.54 ID:7F4cW8XH0.net] いや指定した数だけループしろよ 何勝手に回数10倍に増やしとんじゃい
1028 名前:デフォルトの名無しさん [2020/12/24(木) 11:17:26.40 ID:TzdYJrci0.net] 三倍速い赤い奴! 人民解放軍!
1029 名前:デフォルトの名無しさん [2020/12/24(木) 15:48:27.18 ID:W/9MTNsy0.net] Rubyを使ってunityでゲームを作る事は可能ですか?
1030 名前:デフォルトの名無しさん mailto:sage [2020/12/24(木) 15:57:07.62 ID:uFIcYFKMM.net] 何その苦行 可能だったとしてそれでおとなしくC#でやるより簡単になるとでも思ってんの?
1031 名前:デフォルトの名無しさん mailto:sage [2020/12/24(木) 19:13:03.26 ID:5YZuSfe/0.net] >>983 現実的に不可能。 Ruby→C#トランスレータが存在すれば可能かも?w
1032 名前:デフォルトの名無しさん mailto:sage [2020/12/25(金) 01:13:50.85 ID:8LlCCPCm0.net] mrubyとかみたいな感じでなんかできないかね。
1033 名前:デフォルトの名無しさん mailto:sage [2020/12/25(金) 01:24:54.53 ID:cyV6b5qO0.net] 何その苦行 可能だったとしてそれでおとなしくC#でやるより簡単になるとでも思ってんの?
1034 名前:デフォルトの名無しさん mailto:sage [2020/12/25(金) 01:50:36.29 ID:J4ouM17Ca.net] >>985 Rubyからunityを呼び出せば原理的には可能じゃないの? そんなめんどくさいことを誰がやるのかという問題はあるけど
1035 名前:デフォルトの名無しさん mailto:sage [2020/12/25(金) 01:56:34.02 ID:DE1iEGh90.net] >>988 それのどこが「Rubyを使ってunityでゲームを作る事」なの?
1036 名前:デフォルトの名無しさん [2020/12/25(金) 22:24:56.42 ID:DVzhLIY40.net] 松原案件でRuby松本メルカリ弟は絶対死亡になりました byねね室原幕府色彩空間
1037 名前:デフォルトの名無しさん mailto:sage [2020/12/25(金) 23:45:34.05 ID:aa9Khe9z0.net] Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11/25 この本を読んだ印象では、 宇宙開発などの組み込み用、Lua, Squirrel の代替になる Apache などのミドルウェアに組み込んで、拡張機能を作る。 ロジック・文字列処理は、C よりも、GC のあるmrubyでやった方が、安全性が高い Unity, Xamarin は、Mono か。 Mono とは、Linux で、C# を動かす、.NET 用のOSS Mono に組み込んで使えるかも知れない 次スレ Ruby 初心者スレッド Part 67 https://mevius.5ch.net/test/read.cgi/tech/1608837867/l50
1038 名前:デフォルトの名無しさん mailto:sage [2020/12/26(土) 10:11:10.42 ID:q2RopqqH0.net] mrubyの本にmrubyは使い物になりませんなんて書いてあるわけないだろ 小学生かよマルチに引っ掛からないようにな
1039 名前:デフォルトの名無しさん mailto:sage [2020/12/30(水) 10:46:44.30 ID:nbKcCzET0.net] unlimited対応なRuby3本マダー
1040 名前:989 [2021/01/25(月) 12:01:43.51 ID:+q31tGtg0.net] mruby で作った、小型人工衛星イザナミの打ち上げが成功した! mruby 製の1号機が『イザナギ』、2号機は『イザナミ』
1041 名前:デフォルトの名無しさん [2021/01/27(水) 11:48:55.98 ID:cJSBZXf90.net] 三代目 ヒルコ
1042 名前:デフォルトの名無しさん [2021/01/31(日) 15:1
] [ここ壊れてます]
1043 名前:4:05.39 ID:nfjawlju0.net mailto: デスクトップにショートカットを作って、 それに複数のフォルダ/ファイルをドラッグアンドドロップ(D&D)して、 それらのフルパスを取得してみた まず、デスクトップのa.rb に、 puts ARGV と書いて、そのショートカットを作る ショートカットのリンク先を、コマンドプロンプトとする。 cmd@.exe で、ruby で、a.rb を実行する。 C:\Windows\System32\cmd@.exe /k "ruby a.rb" 書き込めないので、@を付けましたが、 cmd@.exe の、@を抜いてください これで、ショートカットにD&Dした、すべてのフォルダ/ファイルのフルパスが表示される 出力 C:\Users\〜 C:\Users\〜 [] [ここ壊れてます]
1044 名前:デフォルトの名無しさん [2021/02/10(水) 17:18:18.24 ID:eXs8qevw0.net] autoload は、モジュールを使う場合にだけ、require されて、 使わない場合には読み込まないので、非常にエコだと思ったけど、 autoload で相対パスを読み込む、require_relative が無いのは不便
1045 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 08:27:23.75 ID:PHAHurb8a.net] >>991 次スレありがとう! こっち埋めておくね
1046 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 08:27:37.46 ID:PHAHurb8a.net] うーめ
1047 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 08:27:51.32 ID:PHAHurb8a.net] 埋めておきます
1048 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 08:28:03.41 ID:PHAHurb8a.net] 埋めたい
1049 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 08:28:16.84 ID:PHAHurb8a.net] 1000
1050 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 405日 7時間 12分 43秒
1051 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています