- 1 名前:デフォルトの名無しさん [2020/12/25(金) 04:24:27.68 ID:aa9Khe9z0.net]
- プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ
質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。 Ruby on Rails については、WEBプログラミング板で 前スレ Ruby 初心者スレッド Part 66 https://mevius.5ch.net/test/read.cgi/tech/1578068134/ るりまサーチ (リファレンス検索) 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
- 504 名前:デフォルトの名無しさん mailto:sage [2022/08/12(金) 20:37:25.73 ID:Ly5UHJxV0.net]
- まじか。ブートキャンプなんかもチェックしてrubyを選択してるところが多かったから最初のチョイスにはいいのかと思ったんだけど
- 505 名前:デフォルトの名無しさん mailto:sage [2022/08/12(金) 20:39:57.30 ID:3I6JE0fzr.net]
- スタートアップでRubyも一時期に比べれば減ったけど全体として少なくはないと思うがなぁ
まあGoやれには同意
- 506 名前:デフォルトの名無しさん mailto:sage [2022/08/12(金) 21:08:08.21 ID:EhKo6h0UM.net]
- >>504のスキル次第かな
プログラミング教育ビジネスでRubyの採用が比較的多い理由はPHPと同じで、 技術スタックが固定されていてRoRの使い方さえ覚えれば一応仕事らしいことはできるから 一方でNodeやGoだとまずAWSやGCPでインフラを設計して、、となっちゃうから前提知識が多く、教える人にとっても難しいわけだね 504がどうかは知らないけど業務系の出身の人ってペチパー上がりのWeb系に比べりゃネットワークやDBなど基盤技術に強い人が多いから、 まずはAWS SAを取るくらいを目標にしたほうがモノになりやすいかもしれない
- 507 名前:デフォルトの名無しさん mailto:sage [2022/08/12(金) 22:14:25.50 ID:jxfg8mfTM.net]
- >>504
Webアプリについて学ぶならRubyからはじめるのは今でも一番効率いいよ C#とかやってるならそのままASP.NET MVCやるといい Javaの場合はSpringやSpring Bootやる前にRails一通り学んだ方が学習効率が高い
- 508 名前:デフォルトの名無しさん mailto:sage [2022/08/13(土) 16:42:11.13 ID:g83/7zbCM.net]
- のっけからフレームワークって学ぶ順番としてどうなんだろ
- 509 名前:デフォルトの名無しさん mailto:sage [2022/08/13(土) 18:08:03.40 ID:G/JCqKHoM.net]
- >>508
それなりの多くは、なっちゃってエンジニアだと思うんだけど、ほとんどコピペでフレームワークを学ぶ!?雰囲気で使っている感じやんね。
- 510 名前:デフォルトの名無しさん mailto:sage [2022/08/13(土) 21:20:26.00 ID:716PWe/D0.net]
- TCP/IPからやれとはいわんけど
変なブログの情報どまりじゃなくMDNをリファレンスにしてくれれば迷惑はかけないかな
- 511 名前:デフォルトの名無しさん mailto:sage [2022/08/16(火) 06:37:29.62 ID:nv4Pd6maa.net]
- アプリ作ってるけど、Ruby選んだのにRubyは俄然200行程度に対してJSソースがその10倍の量になった事をご報告
- 512 名前:デフォルトの名無しさん mailto:sage [2022/08/19(金) 13:31:40.23 ID:Gwz5c/EG0.net]
- Rubyガイジがこのスレに誘導しているみたいだけど
今更Rubyなんて流行らないし>>503でも指摘されているけど 新規案件でRubyやRailsなんて採用しないから初心者が勉強するだけ無駄だぞw
- 513 名前:882 mailto:sage [2022/08/19(金) 22:25:12.76 ID:2b9NNsS1M.net]
- 色んなプログラ厶スレで
rubyスレ誘導はってる人がいるよね
- 514 名前:デフォルトの名無しさん mailto:sage [2022/08/19(金) 22:36:16.14 ID:kD1PYwgK0.net]
- せいぜいがんばってください
- 515 名前:デフォルトの名無しさん mailto:sage [2022/09/02(金) 12:46:17.31 ID:SPKoKVwi0.net]
- ブロックスコープを作って、そのスコープ内だけで使える変数を作るには
どうすればいいのでしょうか? a = 1 { let a p a # nil } p a # 1
- 516 名前:デフォルトの名無しさん mailto:sage [2022/09/02(金) 13:58:50.26 ID:0IIX0tzu0.net]
- a = 1
->(a = nil) { p a }[] p a ただrubocop(linter)に怒られる
- 517 名前:デフォルトの名無しさん mailto:sage [2022/09/02(金) 15:50:30.29 ID:SPKoKVwi0.net]
- >>516
サンクス
- 518 名前:デフォルトの名無しさん mailto:sage [2022/09/04(日) 11:03:45.79 ID:d+yqMU9C0.net]
- thenも使えそう
a = 1 nil.then { |a| p a } p a そもそもメソッドじゃ駄目なんだろうか
- 519 名前:デフォルトの名無しさん mailto:sage [2022/09/04(日) 14:18:23.63 ID:nDhKbeBy0.net]
- 書式設定これが見通し良くない?
無駄な#が有効利用できるからな 採用していいぞ n = 123 name = "山田太郎" puts "#05d{ n }番目は#10s{ name }です"
- 520 名前:デフォルトの名無しさん (オイコラミネオ MM1b-366i) [[ここ壊れてます] .net]
- 今日から三日間開催されているRubykaigi(Ruby会議)にて、Wasm化の話が
議題になっているらしい。
- 521 名前:デフォルトの名無しさん mailto:sage [2022/09/08(木) 21:57:50.38 ID:EF/qt7ve0.net]
- >>504
YouTube で有名な雑食系エンジニア・KENTA は、下の動画で、 未経験者はシェアが高い、Ruby on Rails でポートフォリオを作れと言ってる Django, Laravel はダメ。 特にKENTAは、PHP, Scala をオワコン認定したので、使わない方がよい 未経験からのエンジニア転職の必須教養【技術知識編】 www.youtube.com/watch?v=Q1c09rrhTjo Railsは、KENTAのサロン以外にも、RUNTEQ、東京フリーランスのデイトラなど色々ある Node.js など最悪。面倒くさすぎて勉強にならない。 Go も初心者向きじゃないので、 KENTAが勧めるキャリアパスは、Rails → Go のみ KENTAのサロンのAWS 部で皆、AWSのくろかわこうへいのサロンへも入る。 くろかわのサロンの生徒、数十人で書いた本も出てる 以下がバックエンドの最短コース Rails, Bootstrap, jQuery から始めて、 Linux, Docker, Heroku, AWS, CircleCI, Github Actions 猛者になると、Terraform, Kubernetes。 ここまで行けば、どの会社よりも上
- 522 名前:デフォルトの名無しさん mailto:sage [2022/09/08(木) 22:12:49.56 ID:EF/qt7ve0.net]
- >>488
データベース(DB)に、2千社・2億レコードあるけど、全く問題ないと外人が言ってた N+1 で一々、問い合わせをしたり、 多対多などで、索引なしで総当たりみたいな事をやっているとか? DBの実行計画を見た方がよい ミックの本も読んだ方がよい。 副問い合わせを、case に書き換えるとか、書いてあったような気がする。 よく覚えていないけど データベース資格の問題を解くとか
- 523 名前:デフォルトの名無しさん mailto:sage [2022/09/08(木) 22:38:48.48 ID:EF/qt7ve0.net]
- >>478
漏れが作った、webrick のデモならあった require 'webrick/cgi' class MyCGI < WEBrick::CGI def do_GET(req, res) res["content-type"] = "text/plain" ret = "get\n" res.body = ret end def do_POST(req, res) res["content-type"] = "text/plain" ret = "post\n" res.body = ret end end MyCGI.new.start()
- 524 名前:デフォルトの名無しさん (アウアウウー Sa8b-Iguz) mailto:sage [[ここ壊れてます] .net]
- 1か月よりも前なので解決してたりします
- 525 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 16:40:11.60 ID:nscVoUcha.net]
- ちょっと厄介な事かもしれないですが、配列にuniqやった時に
[1,2,3,4,2].uniq これで 一番後ろの2が削除されて[1,2,3,4]になるじゃないですか uniqした後の結果を[1, 3, 4, 2]にしたい時は [1,2,3,4,2].reverse.uniq.reverse こう2回reverseやるしか無いでしょうか? reverse消すのを試みていたんですが上手い方法が思いつきません
- 526 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 23:04:33.89 ID:Un8DgV3E0.net]
- uniq後の順序に依存した実装って気持ち悪いけどドキュメント読んでみると一応保証はされてるのか
- 527 名前:デフォルトの名無しさん mailto:sage [2022/09/11(日) 15:57:11.70 ID:rzWFC1+la.net]
- ちょっと無理そうですね
データ構造のほうが逆順だったらreverse無しで良かったんですが そっちはもう換えられないのでこのままにしときます
- 528 名前:デフォルトの名無しさん mailto:sage [2022/09/11(日) 16:22:50.85 ID:t3QuDbs+0.net]
- reverseをreverse_eachにしたら中間のArrayは無くせる
- 529 名前:デフォルトの名無しさん mailto:sage [2022/09/26(月) 19:18:46.78 ID:m/z6XQ/+0.net]
- scan.map.delete_if.delete_if.shuffle[1,20]
とかなっても意地で1行で書くのが真のプログラマなの?
- 530 名前:デフォルトの名無しさん mailto:sage [2022/09/26(月) 20:06:14.07 ID:K2FDfZLG0.net]
- 突然どうした
職場のグチか?
- 531 名前:デフォルトの名無しさん (ワッチョイ 9e66-Y+SS) mailto:sage [[ここ壊れてます] .net]
- delete_ifが2つ続いてるとか
mapした後にdelete_ifとか 何か良くない匂いがするとは思う
- 532 名前:デフォルトの名無しさん mailto:sage [2022/09/27(火) 15:25:57.97 ID:+SNgMDTOM.net]
- >>529
意図が伝わりやすければメソッドチェーンでつなげること自体は何の問題もない ただ1行で書くかと言われれば普通は改行して読みやすくメンテしやすくする 1行でも許容できる内容かどうかは引数含めて書いてもらわないとなんとも言えない
- 533 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 17:10:39.21 ID:BXnMv7Uva.net]
- 最近メソッド10個くらい繋げたコード書いたけどごく当たり前のコーディング
真のPGはmethod_missingの魔術コード書ける人だよ
- 534 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 17:43:18.00 ID:BXnMv7Uva.net]
- サーバー側のrubyバージョンが古い時にローカル実行用スクリプトで3.0機能使ったコード書いていいものか迷う
もしかしたらいつかサーバー側にコード持っていく可能性もある 書いてもいいのかな?
- 535 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 18:23:25.60 ID:FVicjk6YM.net]
- どうせコンテナで動かすんだからどうでもいいだろ
今時サーバーにグローバルにインストールされたRubyに依存してるような腐った運用してる環境なら、イキって変なことするのはやめておけ
- 536 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 18:40:33.30 ID:BXnMv7Uva.net]
- コンテナ?
3日1回程度実行するスクリプトをこっちで行うかサーバーに持ってくかという話 こっちもpc常時起動してるわけじゃないから、正確に確実に実行するならサーバーで走らせ続けるほうが楽ではあるが ここまで書いて気づいたけどサーバーのメモリ余計に使う事になるからやっぱやめる
- 537 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 19:07:17.74 ID:fVRflvZP0.net]
- サーバの古いRubyコードをモジュールで使うわけじゃないなら
枯れたPerlで書けば解決
- 538 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 21:33:55.99 ID:BXnMv7Uva.net]
- ん?いや古いモジュールとかじゃなくて、
ローカル実行でもサーバー実行でも良いコードを、どちらへもっていくか みたいな話
- 539 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 22:47:37.12 ID:sYls8uor0.net]
- いまどきのRubyで書くと互換性の問題がでるなら
いっそPerlで書いたらという話
- 540 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 22:59:32.60 ID:7XofIB3Ar.net]
- >枯れたPerlで書けば解決
正しいこと言ってるのに何故だか寂しくなる
- 541 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 23:22:18.60 ID:BXnMv7Uva.net]
- Perlはないかなー
3.0だと構築しやすい環境があって それがサーバーバージョンだと構築できるか不明で、 Perlだと普段使ってないんで Perlのどのバージョンでどのモジュールバージョンがインストール有効か全く知らないので、さらに構築できる可能性が薄い、、
- 542 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 09:14:41.01 ID:S94uJYpZ0.net]
- こういうのもYAGNIって言うのかな?
- 543 名前:デフォルトの名無しさん mailto:sage [2022/10/02(日) 23:00:07.08 ID:P9RAxpp00.net]
- Perlの互換性をあなどるな!
Rubyごときの常識では測れぬぞ!
- 544 名前:デフォルトの名無しさん mailto:sage [2022/10/03(月) 22:36:01.59 ID:mZNxA8zN0.net]
- perlは28年メジャーバージョン変えてないだけだろw
変えたらモジュールが全く付いていかず 後付けで別言語だったことにされた始末w 7にすると言った後もスルスル詐欺。もう崩壊寸前。
- 545 名前:デフォルトの名無しさん mailto:sage [2022/10/04(火) 10:04:15.06 ID:bSK5XELIM.net]
- rubyも変えない基本機能だけ永年保証版をつくればいいか
- 546 名前:デフォルトの名無しさん mailto:sage [2022/10/04(火) 22:14:05.98 ID:UryqQ3PG0.net]
- 先がないって意味では似た者同士
- 547 名前:デフォルトの名無しさん mailto:sage [2022/10/05(水) 08:09:51.42 ID:I8FgU9ZAa.net]
- rubyで書かれたサイトはみんな死んでperlで書かれたmixiが生き残った
これも現実
- 548 名前:デフォルトの名無しさん mailto:sage [2022/10/05(水) 20:16:53.48 ID:CqdeFZnf0.net]
- >>544
Perl7は、Perl5最終版をほぼそのまま引き継ぐんやろ。 せやから問題ないはず!
- 549 名前:デフォルトの名無しさん mailto:sage [2022/10/05(水) 21:04:39.92 ID:qbCtmsWUa.net]
- perlの省略記法が上手くrubyにくれば文句ないんだけどな
_1 ってところまでは来たけどあと少し マジックナンバーも覚えちゃえば効率良い
- 550 名前:デフォルトの名無しさん mailto:sage [2022/10/05(水) 21:34:32.70 ID:2RK+LAqWr.net]
- perlの省略記法好きなんだけどプロジェクトだと使いづらいんだよな……
- 551 名前:デフォルトの名無しさん [2022/10/10(月) 21:33:09.97 ID:mVWGK/1kp.net]
- 教えてください。
redditのr/rubyを読んでいて、以下のようなサンプルコードを書く人がいました。 lambda do p 1 p 2 p 3 end[] lambda { p 1 p 2 p 3 }[] -> { p 1 p 2 p 3 }[] このサンプルを書いた人は、Procとか、lambdaを使った書き方の違いを説明したかったようなので 議論の本質から外れるのですが、 Endや}の後の[]は、どんな意味があるかお分かりになりますでしょうか。
- 552 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 21:54:11.50 ID:vcZFFA/Ea.net]
- https://docs.ruby-lang.org/ja/latest/method/Proc/i/=3d=3d=3d.html
lambdaメソッドで生成したProcオブジェクトの実行です
- 553 名前:デフォルトの名無しさん (オッペケ Sr03-mdlF) mailto:sage [[ここ壊れてます] .net]
- callしてるんでしょ
- 554 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 14:17:27.31 ID:17+/w9Hg0.net]
- 手続きオブジェクト・Proc は、
Proc.new, Kernel#proc, Kernel#lambda, -> 引数{ 処理 } で作れます。 Procを呼び出すには、Prco#call, Proc#[] を使う g = -> x, y { x + y } p g.call( 3, 4 ) p g.( 3, 4 ) p g[ 3, 4 ] p -> x, y { x + y }[ 3, 4 ] これらは全て、7 と出力される 最後のものは、JavaScript のIIFE (Immediately Invoked Function Expression; 即時実行関数式)みたいなものか? 定義されると同時に実行される
- 555 名前:デフォルトの名無しさん [2022/10/11(火) 21:55:19.45 ID:bcaE1HrEp.net]
- >>552さん
>>553さん >>554さん 教えていただき、ありがとうございます。 こういうcallの仕方があるって知りませんでした。
- 556 名前:デフォルトの名無しさん [2022/10/11(火) 21:57:33.74 ID:bcaE1HrEp.net]
- >>554さん
p g.yield(3,4)もありますね。
- 557 名前:デフォルトの名無しさん mailto:sage [2022/10/12(水) 03:59:02.03 ID:rjG+co3La.net]
- 色々あるけどrubyは多種多様な人達がどれかを選択するためにあるっつうイメージだから
自分が使うものは限定したほうが良いよ Proc.new proc lambdaも詳細動作ちげーし
- 558 名前:デフォルトの名無しさん mailto:sage [2022/10/12(水) 23:19:24.53 ID:liNTEmfl0.net]
- しかし、Perlの融通無碍さを罵倒してたんちゃううんかい!
- 559 名前:デフォルトの名無しさん (ブーイモ MM86-N9Fb) mailto:sage [[ここ壊れてます] .net]
- コンバージョンプログラムいろいろとあるよ
知らないだけじゃない? Java to Kotlinとか
- 560 名前:デフォルトの名無しさん (オッペケ Sr03-mdlF) mailto:sage [[ここ壊れてます] .net]
- AltJS系も広義ではそうじゃないか
Opalとか
- 561 名前:デフォルトの名無しさん (アウアウウー Sa2f-kHT+) mailto:sage [[ここ壊れてます] .net]
- そういう0か100%かってのじゃなく、AIプログラミングに繋がる話だと思うけどね
- 562 名前:デフォルトの名無しさん (ブーイモ MM27-N9Fb) mailto:sage [[ここ壊れてます] .net]
- AI翻訳を通さないと何言ってるのかわからないや
- 563 名前:デフォルトの名無しさん (テテンテンテン MM7f-NBC3) mailto:sage [[ここ壊れてます] .net]
- >>566
プログラム言語に依るのだろう RubyからPythonはできそうな気がするけど、C++からForthとかはあまりにも違いすぎて無理… そう考えると、言葉よりもプログラム言語の方が違いが大きすぎるって事だな
- 564 名前:デフォルトの名無しさん (ワッチョイ 2b84-TyQf) mailto:sage [[ここ壊れてます] .net]
- >>566
> たくさんの言語を同時相互翻訳できるのに、 一般の言語で、完全に相互翻訳できるわけない
- 565 名前:デフォルトの名無しさん (テテンテンテン MM7f-WdpF) [[ここ壊れてます] .net]
- slack の ruby-jp ってどこかに移転しました?
- 566 名前:デフォルトの名無しさん (ワッチョイ 4b33-CxPv) mailto:sage [[ここ壊れてます] .net]
- >>566
やればできないわけもないんやから、結局は需要がない、ということやろ。 人の言葉は意志疎通のための翻訳やからアリ。 しかし、コンピュータ言語の翻訳結果は再利用のためのリソースを期待されがちやけど、ほぼムリなんでナシ。 実際、再利用でない実行のための変換なら、多用されとる。 コンパイラもそうやし、WebAssemblyなんかそのためやろし。
- 567 名前:デフォルトの名無しさん (ワッチョイ 2b4f-spri) mailto:sage [[ここ壊れてます] .net]
- Haxeは、JavaScript(JS)、C++、C#、Java、JVM、Python、Lua、PHPを対象とする、
クロスプラットフォームアプリケーションを構築可能で、 各プラットフォームのネイティブ機能にアクセスできる、 オブジェクト指向のプログラミング言語 主に、HTML, JS ゲーム用で、Adobe Flash の後継。 Ruby には対応していない
- 568 名前:デフォルトの名無しさん mailto:sage [2022/10/18(火) 13:36:19.02 ID:fjjhfMGv0.net]
- 「改訂2版 Ruby逆引きハンドブック」の「文字列を分割する」の所で、
split で構造体を定義するのは参考になる Struct_Fields = %i(a b c) # フィールド名のシンボル配列 Foo = Struct.new( *Struct_Fields ) # 配列展開 input_data = ":x::y:" # コロン区切り # ["", "x", "", "y"] 内の ["", "x", "y"] を取り出す p tmp_ary = input_data.split( ":" ).values_at( 0, 1, 3 ) p obj = Foo.new( *tmp_ary ) #=> <struct Foo a="", b="x", c="y">
- 569 名前:デフォルトの名無しさん mailto:sage [2022/10/18(火) 20:49:59.26 ID:gz5lMMWOr.net]
- 書き捨てのコードならいいけど微妙じゃね
- 570 名前:デフォルトの名無しさん mailto:sage [2022/10/19(水) 21:20:50.39 ID:Lu+vrvAs0.net]
- values_atが便利だなと
- 571 名前:578 mailto:sage [2022/10/20(木) 13:24:43.57 ID:zGrDbuOl0.net]
- values_at に、range も渡せる
# ["", "x", "", "y"] 内の ["y", "", "x"] を取り出す p tmp_ary = input_data.split( ":" ).values_at( 3, 0..1 ) 下のinput_1 の出力が、なぜ、 ["", "", "y", ""] にならなかったのだろう 冒頭のコロンの前には、"" があるのに、 末尾のコロンの後ろには、"" がない # コロン区切り input_1 = "::y:" input_2 = "::y:a" p input_1.split( ":" ) p input_2.split( ":" ) 出力 ["", "", "y"] ["", "", "y", "a"]
- 572 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 14:02:28.80 ID:fK+SugQF0.net]
- https://docs.ruby-lang.org/ja/latest/method/String/i/split.html
ドキュメントに書いてるが limit < 0 で末尾も残る なぜかは知らんがなにか他の挙動にあわせたんだろう
- 573 名前:578 mailto:sage [2022/10/20(木) 18:34:41.93 ID:zGrDbuOl0.net]
- ありがとう。そういうオプションがあったのか
# コロン区切り input_1 = "::y:" p input_1.split( ":" ) p input_1.split( ":", -1 ) 出力 ["", "", "y"] ["", "", "y", ""]
- 574 名前:デフォルトの名無しさん mailto:sage [2022/11/15(火) 15:14:40.66 ID:BxxcZFiKM.net]
- NSA、可能な限りメモリ安全なプログラミング言語を使うことを推奨
https://developers.srad.jp/story/22/11/13/042218/ C#・Go・Java・Ruby・Rust・Swiftなど python脱落
- 575 名前:デフォルトの名無しさん mailto:sage [2022/11/15(火) 20:50:38.98 ID:u4oN4nv30.net]
- たしかに、TMをつけてまでRubyを挙げるのに、Pythonを挙げないのは意味がわからんな。w
伝統と信頼のPerlを入れろよ!とも思うし。
- 576 名前:デフォルトの名無しさん mailto:sage [2022/11/15(火) 21:03:39.07 ID:8tiGCKxN0.net]
- VMもそこらの拡張もそこまで安全に書けてると思えんが
- 577 名前:デフォルトの名無しさん mailto:sage [2022/11/15(火) 22:17:37.16 ID:9MQlhJri0.net]
- Python は字数の多さが敗因だろうな
- 578 名前:デフォルトの名無しさん [2022/12/28(水) 13:12:25.93 ID:+yyf2wj20.net]
- Ruby 初心者が最初に絶対に身に着けないといけない常識って
ユーザーグループのキモい人達への無条件の敬意と忠誠(を払ってるフリ)じゃね
- 579 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 13:30:38.49 ID:xff+tzRk0.net]
- 何言ってんだ、こいつ?
- 580 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 22:34:40.01 ID:SmTZmVnPr.net]
- rails slackはそんな雰囲気ではないが何のこと言ってるんだか
- 581 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 22:34:54.53 ID:SmTZmVnPr.net]
- railsじゃなくてruby-jpか
- 582 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 14:21:30.95 ID:MXKHIln50.net]
- Rubyの静的型ってみんな使ってんの?
- 583 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 10:40:08.74 ID:ZyLRd4DP0.net]
- https://mevius.5ch.net/test/read.cgi/hp/1439005423/331
から誘導されて来ました。 JavaScriptで日付が変わると自動で音が鳴るというものを作るにはどうしたらいいですか?
- 584 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 13:19:44.80 ID:TB0Q4LnJ0.net]
- スレタイみて誘導がイタズラだと思わんかったん?
- 585 名前:デフォルトの名無しさん mailto:sage [2023/01/01(日) 13:40:43.56 ID:SpXTBx4O0.net]
- JavaScriptで日付が変わると自動で音が鳴るというものを作るにはどうしたらいいですか?
- 586 名前:デフォルトの名無しさん [2023/01/01(日) 16:55:07.16 ID:oLAa0eV20.net]
- perl好き
ruby嫌い crystal好きだが crystalもパッケージ増えていくとぐちゃぐちゃになるんだろうな
- 587 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 17:09:40.21 ID:qeO58bDma.net]
- #! ruby
# -*- coding: UTF-8 -*- require 'libev_scheduler' Fiber.set_scheduler(Libev::Scheduler.new) puts "Go to sleep!" Fiber.schedule do puts "Going to sleep" sleep(1) puts "I slept well" end puts "Wakey-wakey, sleepyhead" exit
- 588 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 17:16:55.61 ID:qeO58bDma.net]
- 途中で送信した
https://docs.ruby-lang.org/en/3.0/Fiber.html のサンプルを試してみたのだが、 Go to sleep! Going to sleep Wakey-wakey, sleepyhead I slept well と表示されるはずが、何故か実際に実行すると Go to sleep! Wakey-wakey, sleepyhead Going to sleep I slept well と表示されてしまう Fiber,schedule は、Fiber を新規作成して即時実行のはずなので、ドキュメントの通り Going to sleep が先に動くはずなのに何故順番が逆になっているのかさっぱりわからない? どういうことだろう??
- 589 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 17:42:17.84 ID:k/txfnyN0.net]
- 今どき2行目が必要な環境ってある?
コードは全部ASCIIだし脳死で書いてない? >Fiber,schedule は、Fiber を新規作成して即時実行のはず これを信用するとしてputsもI/Oだからとか(しらんけど) 配列pushなんかに変えてみて最後に出力してみては
- 590 名前:デフォルトの名無しさん mailto:sage [2023/01/14(土) 16:20:53.55 ID:XG+wNT9X0.net]
- irb 1.6.2(ruby 3.2.0付属)について質問です。
文字入力時には自動補完せず、タブキーを押したときに自動補完させるにはどうすればよいでしょうか? 入力時の自動補完だと入力の邪魔になってしまうので任意のタイミングで自動補完させたい、という意図です。 .irbrcに IRB.conf[:USE_AUTOCOMPLETE] = false (あるいは --noautocomplete で起動) とした場合、タブキーで補完候補が一気に出力されてしまい補完候補の選択ができませんでした。
- 591 名前:デフォルトの名無しさん [2023/01/14(土) 23:55:35.78 ID:v+aDVA7Ga.net]
- Stack Overflow 2023年の年収。高中低
Ruby, Elixir : 9.3 万ドル Go : 8.9 Rust : 8.7 Python : 7.1 TypeScript, C# : 7 Kotlin : 6.9 C++ : 6.8 C : 6.7 JavaScript : 6.6 Java : 6.5 HTML/CSS : 6:4 VBA : 6:2 PHP : 5 Dart : 4.4
- 592 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 03:00:28.41 ID:6m68H/Iaa.net]
- 確かに、puts もI/O だから、表示される順番は確定しないのかも
- 593 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 03:04:07.46 ID:6m68H/Iaa.net]
- >>590
irb よりも、VSCode の拡張機能・Code Runner を使えば? 右クリックメニューから、ファイル全体または選択したコード片を実行できる
- 594 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 16:50:45.07 ID:aMclAZtfa.net]
- >>589
なるほど、と試した結果 r=[] r << "Go to sleep!" Fiber.schedule do r << "Going to sleep" sleep(1) r << "I slept well" p r end r << "Wakey-wakey, sleepyhead" p r exit # ["Go to sleep!", "Wakey-wakey, sleepyhead"] # ["Go to sleep!", "Wakey-wakey, sleepyhead", "Going to sleep", "I slept well"] ドキュメントには即時実行とあるけど、メインの最後まで実行してから動き始めているように見えますね Fiber.schedule do に与えたブロック同士では想定通りの実行切り替えはされるようですが、ドキュメント通りの動きには何故かなっていない模様……
- 595 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 16:52:49.17 ID:aMclAZtfa.net]
- 一行目がexitの前の出力で、2行目が Fiberのブロックからの出力です
- 596 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 21:54:06.16 ID:mu8Nl5mu0.net]
- RubyのBigdecimalの最大桁数っていくつ?
puts (BigDecimal("2",1000) ** ((BigDecimal("2",1000) ** (BigDecimal("1031",1000) - BigDecimal("1",1000))) - BigDecimal("1",1000))) * (BigDecimal("2",1000) - (BigDecimal("2",1000) ** BigDecimal("-3705346855594118253554271520278013051304639509300498049262642688253220148476920",1000))) が計算できない。 https://ideone.com/jyxgVq
- 597 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 12:23:28.94 ID:t0SsOUx4a.net]
- パソコンのメモリサイズが大きければ、大きくなるのかも。
Bigdecimal の最大桁数の設定は無いの? Elixir では、130GB メモリで、 1秒間に、5千万の小プロセスを起動できたという記事を見た
- 598 名前:デフォルトの名無しさん mailto:sage [2023/02/23(木) 19:35:23.59 ID:bE7hCXJI0.net]
- 公式サイトの日本語ドキュメントって内容ものすごく古いままなんだな
例えばC API一覧にrb_compile_cstrが載っているが2.7.7や3.2.1のヘッダファイルにはこの関数は無い(他にも無い関数が多数ある) WebArchiveから1.8のソースを入手してみたら存在したわ 少なくともC APIを使おうと思ったら英語版ドキュメントを参照しないとだめだな
- 599 名前:デフォルトの名無しさん mailto:sage [2023/02/23(木) 20:04:10.36 ID:bE7hCXJI0.net]
- 英語ドキュメント読んだらあっさりできましたわ
日本語ドキュメントには「1.xの頃のまま更新していません。最新版は英語版を見てね」と注記しておくべきだと思った そりゃ「まだまだ書き直しが必要です」と書いてあるけどそんな古いままとか思わんやん // rubyスクリプトで定義した関数fをCから呼び出す #include <ruby.h> int main() { ruby_init(); VALUE v = rb_eval_string("def f\np 'Hello'\nend"); rb_funcall(v, rb_intern("f"), 0, 0); ruby_cleanup(0); return 0; }
- 600 名前:デフォルトの名無しさん mailto:sage [2023/02/24(金) 13:11:19.67 ID:lmfpmsq50.net]
- やる気見せんかーい
- 601 名前:デフォルトの名無しさん mailto:sage [2023/02/24(金) 20:23:01.89 ID:esYaZE7H0.net]
- ごめんなさい609のコードだとVisual Studioではruby_initでクラッシュするみたい
正しい初期化は下記の模様 linuxだと609のコードでも何故か動いてしまったけど // rubyスクリプトで定義した関数fをCから呼び出す #include <ruby.h> int main(int argc, char *argv[]) { ruby_sysinit(&argc, &argv); RUBY_INIT_STACK ruby_init(); ruby_init_loadpath(); VALUE v = rb_eval_string("def f\np 'Hello'\nend"); rb_funcall(v, rb_intern("f"), 0, 0); ruby_cleanup(0); return 0; }
- 602 名前:デフォルトの名無しさん mailto:sage [2023/03/02(木) 01:01:19.02 ID:C78KeSuO0.net]
- 手動でgem installしたものって
> gem list | grep -v default: debase (0.2.5.beta2) debase-ruby_core_source (3.2.0) debug (1.7.1) matrix (0.4.2) minitest (5.17.0, 5.16.3) ... をメモっておけば別PCでも同じ環境を再現できますか?
- 603 名前:デフォルトの名無しさん [2023/03/03(金) 01:21:26.43 ID:kpW9zhd70.net]
- railsチュートリアルやってるけどminitest難しいなあ
実際の現場も使ってるんですか?それともRspec? どちらも難しいのかね
- 604 名前:デフォルトの名無しさん mailto:sage [2023/03/04(土) 19:37:33.36 ID:ggY8eI1VD.net]
- まず、gem のダウンロード時に、ドキュメントをダウンロードしたくなければ、
各ユーザーのホームディレクトリに、.gemrc ファイルを作って、以下の2行を書いておく install: --no-document update: --no-document 既にダウンロードしたドキュメントも全て削除する 次に、gemでbundler をダウンロードする。 その後は各プロジェクト毎に、gemではなく、 複数のモジュールの依存関係を解決する、bundlerを使えばよい Gemfile/Gemfile.lock ファイルは、 JavaScript のpackage.json/package-lock.json/yarn.lock ファイルと同じ お勧めは、irb を使わず、 VSCode で拡張機能・Code Runner を使う。 これは右クリックメニューから、ファイル全体または選択したコード片を実行できる さらにRuby on Rails なら、WSL2, Linux, Docker Desktop も使う 多言語バージョンマネージャーは、 日本人が作ったanyenv で、rbenv, nodenv なども使える。 asdf もある Renv, crenv, denv, erlenv, exenv goenv, hsenv, jenv, jlenv, luaenv nodenv, phpenv, plenv, pyenv, rbenv sbtenv, scalaenv, swiftenv, tfenv
|

|