Ruby 初心者スレッド Part 67

1デフォルトの名無しさん (ワッチョイ b72c-yePO)
垢版 |
2020/12/25(金) 04:24:27.68ID:aa9Khe9z0
プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ

質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で

前スレ
Ruby 初心者スレッド Part 66
https://mevius.5ch.net/test/read.cgi/tech/1578068134/

るりまサーチ (リファレンス検索)
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
2022/08/12(金) 20:37:25.73ID:Ly5UHJxV0
まじか。ブートキャンプなんかもチェックしてrubyを選択してるところが多かったから最初のチョイスにはいいのかと思ったんだけど
2022/08/12(金) 20:39:57.30ID:3I6JE0fzr
スタートアップでRubyも一時期に比べれば減ったけど全体として少なくはないと思うがなぁ
まあGoやれには同意
2022/08/12(金) 21:08:08.21ID:EhKo6h0UM
>>504のスキル次第かな
プログラミング教育ビジネスでRubyの採用が比較的多い理由はPHPと同じで、
技術スタックが固定されていてRoRの使い方さえ覚えれば一応仕事らしいことはできるから
一方でNodeやGoだとまずAWSやGCPでインフラを設計して、、となっちゃうから前提知識が多く、教える人にとっても難しいわけだね
504がどうかは知らないけど業務系の出身の人ってペチパー上がりのWeb系に比べりゃネットワークやDBなど基盤技術に強い人が多いから、
まずはAWS SAを取るくらいを目標にしたほうがモノになりやすいかもしれない
2022/08/12(金) 22:14:25.50ID:jxfg8mfTM
>>504
Webアプリについて学ぶならRubyからはじめるのは今でも一番効率いいよ
 
C#とかやってるならそのままASP.NET MVCやるといい
Javaの場合はSpringやSpring Bootやる前にRails一通り学んだ方が学習効率が高い
2022/08/13(土) 16:42:11.13ID:g83/7zbCM
のっけからフレームワークって学ぶ順番としてどうなんだろ
2022/08/13(土) 18:08:03.40ID:G/JCqKHoM
>>508
それなりの多くは、なっちゃってエンジニアだと思うんだけど、ほとんどコピペでフレームワークを学ぶ!?雰囲気で使っている感じやんね。
2022/08/13(土) 21:20:26.00ID:716PWe/D0
TCP/IPからやれとはいわんけど
変なブログの情報どまりじゃなくMDNをリファレンスにしてくれれば迷惑はかけないかな
2022/08/16(火) 06:37:29.62ID:nv4Pd6maa
アプリ作ってるけど、Ruby選んだのにRubyは俄然200行程度に対してJSソースがその10倍の量になった事をご報告
2022/08/19(金) 13:31:40.23ID:Gwz5c/EG0
Rubyガイジがこのスレに誘導しているみたいだけど
今更Rubyなんて流行らないし>>503でも指摘されているけど
新規案件でRubyやRailsなんて採用しないから初心者が勉強するだけ無駄だぞw
2022/08/19(金) 22:25:12.76ID:2b9NNsS1M
色んなプログラ厶スレで
rubyスレ誘導はってる人がいるよね
2022/08/19(金) 22:36:16.14ID:kD1PYwgK0
せいぜいがんばってください
2022/09/02(金) 12:46:17.31ID:SPKoKVwi0
ブロックスコープを作って、そのスコープ内だけで使える変数を作るには
どうすればいいのでしょうか?

a = 1

{
let a
p a # nil
}

p a # 1
2022/09/02(金) 13:58:50.26ID:0IIX0tzu0
a = 1
->(a = nil) { p a }[]
p a

ただrubocop(linter)に怒られる
2022/09/02(金) 15:50:30.29ID:SPKoKVwi0
>>516
サンクス
2022/09/04(日) 11:03:45.79ID:d+yqMU9C0
thenも使えそう
a = 1
nil.then { |a| p a }
p a

そもそもメソッドじゃ駄目なんだろうか
2022/09/04(日) 14:18:23.63ID:nDhKbeBy0
書式設定これが見通し良くない?
無駄な#が有効利用できるからな
採用していいぞ

n = 123
name = "山田太郎"
puts "#05d{ n }番目は#10s{ name }です"
520デフォルトの名無しさん (オイコラミネオ MM1b-366i)
垢版 |
2022/09/08(木) 11:42:53.80ID:KAp1CvD8M
今日から三日間開催されているRubykaigi(Ruby会議)にて、Wasm化の話が
議題になっているらしい。
2022/09/08(木) 21:57:50.38ID:EF/qt7ve0
>>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。
ここまで行けば、どの会社よりも上
2022/09/08(木) 22:12:49.56ID:EF/qt7ve0
>>488
データベース(DB)に、2千社・2億レコードあるけど、全く問題ないと外人が言ってた

N+1 で一々、問い合わせをしたり、
多対多などで、索引なしで総当たりみたいな事をやっているとか?

DBの実行計画を見た方がよい

ミックの本も読んだ方がよい。
副問い合わせを、case に書き換えるとか、書いてあったような気がする。
よく覚えていないけど

データベース資格の問題を解くとか
2022/09/08(木) 22:38:48.48ID:EF/qt7ve0
>>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()
2022/09/09(金) 16:26:23.24ID:nscVoUcha
1か月よりも前なので解決してたりします
2022/09/09(金) 16:40:11.60ID:nscVoUcha
ちょっと厄介な事かもしれないですが、配列に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消すのを試みていたんですが上手い方法が思いつきません
2022/09/09(金) 23:04:33.89ID:Un8DgV3E0
uniq後の順序に依存した実装って気持ち悪いけどドキュメント読んでみると一応保証はされてるのか
2022/09/11(日) 15:57:11.70ID:rzWFC1+la
ちょっと無理そうですね

データ構造のほうが逆順だったらreverse無しで良かったんですが
そっちはもう換えられないのでこのままにしときます
2022/09/11(日) 16:22:50.85ID:t3QuDbs+0
reverseをreverse_eachにしたら中間のArrayは無くせる
2022/09/26(月) 19:18:46.78ID:m/z6XQ/+0
scan.map.delete_if.delete_if.shuffle[1,20]
とかなっても意地で1行で書くのが真のプログラマなの?
2022/09/26(月) 20:06:14.07ID:K2FDfZLG0
突然どうした
職場のグチか?
2022/09/27(火) 14:32:01.48ID:XLkjq+Re0
delete_ifが2つ続いてるとか
mapした後にdelete_ifとか
何か良くない匂いがするとは思う
2022/09/27(火) 15:25:57.97ID:+SNgMDTOM
>>529
意図が伝わりやすければメソッドチェーンでつなげること自体は何の問題もない
ただ1行で書くかと言われれば普通は改行して読みやすくメンテしやすくする

1行でも許容できる内容かどうかは引数含めて書いてもらわないとなんとも言えない
2022/09/28(水) 17:10:39.21ID:BXnMv7Uva
最近メソッド10個くらい繋げたコード書いたけどごく当たり前のコーディング

真のPGはmethod_missingの魔術コード書ける人だよ
2022/09/28(水) 17:43:18.00ID:BXnMv7Uva
サーバー側のrubyバージョンが古い時にローカル実行用スクリプトで3.0機能使ったコード書いていいものか迷う
もしかしたらいつかサーバー側にコード持っていく可能性もある
書いてもいいのかな?
2022/09/28(水) 18:23:25.60ID:FVicjk6YM
どうせコンテナで動かすんだからどうでもいいだろ
今時サーバーにグローバルにインストールされたRubyに依存してるような腐った運用してる環境なら、イキって変なことするのはやめておけ
2022/09/28(水) 18:40:33.30ID:BXnMv7Uva
コンテナ?

3日1回程度実行するスクリプトをこっちで行うかサーバーに持ってくかという話
こっちもpc常時起動してるわけじゃないから、正確に確実に実行するならサーバーで走らせ続けるほうが楽ではあるが
ここまで書いて気づいたけどサーバーのメモリ余計に使う事になるからやっぱやめる
2022/09/28(水) 19:07:17.74ID:fVRflvZP0
サーバの古いRubyコードをモジュールで使うわけじゃないなら
枯れたPerlで書けば解決
2022/09/28(水) 21:33:55.99ID:BXnMv7Uva
ん?いや古いモジュールとかじゃなくて、
ローカル実行でもサーバー実行でも良いコードを、どちらへもっていくか みたいな話
2022/09/28(水) 22:47:37.12ID:sYls8uor0
いまどきのRubyで書くと互換性の問題がでるなら
いっそPerlで書いたらという話
2022/09/28(水) 22:59:32.60ID:7XofIB3Ar
>枯れたPerlで書けば解決
正しいこと言ってるのに何故だか寂しくなる
2022/09/28(水) 23:22:18.60ID:BXnMv7Uva
Perlはないかなー
3.0だと構築しやすい環境があって
それがサーバーバージョンだと構築できるか不明で、
Perlだと普段使ってないんで
Perlのどのバージョンでどのモジュールバージョンがインストール有効か全く知らないので、さらに構築できる可能性が薄い、、
2022/09/29(木) 09:14:41.01ID:S94uJYpZ0
こういうのもYAGNIって言うのかな?
2022/10/02(日) 23:00:07.08ID:P9RAxpp00
Perlの互換性をあなどるな!
Rubyごときの常識では測れぬぞ!
2022/10/03(月) 22:36:01.59ID:mZNxA8zN0
perlは28年メジャーバージョン変えてないだけだろw
変えたらモジュールが全く付いていかず
後付けで別言語だったことにされた始末w

7にすると言った後もスルスル詐欺。もう崩壊寸前。
2022/10/04(火) 10:04:15.06ID:bSK5XELIM
rubyも変えない基本機能だけ永年保証版をつくればいいか
2022/10/04(火) 22:14:05.98ID:UryqQ3PG0
先がないって意味では似た者同士
2022/10/05(水) 08:09:51.42ID:I8FgU9ZAa
rubyで書かれたサイトはみんな死んでperlで書かれたmixiが生き残った
これも現実
2022/10/05(水) 20:16:53.48ID:CqdeFZnf0
>>544
Perl7は、Perl5最終版をほぼそのまま引き継ぐんやろ。
せやから問題ないはず!
2022/10/05(水) 21:04:39.92ID:qbCtmsWUa
perlの省略記法が上手くrubyにくれば文句ないんだけどな
_1 ってところまでは来たけどあと少し
マジックナンバーも覚えちゃえば効率良い
2022/10/05(水) 21:34:32.70ID:2RK+LAqWr
perlの省略記法好きなんだけどプロジェクトだと使いづらいんだよな……
551デフォルトの名無しさん (ササクッテロレ Sp03-G7zZ)
垢版 |
2022/10/10(月) 21:33:09.97ID:mVWGK/1kp
教えてください。
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や}の後の[]は、どんな意味があるかお分かりになりますでしょうか。
2022/10/10(月) 21:54:11.50ID:vcZFFA/Ea
https://docs.ruby-lang.org/ja/latest/method/Proc/i/=3d=3d=3d.html
lambdaメソッドで生成したProcオブジェクトの実行です
2022/10/10(月) 22:15:52.59ID:DUxtIWo2r
callしてるんでしょ
2022/10/11(火) 14:17:27.31ID:17+/w9Hg0
手続きオブジェクト・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デフォルトの名無しさん (ササクッテロレ Sp03-G7zZ)
垢版 |
2022/10/11(火) 21:55:19.45ID:bcaE1HrEp
>>552さん
>>553さん
>>554さん
教えていただき、ありがとうございます。
こういうcallの仕方があるって知りませんでした。
556デフォルトの名無しさん (ササクッテロレ Sp03-G7zZ)
垢版 |
2022/10/11(火) 21:57:33.74ID:bcaE1HrEp
>>554さん
p g.yield(3,4)もありますね。
2022/10/12(水) 03:59:02.03ID:rjG+co3La
色々あるけどrubyは多種多様な人達がどれかを選択するためにあるっつうイメージだから
自分が使うものは限定したほうが良いよ
Proc.new proc lambdaも詳細動作ちげーし
2022/10/12(水) 23:19:24.53ID:liNTEmfl0
しかし、Perlの融通無碍さを罵倒してたんちゃううんかい!
559デフォルトの名無しさん (ワッチョイ 6714-M13Z)
垢版 |
2022/10/13(木) 17:18:00.56ID:YUGI7Erj0
Rubyっていまさら学ぶ価値ありますか?
2022/10/13(木) 18:39:16.26ID:2KzUsHD30
SQLで十分
2022/10/13(木) 20:05:37.13ID:nAMqCzQ7d
あるかないかで言えばもちろんある
他のメジャーな選択肢と比較すれば価値が低いだけ
2022/10/13(木) 20:14:27.63ID:qa/FIGCma
目的設定してないなら何を学んでも時間の無駄
2022/10/13(木) 21:13:25.17ID:Tg7Fu5K4M
>>559
1. Webアプリの作り方を学びたい
2. オブジェクト指向を学びたい
3. プログラミングを学びたい

この3つのどれかなら今更でもRubyを学ぶ価値はある
1つの言語だけでやっていきたいみたいな考え方を持ってるならやめとけ
2022/10/13(木) 21:14:57.72ID:pWIAiZmDr
>>563
正論
2022/10/14(金) 13:58:42.57ID:ljWa0xD50
YouTube で有名な雑食系エンジニア・KENTA の初心者向けRuby on Rails サロンが有名。
KENTA, Rails専門学校・RUNTEQ, Deanin の動画などを参照

KENTAが勧めるキャリアパスは、Rails → Go のみ

主に、未経験者のモダンな転職先がRails。
つまり、ベンチャーなどへのプロの転職用フレームワーク

でもアマチュア用に、CSV などファイル操作するだけでも、Rubyは簡単
2022/10/14(金) 14:07:02.47ID:r95QbhkqM
たくさんの言語を同時相互翻訳できるのに、
なぜプログラム言語はできないのだろう

言葉よりプログラム言語のほうが簡単そう
語彙は言葉の方が圧倒的に多いし、文法も複雑
プログラム言語はちょっとした違いがすぐエラーになる、ここをなんとかすれば
いいわけだが
2022/10/14(金) 15:27:43.54ID:jrsxVe/4a
翻訳してコンパイル実行までいっぺんに考えるから作るの無理になるんじゃね
まず翻訳してコンパイルエラーとかは一旦無視したコード出力してから
別のロジック・プロジェクトとして整形するようにするとかさ
段階はあると思うよ
2022/10/14(金) 15:51:50.20ID:oF5RKx5oa
>>566
結局、翻訳先にない機能をどうにかするために
・機械語じみた可読性0の長大なプログラムに翻訳する
・翻訳元の言語のインタプリタを翻訳先の言語で作ってしまう
みたいなことになるかと
python2->python3の翻訳も確かうまく行かなかったんじゃなかったか?
2022/10/14(金) 18:08:42.41ID:KzgOwgYoM
コンバージョンプログラムいろいろとあるよ
知らないだけじゃない?
Java to Kotlinとか
2022/10/14(金) 18:48:07.45ID:ZVmcxfG6r
AltJS系も広義ではそうじゃないか
Opalとか
2022/10/14(金) 20:28:18.73ID:jrsxVe/4a
そういう0か100%かってのじゃなく、AIプログラミングに繋がる話だと思うけどね
2022/10/14(金) 21:04:51.58ID:baXL7k1XM
AI翻訳を通さないと何言ってるのかわからないや
2022/10/15(土) 00:31:52.18ID:IvRHkVgHM
>>566
プログラム言語に依るのだろう
RubyからPythonはできそうな気がするけど、C++からForthとかはあまりにも違いすぎて無理…
そう考えると、言葉よりもプログラム言語の方が違いが大きすぎるって事だな
2022/10/15(土) 00:37:52.24ID:1cOZHVrb0
>>566
> たくさんの言語を同時相互翻訳できるのに、
一般の言語で、完全に相互翻訳できるわけない
575デフォルトの名無しさん (テテンテンテン MM7f-WdpF)
垢版 |
2022/10/15(土) 11:11:10.80ID:7Qqe8Rg7M
slack の ruby-jp ってどこかに移転しました?
2022/10/15(土) 18:11:06.95ID:INu/t1220
>>566
やればできないわけもないんやから、結局は需要がない、ということやろ。

人の言葉は意志疎通のための翻訳やからアリ。
しかし、コンピュータ言語の翻訳結果は再利用のためのリソースを期待されがちやけど、ほぼムリなんでナシ。

実際、再利用でない実行のための変換なら、多用されとる。
コンパイラもそうやし、WebAssemblyなんかそのためやろし。
2022/10/15(土) 18:26:46.60ID:49IRcNny0
Haxeは、JavaScript(JS)、C++、C#、Java、JVM、Python、Lua、PHPを対象とする、
クロスプラットフォームアプリケーションを構築可能で、

各プラットフォームのネイティブ機能にアクセスできる、
オブジェクト指向のプログラミング言語

主に、HTML, JS ゲーム用で、Adobe Flash の後継。
Ruby には対応していない
2022/10/18(火) 13:36:19.02ID:fjjhfMGv0
「改訂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">
2022/10/18(火) 20:49:59.26ID:gz5lMMWOr
書き捨てのコードならいいけど微妙じゃね
2022/10/19(水) 21:20:50.39ID:Lu+vrvAs0
values_atが便利だなと
2022/10/20(木) 13:24:43.57ID:zGrDbuOl0
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"]
2022/10/20(木) 14:02:28.80ID:fK+SugQF0
https://docs.ruby-lang.org/ja/latest/method/String/i/split.html
ドキュメントに書いてるが
limit < 0
で末尾も残る
なぜかは知らんがなにか他の挙動にあわせたんだろう
2022/10/20(木) 18:34:41.93ID:zGrDbuOl0
ありがとう。そういうオプションがあったのか

# コロン区切り
input_1 = "::y:"

p input_1.split( ":" )
p input_1.split( ":", -1 )

出力
["", "", "y"]
["", "", "y", ""]
2022/11/15(火) 15:14:40.66ID:BxxcZFiKM
NSA、可能な限りメモリ安全なプログラミング言語を使うことを推奨
https://developers.srad.jp/story/22/11/13/042218/

C#・Go・Java・Ruby・Rust・Swiftなど
python脱落
2022/11/15(火) 20:50:38.98ID:u4oN4nv30
たしかに、TMをつけてまでRubyを挙げるのに、Pythonを挙げないのは意味がわからんな。w
伝統と信頼のPerlを入れろよ!とも思うし。
2022/11/15(火) 21:03:39.07ID:8tiGCKxN0
VMもそこらの拡張もそこまで安全に書けてると思えんが
2022/11/15(火) 22:17:37.16ID:9MQlhJri0
Python は字数の多さが敗因だろうな
588デフォルトの名無しさん (ワッチョイ 738f-DE9r)
垢版 |
2022/12/28(水) 13:12:25.93ID:+yyf2wj20
Ruby 初心者が最初に絶対に身に着けないといけない常識って
ユーザーグループのキモい人達への無条件の敬意と忠誠(を払ってるフリ)じゃね
2022/12/28(水) 13:30:38.49ID:xff+tzRk0
何言ってんだ、こいつ?
2022/12/28(水) 22:34:40.01ID:SmTZmVnPr
rails slackはそんな雰囲気ではないが何のこと言ってるんだか
2022/12/28(水) 22:34:54.53ID:SmTZmVnPr
railsじゃなくてruby-jpか
2022/12/31(土) 14:21:30.95ID:MXKHIln50
Rubyの静的型ってみんな使ってんの?
2023/01/01(日) 10:40:08.74ID:ZyLRd4DP0
https://mevius.5ch.net/test/read.cgi/hp/1439005423/331
から誘導されて来ました。
JavaScriptで日付が変わると自動で音が鳴るというものを作るにはどうしたらいいですか?
2023/01/01(日) 13:19:44.80ID:TB0Q4LnJ0
スレタイみて誘導がイタズラだと思わんかったん?
2023/01/01(日) 13:40:43.56ID:SpXTBx4O0
JavaScriptで日付が変わると自動で音が鳴るというものを作るにはどうしたらいいですか?
596デフォルトの名無しさん (ワッチョイ df10-+64g)
垢版 |
2023/01/01(日) 16:55:07.16ID:oLAa0eV20
perl好き
ruby嫌い
crystal好きだが
crystalもパッケージ増えていくとぐちゃぐちゃになるんだろうな
2023/01/12(木) 17:09:40.21ID:qeO58bDma
#! 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
2023/01/12(木) 17:16:55.61ID:qeO58bDma
途中で送信した

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 が先に動くはずなのに何故順番が逆になっているのかさっぱりわからない?
どういうことだろう??
2023/01/12(木) 17:42:17.84ID:k/txfnyN0
今どき2行目が必要な環境ってある?
コードは全部ASCIIだし脳死で書いてない?

>Fiber,schedule は、Fiber を新規作成して即時実行のはず
これを信用するとしてputsもI/Oだからとか(しらんけど)
配列pushなんかに変えてみて最後に出力してみては
2023/01/14(土) 16:20:53.55ID:XG+wNT9X0
irb 1.6.2(ruby 3.2.0付属)について質問です。

文字入力時には自動補完せず、タブキーを押したときに自動補完させるにはどうすればよいでしょうか?

入力時の自動補完だと入力の邪魔になってしまうので任意のタイミングで自動補完させたい、という意図です。

.irbrcに IRB.conf[:USE_AUTOCOMPLETE] = false (あるいは --noautocomplete で起動)
とした場合、タブキーで補完候補が一気に出力されてしまい補完候補の選択ができませんでした。
601デフォルトの名無しさん (アウアウウー Sa91-wtyD)
垢版 |
2023/01/14(土) 23:55:35.78ID:v+aDVA7Ga
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
2023/01/15(日) 03:00:28.41ID:6m68H/Iaa
確かに、puts もI/O だから、表示される順番は確定しないのかも
2023/01/15(日) 03:04:07.46ID:6m68H/Iaa
>>600
irb よりも、VSCode の拡張機能・Code Runner を使えば?

右クリックメニューから、ファイル全体または選択したコード片を実行できる
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況