[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2ch.scのread.cgiへ]
Update time : 08/26 09:52 / Filesize : 225 KB / Number-of Response : 739
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Ruby 初心者スレッド Part 67



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

367 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 12:13:19.79 ID:/N9d9IBk0.net]
% gem sources -l
*** CURRENT SOURCES ***

https://rubygems.org/

となる?
あとほんとにbundler経由でなくていいのか再考してみて

368 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 13:32:13.20 ID:hewkBnV10.net]
>>367
>となる?

なります。

369 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 14:14:29.91 ID:/N9d9IBk0.net]
じゃあわからん
$ gem update --system
して更新がもしあれば治るかも

370 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 15:06:21.76 ID:ah8E1hap0.net]
>>366
wxrubyがいつのRubyのときに開発されていたか調べましたか?
wxrubyがいまのRuby 3.1.0p0で動くと思いますか?

371 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 18:29:42.26 ID:hewkBnV10.net]
>>370

そうなんですか。
tk使います。

372 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 18:36:09.58 ID:Eko2QLhP0.net]
知らんがな、っつー話やけどな。w
互換性のなさはなんとかならんのか。

373 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 19:22:50.06 ID:ah8E1hap0.net]
主に使おうとする道具の状態を確認しないのですか?
切れないハサミで紙を切ろうとするのですか?

どうしてもwxrubyを使うなら、せめてrbenvでも良いのでwxrubyが確実に動きそうなruby環境(Ruby 1.9.xぐらい)を用意したほうが賢明です。
あるいは、自分でwxWidgetsをRuby 3.xで動くように頑張ってbindingするか。

ちなみに、わたしはメンドクサクなって、wxWidgetsのcoreなところをRuby 2.7ぐらいでportingしている途中で放置したままです。

374 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 13:46:06.28 ID:Bc4m3wjx0.net]
nokogiriでスクレイピングしようとしていたら
逮捕されるかもしれないと言われましたが
本当でしょうか?

375 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 13:51:05.48 ID:lPS6H26+r.net]
「かもしれない」という事であれば回答はYesでしょう
まあ質問自体馬鹿げてるが



376 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 13:55:29.58 ID:fqPeqqWL0.net]
>>374
本当“かもしれない”ですね

377 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 18:54:02.82 ID:NEea/ouUa.net]
>>374
かつて 岡崎市立中央図書館事件 という悲劇があったのだよ
いまならこんなあほな事態は発声しないんじゃないかな、だったらいいな……

378 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 11:03:45.45 ID:erVefguva.net]
Webrick 1.7.0 でドキュメントと異なった動作と、RFCで推奨されない通信が行われた場合にIOタイムアウトまで動作停止する問題を
発見しました(対処方法も特定済み)

報告方法どなたかご存じでしょうか?

379 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 15:03:45.59 ID:nkHg0hKwa.net]
>>374
スクレイピングに限らず、プログラムを動かす事による
アクセス回数と通信容量は気を付けたほうが良いよ

2chみたいにそれが多すぎたらしっかりとアク禁したり弾いたりしてくれるところはまだいいけど
無対策なサイトで管理人が対応できない人だったりすれば
プログラムによるアクセス制限の対応じゃなく法的な対応はありえる

380 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 16:13:06.79 ID:UfZW0QsA0.net]
>>379
どこかの某県図書館だな
結局、アレは業者がアレだったな

381 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 17:31:37.91 ID:zzLecfCS0.net]
>>378
こんなとこで聞くことやないやろ!w

こういうとこのが?
https://www.ruby-lang.org/ja/community/mailing-lists/

382 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 20:03:07.20 ID:TQ6+L4kbr.net]
>>378
協力よろしくお願いします
https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReportJa

383 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 20:00:16.41 ID:lkKOvV4nM.net]
[1,2,3].each{ |i|
next i>2
}
がエラーにならずなかなか原因がわからなかった
正解は
[1,2,3].each{ |i|
next if i>2
}

384 名前:デフォルトの名無しさん mailto:sage [2022/02/06(日) 02:49:25.03 ID:wRRLv8q1a.net]
>>383
next(exit_value)
break(exit_value)
という構文があって、実行された時のブロックの戻り値が指定した引数の値になる

loop{ break }
=> nil

loop{ break 10 }
=> 10

[1,2,3,4].map do |num|
next 'even' if num.even?
num
end
=> [1, "even", 3, "even"]

385 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 15:54:59.83 ID:UFoAEHlFM.net]
>>384
ありがとうございました、なるほどでした
nextに戻り値は想定外で、別の原因を探していました



386 名前:デフォルトの名無しさん mailto:sage [2022/02/08(火) 00:35:57.80 ID:rEpsZFEq0.net]
ほ〜、知らんかった

387 名前:デフォルトの名無しさん [2022/02/11(金) 05:43:01.01 ID:kL9RKZ580.net]
nokogiriでhtmlパースをしようと触っているのですが、
DOMの子要素から絞り込みはできないのでしょうか

document.xpath('//div[@class="main"]').each |node|
node.css('div')
↑これだとclass=mainの子要素全体が取れるのですが

node.xpath('//div[@class="target"]')
↑これだとDOM全体から取ってきてしまいます

node.search('//div[@class="target"]')
↑これも同様でした

388 名前:デフォルトの名無しさん mailto:sage [2022/02/11(金) 07:45:27.90 ID:3E0z2JyYr.net]
>>387
node.xpath('.//div[@class="target"]')

node.search('.//div[@class="target"]')

389 名前:デフォルトの名無しさん mailto:sage [2022/02/11(金) 07:51:20.39 ID:tPFLgtIg0.net]
XPathの仕様みるのが先やん
https://triple-underscore.github.io/XML/xpath10-ja.html#path-abbrev

390 名前:デフォルトの名無しさん mailto:sage [2022/02/11(金) 08:15:17.26 ID:kL9RKZ580.net]
>>388
取れました!ありがとうございます!
>>389
XMLパスという仕様書があるのですね
初めて知りました
リンク先まで教えていただきありがとうございます!

391 名前:デフォルトの名無しさん mailto:sage [2022/02/11(金) 15:10:34.09 ID:901NTZe+0.net]
一旦、ある要素を取得してから、その子孫要素に限定して、
さらに要素を取得していく事もできる

一旦、div.x を取得してから、その子孫内のdiv を取得する

doc = Nokogiri::HTML( <<EOT )
<html><body>
<div class="x"><div class="y"><div class="z"></div></div></div>
<div class="x"><div class="a"></div></div>
</body></html>
EOT

doc.xpath( '//div[@class="x"]' ).each do |x|
x.css( 'div' ).each do |div|
puts div.get_attribute( 'class' )
end
end

出力
y
z
a

392 名前:デフォルトの名無しさん [2022/02/11(金) 15:21:30.61 ID:fEekYUc10.net]
あーあ、やっちゃったね
スクレイピングに手を出したら逮捕されるよ
nokogiriもアンインストールしたほうがいい

393 名前:391 mailto:sage [2022/02/11(金) 18:40:27.30 ID:901NTZe+0.net]
XPath よりも、CSS Selector の方が可読性も高く、簡単。
XPathを使う事は、ほぼ無い

ある属性を持った要素の親要素を取得するとか、かなり複雑なケースに限定される

394 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 08:30:39.25 ID:uRRrzdTb0.net]
配列内の要素の出現回数を求める

ary = [ 1, "a", 2, "b", "a", 1, "a" ]

p results = ary.each_with_object( Hash.new( 0 ) ){ |elem, hash| hash[ elem ] += 1 }
#=> { 1=>2, "a"=>3, 2=>1, "b"=>1 }

Ruby には、下のPython のcollections.Counter みたいな関数がありますか?

import collections

l = ['a', 'a', 'a', 'a', 'b', 'c', 'c']

c = collections.Counter(l)
print(c)
#=> Counter({'a': 4, 'c': 2, 'b': 1})

Rubyで、誰かが作ったものはあるけど
https://gist.github.com/cielavenir/501c0cf491e10d905d4307bdeb2596ea

395 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 08:39:01.42 ID:rK542qf7r.net]
>>394
ない。
できてこんなもん。
ary.uniq.group_by{|i|ary.count i}
=> {2=>[1], 3=>["a"], 1=>[2, "b"]}



396 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 11:58:05.39 ID:yCGAKR370.net]
愚直に書くと
ary.group_by(&:itself).transform_values(&:size)
=> {1=>2, "a"=>3, 2=>1, "b"=>1}

397 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 13:18:13.38 ID:4udJjeRKM.net]
each_with_objectのほうが少しシンプルだけど
他の言語だと使えないからreduce使ってる
uniqとかgroupbyはやや効率悪い気がする

398 名前:デフォルトの名無しさん mailto:sage [2022/03/09(水) 01:16:31.71 ID:bFH5rQfw0.net]
tally
https://docs.ruby-lang.org/ja/latest/method/Enumerable/i/tally.html

399 名前:デフォルトの名無しさん mailto:sage [2022/03/09(水) 05:08:13.88 ID:xyP8cJI4a.net]
[1, "a", 2, "b", "a", 1, "a"].tally
=> {1=>2, "a"=>3, 2=>1, "b"=>1}

ほ〜

400 名前:デフォルトの名無しさん mailto:sage [2022/03/09(水) 06:45:20.85 ID:ld7hWZ5w0.net]
美しい

401 名前:デフォルトの名無しさん (スップ Sd7f-QrL3) mailto:sage [2022/05/01(日) 18:29:19 ID:hArhlqjHd.net]
rails6、ruby2.7を利用しています。
アクセスしてきたリクエストURLのパラメータに「#」が付いた際、paramsにパラメータが含まれてこないのですが、
この内容を取得するにはどうすれば良いでしょうか?

402 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 21:32:54.31 ID:hYMTL+9l0.net]
ムリ。
サーバーには渡されない。

403 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 22:05:48.29 ID:AIbUDPzi0.net]
HTTPリクエストには乗らないけど
ブラウザ上のJSではハンドリングできるからそれで連携可

404 名前:デフォルトの名無しさん (スップ Sd7f-QrL3) mailto:sage [2022/05/02(月) 00:21:18 ID:tduJ9vUQd.net]
ありがとうございます!
ハッシュは取れないのですね…
JSでハンドリングしてみます。

405 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 02:36:19.66 ID:lerz5rr1M.net]
JavaScriptのようにPythonコードをHTML内に記述して実行できる「PyScript」 Anacondaがオープンソースで公開
https://www.itmedia.co.jp/news/articles/2205/09/news161.html

rbScriptも技術的に可能でしょう、だそうです



406 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 07:09:23.20 ID:4KKJ8JThr.net]
可能も何も既存なんだが

407 名前:デフォルトの名無しさん (ワントンキン MM86-3X6i) [2022/05/25(水) 19:57:04 ID:iXIMMJncM.net]
rubyが1番初心者向け?

408 名前:デフォルトの名無しさん mailto:sage [2022/05/25(水) 20:27:04.41 ID:nspShIcld.net]
JavaScriptだろうな
Rubyは人気急落中で既存のRailsアプリのメンテくらいにしか使われなくなっているから今から入るのはお勧めできない

409 名前:デフォルトの名無しさん mailto:sage [2022/05/27(金) 01:56:43.24 ID:o8IZTGHvr.net]
webアプリ初心者にはrailsがオススメな反面ruby自体は全く初心者にオススメできないクソ言語

410 名前:デフォルトの名無しさん mailto:sage [2022/05/27(金) 11:29:28.44 ID:5IS2i0qw0.net]
>>409
PythonとくにPython3よりも、Rubyのほうがええと思うけど?

といいつつも、仕事でTypeScriptばっかり、Railsもわずかにやっとるけど

411 名前:デフォルトの名無しさん (ワッチョイ 7966-W53T) mailto:sage [2022/05/29(日) 08:45:02 ID:5LPeOORh0.net]
JavaScriptって初心者にほんとに勧めて良いものだろうか。

412 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 16:29:01.89 ID:89z2cDQI0.net]
フリーランス向けエージェント「クラウドテック」会員数8万人突破
〜働きやすい環境構築のため、単価向上・全年齢の活躍の場創出・
地方企業のDX推進の取り組みを強化します〜

フリーランスエンジニア専門の案件一括検索サイト「フリーランススタート」、
累計掲載案件数25万件突破!リモートワークの累計掲載案件数35,000件突破!

新規人材の80%がフルリモート希望! IT人材市況動向レポート2021年12月版を公開

人口移動報告 家賃高い、首都圏脱出 「コロナ禍、仕事フルリモート」

クラウドテック、地方企業向け『クラウドテックDX』を開始、
7万人を超えるDX人材が、地方の非IT企業のDX推進を支援

新潟県、移住してきたテレワーカー/フリーランスに最大50万円を支給

テレワークの一般化により、11月にはテレワーク可能案件83.7%へと増加。
2021年、フリーランスのトレンドは「移住&テレワーク」と予測

413 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 16:29:25.82 ID:89z2cDQI0.net]
・フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、
“テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡
・リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、
 業務委託契約の求職者と企業をマッチング 
・1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の
 人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!
・『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル
・副業・兼業マッチングサービス「クラウドリンクス」登録者数2万人突破
 中小企業で進む副業人材の採用、96%が継続採用を希望
・フリーランスが活用できる「最大1,000〜3,000万円・補助率50%〜75%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
・茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金
・長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給

414 名前:デフォルトの名無しさん [2022/05/29(日) 16:30:01.42 ID:89z2cDQI0.net]
【根拠あり】フリーランスエンジニアは年収862万円取れて普通という話【高収入】

【こんな僕が】フリーランスエンジニアで月収100万円を達成した5つの方法

ITフリーランスエンジニアの年収|会社員との違いや独立後の案件の取り方

月収90万のITフリーランスプログラマー・SEが選んでる在宅案件はこんな案件です

フリーランスの年収は平均いくら?年収1000万円以上の割合とは

2021年最新版 エンジニアの平均年収はいくら?全体平均と比べて○○円も高い!

【高すぎると不利】もっともコスパの良い年収は?「最適年収」3パターンについて解説

オリコ、ITフリーランス専用ゴールドカード「techcareer EX GOLD for Biz Card」を発行

415 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 08:49:29.66 ID:+82mqA6e0.net]
Rubyのcase文にはwhenの代わりにinを使う場合がありますか?
バージョンによって違うのでしょうか?



416 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 09:09:46.99 ID:WMuSBVaoM.net]
>>415
inはパターンマッチ

417 名前:415 (ワッチョイ a136-v00t) mailto:sage [2022/05/30(月) 12:21:37 ID:+82mqA6e0.net]
>>416
どうもありがとう!
あれから更に調べていたらRubyのcase文には2種類あると説明している
ドキュメントに出遭いました。
1つがelsifを持つif文の代用で、もう1つがパターンマッチ(?)らしいですね。
Rubyは内部的に===を使うんだそうです。
ただしその場合もwhenが使われていたように思います。inと違うのでしょうか。

418 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 13:10:50.78 ID:4ToCs4sv0.net]
caseのパターンマッチは3.0で本採用されたのにマニュアルになくって
変更履歴とRedmineみないとわからんのが残念

419 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 18:55:58.59 ID:Jfa9bHCo0.net]
PythonてAI関係でデフォになってるのもあって持て囃されてるけど
初心者向きかというとインデントがあるのとかどうかなーとは思う
Rubyはそのへん柔軟でとっつきやすい感じはする

https://xtech.nikkei.com/atcl/nxt/column/18/00682/061100007/

420 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 20:11:00.95 ID:4ToCs4sv0.net]
コロン忘れるってテキストで構造化文書(というほど大層なもんでもない)書いたことないんか
見出しにアンダーライン引くみたいに行末にコロン置いて区切りを表現する

421 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 21:52:06.42 ID:PemXr08JM.net]
>>418
日本語はメンテされてないの?
英語は普通にあるけど
https://docs.ruby-lang.org/en/master/syntax/pattern_matching_rdoc.html

422 名前:デフォルトの名無しさん (ワッチョイ 9363-9hOi) mailto:sage [2022/05/30(月) 22:30:52 ID:4ToCs4sv0.net]
英語はRDocからの自動生成なのか
メンテできないなら日本語マニュアルなんてやめて
英語版をベースに差し替えていけばええのに

423 名前:415, 417 mailto:sage [2022/05/31(火) 16:06:11.83 ID:V5m5I4Ku0.net]
パターンマッチはRuby 2.7以降にサポートされたらしいということが
分かりました。どうもありがとうございました。

424 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 15:12:54.29 ID:UUUQnP9Va.net]
>>408
JavaScriptは基本が非同期なのが初心者向けではないと思うんだ
開発環境の充実という点では悪くないとは思うけどね

425 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 15:29:30.51 ID:xCSInqB6M.net]
同意しない
一般に、JSの入門者にとって非同期プログラミングが必要になるのはバックエンドとの通信が出てきたところから
そこまでくると仮にRubyだったら当然Rails前提になるわけで、フロントからDBまで揃えないと動かないRailsよりはHTMLファイル一つから始められるJSの方が遥かに敷居が低い



426 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 17:11:02.82 ID:P55vafmBM.net]
>>425
JS始めるなら普通はWebのフロントエンドからなので非同期理解しないとまともなもの作れないよ
nodeでCLIから始める選択肢もあるがそっちもI/Oは非同期が基本だから同じこと
同期APIだけ学ばせるほうが効率悪い

427 名前:デフォルトの名無しさん mailto:sage [2022/06/01(水) 18:34:53.07 ID:brWfXIBXr.net]
RubyもJavaScriptもどっちもやったらいいよ
対して難しくないんだし

428 名前:デフォルトの名無しさん [2022/06/03(金) 09:08:23.67 ID:7PIvgb9ja.net]
確かに。
RubyとJSを組み合わせないとまともなページは作れないね。
両方知っておくのがいいと思う。

429 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 11:01:26.75 ID:GhzoCoaEd.net]
マジレスするとJSだけでいいけどな。
RubyとPythonは極端に習得容易だな。長所はそれだけ。遅過ぎて何やっても使えない。

430 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 11:58:42.03 ID:tLDIaWEDr.net]
遅過ぎって20年前の話してる?

431 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 12:00:42.89 ID:vLJB7iu5d.net]
JSの方が圧倒的に速いのは事実よ

432 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 12:10:21.65 ID:DZf8XKyWM.net]
>>429
じゃ極端に習得が容易なRubyやPythonのほうが初心者向けってことだよね

433 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 20:46:46.08 ID:RZ3sCzwG0.net]
習得が容易=初心者向きってのどうかと思うけどね

434 名前:デフォルトの名無しさん [2022/06/03(金) 21:11:53.38 ID:lhb1THTB0.net]
特にPythonなんか、学位勝負みたいな言語だし

435 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 21:23:41.93 ID:KQZoslqJr.net]
じゃあ間を取ってLISPをやろう



436 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 21:26:35.99 ID:NgQ/T7i/0.net]
イエス!

437 名前:デフォルトの名無しさん mailto:sage [2022/06/03(金) 21:59:02.39 ID:vpEWwdrG0.net]
lispは間にならんだろ。これだけはrubyやperlやPythonに比べて異世界の言語って気がする。

438 名前:デフォルトの名無しさん (ワッチョイ 2b2c-QrQl) mailto:sage [2022/06/03(金) 23:17:41 ID:gxOeTsOz0.net]
YouTube で有名な、雑食系エンジニア・KENTA が言ってる。
初心者が、PHP のLaravel, Python のDjango をやっても転職できない

どの企業も適材適所だから、
Web サービスで、Rails ではなく、Laravel, Djangoを選んだ相当な理由がないと、
単なる調べる能力がない、自走力のない香具師とみなされるだけ

だから、Pythonで企業を圧倒するには、
大学院数学科とか、AWS Certified Machine Learning - Specialty・機械学習の資格がいる

一方、Railsは文系でもOK。
AWS Solutions Architect など、アソシエイト3冠を持っていれば最高峰。
米国年収で、最高同士の組合せ

PHPは、KENTAがオワコン認定したから終わった。
AWS Lambda のデフォルト言語にも採用されていない。
Rust, Elixir も採用されていないけど

デフォルトでは、Java, Go, Node.js, Python, Ruby
PowerShell, C# だけ

YouTube で有名な、くろかわこうへいのAWS 入門書も出ている。
サロン内の数十人で書いたみたい

439 名前:デフォルトの名無しさん [2022/06/04(土) 13:15:30.73 ID:rp2igMRS0.net]
もう、Rubyは高卒を騙して金を巻き上げるだけの言語になっちまったな

440 名前:デフォルトの名無しさん [2022/06/04(土) 13:16:10.83 ID:rp2igMRS0.net]
もう、Rubyは高卒を騙して金を巻き上げるだけの言語になっちまったな

441 名前:デフォルトの名無しさん mailto:sage [2022/06/21(火) 23:37:08.26 ID:ZyOv9ngt0.net]
rubyそのものについてでなくて申し訳ないのですが質問させてください
業務系の書類まみれに疲れ果ててウェブの世界に飛び込むことを検討しています。C++だのC#だのばかりでウェブの経験が無いのでブートキャンプでも受けようかと調べました
すると割とrubyの採用率が高いように思われます。rubyをお使いの皆様としても今後将来性はあると実感されてますでしょうか

442 名前:デフォルトの名無しさん mailto:sage [2022/06/21(火) 23:59:31.51 ID:Hg0PvelR0.net]
フレームワークのRailsはプロトタイピングに優れてるからスタートアップ向きだけど
まじめに保守するならカッチリした言語・フレームワークに乗り換えることになる
そう割り切ってつかうならあり

443 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 10:46:53.26 ID:nSoHuNgQ0.net]
実際に作ってみて、運用してみないと
分からない問題点があるからね
最初にかっちり決めてしまうと
修正するのがほぼ不可能になる

444 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 13:41:40.26 ID:Mthm9vIkM.net]
なんとなくだが>>441は概ね答えわかってて聞いてる気がする

445 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 14:01:02.66 ID:HANAT9N20.net]
なら、そのなんとなく分かってる答えを答えてみて



446 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 14:10:12.91 ID:wWAsFcPvM.net]
無しで

447 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 14:53:28.86 ID:RB9PJOboM.net]
女のどう思う?はもう答えてほしい事が決まっていると言うからなw

448 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 18:45:23.01 ID:iF6LFzOMr.net]


449 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 19:54:36.81 ID:JTF7oH6k0.net]
将来性に期待して今から始めるんはナシやろ。
最悪捨てることになっても可、つうことならアリ。

450 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 20:05:40.08 ID:s8G+2Dhi0.net]
色々参考になりました。
とりあえず仮に通うにしても就職先では別の言語を使う可能性が高いと考えておきます

451 名前:デフォルトの名無しさん mailto:hage [2022/06/25(土) 15:23:21.02 ID:bxGPQhaPM.net]
開発言語で縛らないほうが良い採用できる感ある

452 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 15:36:14.60 ID:Y7867/mY0.net]
それでもrubyがすきなんだもん

453 名前:438 mailto:sage [2022/06/26(日) 07:19:32.50 ID:xs6E9gSx0.net]
時価総額1兆円までは、Ruby on Rails で大丈夫

時価総額1兆円以上のGithub は、Go へ移行する。
一方、2兆円のGitlab は、Go へ移行せず、Railsを継続する

外人の動画で、2千社の取引先で、2億レコードあるけど問題ないと外人が言ってた

>>438
にも書いたけど、KENTA のYouTube 動画も一杯ある。
初心者は、月千円のKENTAのRailsサロンへ入れば良い。
日本6位の3千人。1位はキングコング西野の数万人

文系のキャリアパスは、Rails → Go のみ。
普及のキャズムを越えたのは、Goだけ。
Rust, Elixir は越えなかった

454 名前:デフォルトの名無しさん [2022/07/03(日) 17:05:47.29 ID:Ev2/54rw0.net]
高卒から金を巻き上げるスクール商売ばっか目立ってるって、入会する側もおかしいと思わないのかねえ

455 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 19:39:32.50 ID:eTauYkOJ0.net]
自力でやろうとしても
やる気になれない
何をどういう順番でやればいいか分からない
とかだと
スクールに頼ることになるんではないだろうか



456 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 20:24:13.10 ID:V6sTTCaHM.net]
ハロワの職業訓練とかでもあるかもよ

457 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 22:20:51.19 ID:TGRiVvjp0.net]
ひたすら写経してブリブリ動かせばなんとなく掴めると思うんだけどな〜 体系立った理解は後回しでも良いと思う

458 名前:デフォルトの名無しさん mailto:sage [2022/07/03(日) 22:46:38.56 ID:23Hh1xfmM.net]
専門学校みたいなもんやと思えばそんなもんやろ。
相場を知らないんやから、しゃあない。

459 名前:438 (ワッチョイ 1e2c-Pt+j) mailto:sage [2022/07/04(月) 00:01:17 ID:IXhz+xx30.net]
KENTA のサロンは月千円

KENTAが批判しているマコなりは、実教室があるから80万円。
RUNTEQ は40万円。
東京フリーランスは10万円

KENTAがぼったくりと書いて、訴えられた所は200万円。
KENTAを訴えると、会社の知名度が上がるから訴える

460 名前:デフォルトの名無しさん mailto:sage [2022/07/04(月) 20:07:00.68 ID:+qSzy/GMM.net]
小橋健太ってオンラインサロンやってんのか

461 名前:デフォルトの名無しさん (アウアウアー Sa2b-p0Nn) mailto:sage [2022/07/12(火) 04:04:17 ID:Jv7vF0i4a.net]
Ruby技術者認定試験制度の対象バージョンが2.1.xなの古くない?

Rails技術者認定試験もRails 4対象だし、公式Twitterは2018年が最終ツイート、さらに公式Facebookは削除されてる。

462 名前:デフォルトの名無しさん mailto:sage [2022/07/13(水) 15:41:39.70 ID:deFlrBOmr.net]
このスレでWordPress、PHP、SQLの質問をしたら、親切な達人プログラマーが懇切丁寧に教えてくれますか?

463 名前:デフォルトの名無しさん mailto:sage [2022/07/14(木) 22:05:19.36 ID:pbUBVD7Qa.net]
>>462
Ruby でサイト管理を自動化するとか、DBにアクセスするという話ならお返事あるんじゃない?

464 名前:デフォルトの名無しさん mailto:sage [2022/07/14(木) 22:07:45.69 ID:0DIHPMC40.net]
>>462
WordPress, PHP, SQLそれぞれのスレでご質問願います

465 名前:デフォルトの名無しさん (ワッチョイ 9b01-KYHT) mailto:sage [2022/07/14(木) 22:30:07 ID:sv4BKnoc0.net]
>>463-464
やはり、そうですよね。
他のスレでRubyスレに誘導されたので確認してみました。
ご回答ありがとうございます。



466 名前:438 mailto:sage [2022/07/16(土) 21:11:15.96 ID:2WLM14wy0.net]
Word Press のコーディングの本はない。
デザインの本しかないので、プログラミングを学べない

Ruby on Rails では黒田努の3冊の本とか、パーフェクト Ruby on Rails、
ウェブサイトではRails ガイド・Rails チュートリアル、
Dean の動画とか、コーディングの教材が多い

>>438
にも書いたけど、
PHP は、KENTAがオワコン認定したから終わった

AWS Lambda のデフォルト言語にも採用されていない。
Go は採用されたが、PHPは採用されなかった。その理由を考えてみ

漏れの結論としては、PHPでは勉強を続けることは無理。
教育環境が無さすぎる

Laravel を使っているZOZO とか、良い開発者が集まらなくて、困ると思う

467 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 08:18:24.34 ID:Fj+O5aYq0.net]
>>466
KENTAはRubyも否定してますが、Rubyを推す理由ありますか?

RubyやPHPを選択する理由が薄くなった
https://youtu.be/LfcgWPqMSGM?start=100
GoのみがSランク、それ以外は全てCランク
https://youtu.be/LfcgWPqMSGM?start=200

最も、いいね少なすぎてKENTAの動画に信頼を置く理由が不明ですが

468 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 08:39:05.88 ID:l4tNS2gQr.net]
たいした学習コストじゃないんだし悩んでるくらいなら全部やればいい

469 名前:438 mailto:sage [2022/07/17(日) 20:09:18.60 ID:885G8LEt0.net]
未経験からのエンジニア転職の必須教養【技術知識編】
www.youtube.com/watch?v=Q1c09rrhTjo

KENTA が勧めるキャリアパスは、Ruby on Rails → Go のみ。
Laravel, Django を選ばないように言ってる

もしポートフォリオに、Laravel, Django を選ぶと、
Railsではなく、それらを選んだ理由を聞かれて困る

技術選定・適材適所の失敗。
つまり、情報収集能力や自走力がないので採用されない

皆がRailsで勝負しているのに、なぜ君は奇をてらったのか?
正攻法を避けた理由を説明できない

もし自分が面接官なら、
Laravel, Django のポートフォリオを持ってきても、そもそも見ない。
何で、Railsで作らないの? と思うのが普通

470 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 22:48:10.27 ID:PExlSXjI0.net]
経験言語そのものより良いコード書いてて配属先の技術スタック吸い込んでくれる人のほうが嬉しいかな

471 名前:デフォルトの名無しさん (ワッチョイ ee01-Gdun) mailto:sage [2022/07/18(月) 00:31:46 ID:kJA0H2Nq0.net]
>>469
いいね300低度の動画を鵜呑みにしちゃうのね

472 名前:438 mailto:sage [2022/07/18(月) 12:26:25.64 ID:J9TOF8GR0.net]
ここ数年、Ruby はオワコンと言ってる香具師が多いけど、
結局、千人の素人が言うことよりも、1人のプロが言うことの方が正しい

例えば、Rubyで求人検索すると、5件しかないからオワコンだとか書いているサイトが多い

他にも、KENTAの天敵がSES のモローで、
2年前は、Railsはオワコンで、KENTAがRailsを勧めるのは、
ポートフォリオ制作で、サロンの滞在を長引かせて儲けるためで、
Java, PHP の方が稼げると勧めていた

【2022年版】Ruby on Railsの将来性

ところが最近の、YouTube のこの動画では、
Rails一色で、キャリア相談まで始めたw
Java, PHPのSESは、どうなったの?w

一方、RailsチュートリアルのYassLab は、Rubyはオワコンと言われているけど、
Railsチュートリアルは筑波大学にも採用されて、
毎年増加しているので、本当にオワコンなのか? と言ってた

プロの方が、正確な情報を持っている

473 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 16:48:18.59 ID:B6r4rodKa.net]
最終的に負荷の問題でgoに移植ってパターンが
二度手間だから最初からgoでやれ
なんて言われてるが
ほとんどの場合、問題になるほど流行らんて

474 名前:438 mailto:sage [2022/07/18(月) 18:59:57.47 ID:J9TOF8GR0.net]
Github のコピーであるGitlab は、時価総額1兆円だけど、
Rails のままで、Go へ移行しないと宣言している

GithubはGoへ移行するけど

475 名前:438 mailto:sage [2022/07/18(月) 19:05:12.74 ID:J9TOF8GR0.net]
米国人の動画を見ると、
2億レコード・2千社のデータがあるけど、Rails で大丈夫とか、

試作品をNode.js で8週間掛かったが、Railsでは2週間だった。
JavaScript はアホらしいとか



476 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 19:16:42.87 ID:Bv+/UIkW0.net]
大量レコード・マルチテナントなんて言語選定というより設計の問題じゃん プロトタイピングの速さについては同感ですが

477 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 08:09:12.00 ID:sN86R6p40.net]
モルモン教言語のrubyも辛い立場だな
まつもとも娘に断食させたり痛いことしてたし

478 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 14:48:30.69 ID:ted3Whyfa.net]
RubyとAjaxについて勉強してるんですけど
WebページからAjaxでサーバー上のtest.cgiに文字列を渡し
そのtest.cgiで処理した戻り値をWebページ側に送るのはどうやって書けば良いんでしょうか?

479 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 15:10:56.17 ID:UGDLlV/Br.net]
>>478
rails tutorialの最後の章にほぼそのままのあるからそれ見れば
てか今日日cgiってまだ現役なのか

480 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 17:46:52.91 ID:ted3Whyfa.net]
>>479
https://railstutorial.jp/chapters/beginning?version=6.0#cha-beginning
これですか?

ただフレームワークの機能じゃなく原始的なやり方を探しています

481 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 18:12:13.33 ID:zWPrMXnN0.net]
xhrなどのキーワードでググったほうがいいんじゃないですかね

482 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 19:19:38.43 ID:UDF11vvTa.net]
>>478
cgiで処理できるんならcgiがjson返せばいいだけでは?
それともtest.cgiが
・あなたの作ったrubyプログラムとは別
・戻り値が出来るのに時間がかかり
サーバーサイドからイベント送信する必要がある
みたいな事情があるのでしょうか?

483 名前:デフォルトの名無しさん (アウアウウー Sa09-dSCr) mailto:sage [2022/07/31(日) 21:37:17 ID:ted3Whyfa.net]
>>482
やりたいことがまさにそれで、ruby側の記述がわからないというワケです
CGIオブジェクトのどの値を書き換えるとajax側に返すjsonになるんでしょうか?

484 名前:デフォルトの名無しさん (ワッチョイ ede6-M+VK) mailto:sage [2022/07/31(日) 21:58:10 ID:zWPrMXnN0.net]
標準出力にJSON.generateなどで生成したjson文字列書き込めばいいんじゃないの

485 名前:デフォルトの名無しさん (アウアウウー Sa09-dSCr) mailto:sage [2022/07/31(日) 22:57:24 ID:ted3Whyfa.net]
>>484
標準出力で良いんですね
というかjson以外でも受け取れました
ありがとうございます



486 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 23:33:55.72 ID:OH2jY+Nl0.net]
原始的なCGI使ったことあるのってもうジジイだけなのかな

487 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 23:44:05.27 ID:zWPrMXnN0.net]
根源的な理解をするにはCGIは良い教材だと思う
フレームワークの恩恵も感じやすいんじゃないかなあ

488 名前:デフォルトの名無しさん mailto:sage [2022/08/01(月) 16:40:55.75 ID:9ms8u+Pj0.net]
RailsってDBアクセスのコストが高いんですか?

489 名前:デフォルトの名無しさん mailto:sage [2022/08/02(火) 07:50:45.58 ID:XcZjnJFMa.net]
>>488
比較対象次第ではあるが
オブジェクト指向と実態のギャップを埋めるために
相応のコストは掛かってる

ただまぁこのコストが気になるレベルまで積み上がってるとしたら
(Twitterみたいな大規模プロジェクトは例外として)
何かミスか勉強不足があるかと疑いたくなる

490 名前:デフォルトの名無しさん (ワッチョイ ede6-M+VK) mailto:sage [2022/08/03(水) 13:21:34 ID:62T0uWYS0.net]
フレームワークのオーバーヘッド気にするようなケースなんてほとんど無い気が

491 名前:デフォルトの名無しさん mailto:sage [2022/08/06(土) 22:16:44.35 ID:VFKE1n46a.net]
フレームワークのコストよりもデータ構造の設計によって検索に処理時間かかったり、大きすぎる中間ファイルが出来たりというほうが
アカウント数が増えた時には問題になると思います
ファイルが大きくなったら何らかの形で分割しないといけないと思うのでボトルネックになるのは読み込むファイルのサイズになりそうな

ところでまた質問なんですが
配列の後ろから1つだけ任意の要素を削除する処理を書こうとしたら
rindexがnilを返したときにdelete_atがエラーになるんですが、rindexの戻り値を変数に格納して条件分岐入れるしかないですか?

ary=[1,2,3,4,1,2,3,4]
e = ary.rindex(2)
ary.delete_at(e)
p ary

# 一行にしたかったけどnilになるとエラー
# ary.delete_at(ary.rindex(9))

492 名前:デフォルトの名無しさん mailto:sage [2022/08/06(土) 22:18:27.62 ID:DL1SAF5+r.net]
Array#.popじゃあかんのか

493 名前:デフォルトの名無しさん mailto:sage [2022/08/06(土) 22:36:17.90 ID:DL1SAF5+r.net]
よく読んでなかったわ
可読性無視して1行に押し込みたいならこうするくらいしかないんじゃね
ary.delete_at(ary.rindex(9) || ary.size)

494 名前:デフォルトの名無しさん mailto:sage [2022/08/06(土) 23:29:41.52 ID:Mg+PC+uR0.net]
a.rindex(2)&.tap { a.delete_at(_1) }
ActiveSupportがあればtry!

495 名前:デフォルトの名無しさん (アウアウウー Sa55-woMg) mailto:sage [2022/08/07(日) 01:09:34 ID:lN5DVOZra.net]
>>493
大きいサイズ入れた時の動作仕様が今後も変わらなければいいですがちょっと不安です

>>494
おおっすごい
tapでselfの時のみdelete_at呼ばれる処理なら安全そうですね
参考にします
ありがとうございました



496 名前:デフォルトの名無しさん (ワッチョイ 71ac-bzAd) mailto:sage [[ここ壊れてます] .net]
句点Rubyおじの居場所をこっちにも作ってあげてください

497 名前:デフォルトの名無しさん mailto:sage [2022/08/12(金) 00:35:03.18 ID:GtF4IhqdM.net]
installしなくても使えるrubyを用意すれば、ユーザ増えないですかね
まず初心者にも簡単に使い始められるようにしてユーザ数を増やす

498 名前:デフォルトの名無しさん mailto:sage [2022/08/12(金) 01:10:01.38 ID:icd+inSAd.net]
インストールを嫌うのはWindowsユーザー特有の習慣なわけだけど、
RubyにおいてWindowsユーザーは嫌われ者だからあえてWindowsユーザーを増やすような施策はしないだろうねえ
せっかくWindowsならWSL使えで終わりにできる時代になったのだし、今更逆行させたくないだろう

499 名前:デフォルトの名無しさん mailto:sage [2022/08/12(金) 01:22:47.32 ID:Ec+72ko9M.net]
dockerイメージでいいっしょ〜

500 名前:デフォルトの名無しさん mailto:sage [2022/08/12(金) 01:54:30.94 ID:F/Knq/Ex0.net]
そもそもWindowsを使わければいい

501 名前:デフォルトの名無しさん mailto:sage [2022/08/12(金) 01:58:27.77 ID:3I6JE0fzr.net]
逆にWSLじゃどこがいけないのか

502 名前:デフォルトの名無しさん mailto:sage [2022/08/12(金) 19:29:04.08 ID:Ly5UHJxV0.net]
休日を機にrubyの勉強を始めた
もうSESで業務系・制御系客先常駐は嫌だウェブに行くんだ

503 名前:デフォルトの名無しさん mailto:sage [2022/08/12(金) 20:34:34.61 ID:EhKo6h0UM.net]
Node.jsやGoにしときなよ
今更Rubyはじめましたなんて保守のクソ案件やらされるだけだぞ

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

605 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 08:30:53.03 ID:eEwP+0xWa.net]
Code Runnerを気軽に勧める人おるが
アレわりと邪悪な拡張だと思うんだよなぁ

ちゃんと環境作ったほうがいいし
簡易ですませる場合もコンソール使った方がよくない?



606 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 08:36:16.49 ID:TCOo6fxCa.net]
邪悪というと、語弊があるか
…邪道もしくは害悪あたり


アレがファイルではなくコードを実行してるあたりを認識せずにハマってる初学者何人か見た

607 名前:614 mailto:sage [2023/03/07(火) 01:04:58.17 ID:oFQklhQHa.net]
山田祥寛のRuby 3 の本でも、MSYS2 のRuby Installer を使っているけど、
VSCode の拡張機能・Code Runner を使っている

Code Runner では、この設定をチェックしておくと良い。
Code-runner: File Directory As Cwd
Whether to use the directory of the file to be executed as the working directory.

そうすると実行時にcd で、そのファイルがある場所へカレントディレクトリを移動してから、
ruby "絶対パス/ファイル名.rb"
又は、ruby "絶対パス/tempCodeRunnerFile.rb"
で、そのファイルを実行する

tempCodeRunnerFile.rb は、Rubyのコード片をコピーした一時的なファイル

設定項目、executorMap には、多くの言語の実行コマンドが書いてある。
"code-runner.executorMap": {

"javascript": "node",

"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",

"python": "python -u",
"ruby": "ruby",

608 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 02:03:47.62 ID:vk4APYnr0.net]
そもそもWindowsを使うべきでないし、
MSYS2も使うべきでないし、
Code Runnerなんか使うべきでない

609 名前:デフォルトの名無しさん [2023/03/07(火) 08:33:17.73 ID:eOMIe0zX0.net]
 Progateというプログラミング学習サイトのRuby on Rails5の開発環境を用意しようコースで、rubyのバージョン確認、SQLのインストール、Railsのインストールまではスムーズ行えたんだけど、その次のRailsアプリケーションという所でコマンドプロンプトを使って《rails new ファイル名 -G》のコマンドを入力すると、下の方に下記のようなエラーが複数出てきてその後の《rails server -G》のサーバー起動の時にも同じエラーが出て上手くいかない。
どうすれば良いんですか?エラー内容を見ても分からない。

それぞれのバージョンは
【Ruby】ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [x64-mingw32]
【Rails】Rails 7.0.4.2
【PC】64 ビット オペレーティング システム、x64 ベース プロセッサ

エラーは
C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:50:in `match?': invalid byte sequence in UTF-8 (ArgumentError)
from C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:50:in `chop_basename'
from C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:374:in `plus'
from C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:354:in `+'
from C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:420:in `join'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/settings.rb:444:in `global_config_file'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/settings.rb:93:in `initialize'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler.rb:331:in `new'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler.rb:331:in `settings'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/env.rb:20:in `report'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/friendly_errors.rb:72:in `request_issue_report_for'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/friendly_errors.rb:50:in `log_error'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/friendly_errors.rb:109:in `rescue in with_friendly_errors'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/friendly_errors.rb:101:in `with_friendly_errors'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/libexec/bundle:37:in `<main>'

610 名前:デフォルトの名無しさん [2023/03/07(火) 10:07:23.72 ID:eOMIe0zX0.net]
OSはWindows11 home 22H2です

611 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 10:44:28.93 ID:0yJrO03Z0.net]
VisualStudioCodeでRailsの環境構築が上手くできません
https://ja.stackoverflow.com/questions/92611/visualstudiocode%E3%81%A7rails%E3%81%AE%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E3%81%8C%E4%B8%8A%E6%89%8B%E3%81%8F%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93

ここにあるのと同じハマり方してるなら、ユーザー名が日本語になってて
ハマってるパターンかなあ。

自分ならとりあえず指示通りにC:\TempとC:\Homeフォルダを作ってコマンドプロンプトで
set TMP=C:\Temp
set HOME=C:\Home
して試してみるかな。

駄目なら次は新しくアルファベットのみでユーザー作って試す。
途中で再インストールも辞さない構え。

612 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 10:49:58.83 ID:0yJrO03Z0.net]
どうしても解決できないがRailsに触ってみたいなら
Railsチュートリアルに従ってCloud9上でやるか(多分クレカが必要)
WSLの導入を検討するかかなあ。


昔もフォルダ名にスペースが含まれたり日本語が含まれてて
動かんとかよくあったけどいまだにあるんだなあ。

613 名前:デフォルトの名無しさん [2023/03/07(火) 11:38:27.82 ID:eOMIe0zX0.net]
>>611
 ユーザー名は日本語ですねwひらがな2文字です。
それがそんなに影響してるんすね

614 名前:デフォルトの名無しさん [2023/03/07(火) 12:50:55.71 ID:eOMIe0zX0.net]
>>611
 とりあえずユーザー名を変えて試してみたらいいんですかね?

615 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 14:06:24.57 ID:0yJrO03Z0.net]
>>614
多分単純にユーザー名変えるだけだとフォルダ名は変わらないから駄目なんじゃないかな。
新しくアルファベットのみのユーザー作って、そのユーザーでログインしないと。


ただ、それをすると今のユーザーの設定は引き継がれないし
Rails使う時だけそのユーザーにログインしないといけなくなるのでちょっとめんどくさいかも。



616 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 14:10:48.58 ID:vk4APYnr0.net]
だから、初心者ほど、あれほどWindowsを使うなと言っているわけで

617 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 14:22:52.66 ID:0yJrO03Z0.net]
RailsチュートリアルでCloud9をわざわざ使ってるのも環境統一できるからだしなあ。
自分がどうしてもWindowsマシン1台でやれって言われたらWSLでUbuntu入れて
そこでやる。

618 名前:デフォルトの名無しさん [2023/03/07(火) 14:23:46.47 ID:eOMIe0zX0.net]
>>615
 ユーザー名を変えた後にrubyをアンインストールして入れ直したりしても無理なんですかね?

619 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 14:40:43.15 ID:msqWHE5U0.net]
Windows固有の問題も聞かないと解決できないんだし
WSL2でやるのがまちがいないよ
このあともネイティブ拡張や外部プログラムに依存してるgemで絶対ハマる

620 名前:デフォルトの名無しさん [2023/03/07(火) 14:51:13.04 ID:eOMIe0zX0.net]
>>615
 rails使う時だけで良いですね、指示通りにできなくてどうしてもやりたくてモヤモヤしてるだけなんで。
なんなら新しいユーザーをrailsにしようとおもいます

621 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 15:00:44.35 ID:0yJrO03Z0.net]
>>620
やってみて、できたら報告してくれるとうれしい。


それでも駄目ならWSLについて調べてそっちでやれば割とすんなり行くんじゃないか。
ググるかqiita調べれば記事いっぱいでてくるだろう。

622 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 15:58:28.99 ID:CdvGJ9oAa.net]
>初心者ほど、あれほどWindowsを使うな

Rubyに関しては同意
っていうかRubyもうオワコンで良くね

623 名前:デフォルトの名無しさん [2023/03/07(火) 15:59:29.31 ID:eOMIe0zX0.net]
よく分かんないんすけどWindowsでrubyを触ること自体あまり良くないんすか?

624 名前:デフォルトの名無しさん [2023/03/07(火) 16:12:13.76 ID:09h4aa1hp.net]
Rubyとjava選べるならどっちやるよ?

625 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 19:56:32.42 ID:cliNPotC0.net]
そもそもWindows上でプログラミングすることがあんまり推奨できない
パスとか漢字コードとか引っかかるところ大杉



626 名前:デフォルトの名無しさん [2023/03/07(火) 20:15:30.84 ID:uRhwCRx20.net]
>>625
 じゃあMacとかが良いんですかね?

627 名前:614 mailto:sage [2023/03/07(火) 20:27:30.71 ID:wbYp+Qgwa.net]
>C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:50:in `match?'
: invalid byte sequence in UTF-8 (ArgumentError)

ウェブ系では全言語で、Windows の日本語・CP932(shift-jis), UTF-16 がダメ。
それで、MSYS2 でバグる

日本語のユーザー名やファイルパス、
C:\Program Files などのファイルパス中の半角空白もヤバイ

\ もダメだから、例えばPython では、
C:\Users\Owner\Desktop を、C:\\Users\\Owner\\Desktop みたいに書いている。
Rubyでは、C:/Users/Owner/Desktop と書ける

でも、全言語の入門書ではLinux ではなく、MSYS2を使う。
理由は、初心者がLinuxの勉強するのを避けるため

そこで、日本語でバグらないように一計を案じたのが、
irb ではなく、VSCode の拡張機能・Code Runner を使う方法

本当はRails のローカル開発なら、
WSL2, Linux, Docker Desktop, Windows Terminal を使う。
YouTube のDeanin の動画を参照

これは、ハイパーバイザーでLinuxも起動するから、
メモリ8GB ぐらいのパソコンでもキツイ

628 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 20:50:01.17 ID:PDMeVJPD0.net]
シェア大きいデスクトップOSから小さいOSに行っても仕方がない。
個人のスクリプトなんて殆どはデスクトップのちょっとした自動化やツール作成に過ぎんしWebでもRubyは落ちていくだけなんだから。

プログラミング言語やそのライブラリが不出来なのが原因で
自分のOS乗り換えるとか馬鹿げすぎてる。
殆どの人にとって本末転倒。

629 名前:デフォルトの名無しさん [2023/03/07(火) 21:18:43.59 ID:uRhwCRx20.net]
 皆さん本当にありがとうございます!なんかよく分からないけど解決しましたわ!

 変えたのは新しいユーザー名でローカルアカウントを管理者で追加しただけっす。
まさかこれだけが原因だとは思ってもいなかった、名前変えただけで解決するとは。
数日のモヤモヤが消し飛んだ!よく眠れそう!!
これでどういうアプリケーション作ろうか考えながら日々を過ごせるデュフフ!
助かった!!!


https://i.imgur.com/25fYItg.jpg
https://i.imgur.com/25fYItg.jpg
https://i.imgur.com/ZVPsf80.jpg
https://i.imgur.com/NSLXfa5.jpg
https://i.imgur.com/NSLXfa5.jpg
https://i.imgur.com/vFAVrIm.jpg
https://i.imgur.com/dUBF91L.jpg
https://i.imgur.com/v9JauTv.jpg
https://i.imgur.com/njAI57g.jpg
https://i.imgur.com/S8niawG.jpg
https://i.imgur.com/HTI4JOd.jpg
https://i.imgur.com/F8jb7aG.jpg
https://i.imgur.com/AvYeRqK.jpg
https://i.imgur.com/hGnnL9x.jpg
https://i.imgur.com/Y9oaUXx.jpg
https://i.imgur.com/cnabhzl.jpg

630 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 21:45:18.69 ID:vk4APYnr0.net]
>>628
それは違うな
WindowsのOS自体が不出来なのが原因

631 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 22:39:47.28 ID:msqWHE5U0.net]
不出来なんて書くから荒れる
PythonやUnityと違って元々Windows想定してないだけで
無理やりポーティングした連中が周辺含めて面倒みきれてないのが悪い

632 名前:614 mailto:sage [2023/03/07(火) 22:44:38.18 ID:uM/T9lOBa.net]
黒田努の3冊が分かりやすい

改訂4版 基礎 Ruby on Rails、黒田努・佐藤和人、2018/9
Ruby 2.5.1, Rails 5.2 の本

Ruby on Rails 6 実践ガイド、黒田努、2019/12
Ruby on Rails 6 実践ガイド[機能拡張編]、黒田努、2020/5

基礎 Ruby on Rails を読んだら、
確か、Rails チュートリアルのRails 5 なら無料で見れる

昔は皆、Cloud 9, Heroku で作っていたけど、
Herokuの無料枠が無くなったのか?

YouTube で有名な雑食系エンジニア・KENTA の初心者向けRailsサロンなら、月千円。
他には、Rails専業のRUNTEQ、東京フリーランスのデイトラなど

MSYS2 では、またデータベースでバグったりする。
基本的に、CP932 で動くようなモジュールは無い。
CP932の事を知っている外人は、どこにもいない!

633 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 23:30:51.04 ID:ezUrq35ga.net]
WindowsとUnix互換の違いを理解していないと
RubyをWindowsで使った際に発生するトラブルに対処するのは難しい
それだけよ

634 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 01:55:42.14 ID:qj+ABtmuM.net]
>>631
Pythonが元々Windows想定してる?
ご冗談を

635 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 03:21:16.01 ID:nSIfG2D90.net]
とにかく、WindowsでWSL以外のUnix系環境は、一切入れないぐらい決め込んで、Windowsと付き合うぐらいのほうがいい
WSL以外に、CygwinとかMSYSとか入れるべきでない
(もちろん、分かっているならば、共存できるが、無駄以外の何ものでもない)

>>631
それを言うなら、Pythonもひどい



636 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 07:16:52.80 ID:USFtIbBoM.net]
WSLあるし今はあんま流行ってないけどvirtualboxでvagrant環境とかね
そういえばVagrantfileはrubyで書かれてたんだっけ

637 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 14:33:04.41 ID:lc0skjdva.net]
>>627
シレっと嘘を描くな
おまえ KENYA 信者か本人だろ

638 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 08:40:41.77 ID:HajkMPAQ0.net]
Windows版ではじめたんですがirbのヘルプ機能やriで反応がなくなって困ってます
確実に再現できる手順はこんな感じ

1. irb を起動して Stri まで打ってタブ補完
2. ドキュメントの先頭が表示されたら Alt+d で全体表示
3. ヘルプのページャーを抜ける(lessを使ってるのでqを入力)
4. 画面がページャーから戻るがキーへの反応なし

ヘルプを活用したいのですが付き合い方を教えてください

639 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 18:26:48.47 ID:C2q9ydgP0.net]
#include <ruby.h>したプログラムでfcloseを呼び出したらrb_w32_fcloseという関数が呼び出されてその中でエラーになる現象に出くわした
rb_w32_fcloseでぐぐったらずばりruby.hから#includeされているwin32/win32.h中で「#define fclose(f) rb_w32_fclose(f)」されているのが原因と解説しているサイトがあった

しかしこの解説は14年前の記事だよ!?ruby 3.2.1でもこの#defineが残っていて同じ問題が起きるよ!?
標準ライブラリ関数であるfcloseを#defineするなどという行儀の悪いことをしたばかりか3.2.1でもまだ直っていないとはどういうことであろう

640 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 18:33:52.65 ID:C2q9ydgP0.net]
>>638
vcpkgでビルド(vcpkg rubyでぐぐって最初に出て来るページの方法)したRuby 3.2.1のirbだと再現しなかった
インストール方法とバージョンを書いた方が答えが来るかも

641 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 21:33:33.03 ID:HajkMPAQ0.net]
ありがとう。
rubyinstaller-3.2.1-1-x64.7z を C:\Ruby32-x64 に展開して
C:\Ruby32-x64\bin にパスを通しました。
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x64-mingw-ucrt] を
Windows11 上の Windows ターミナル バージョン: 1.16.10262.0 で使ってます。

確実に再現するわけではないようで、ページャーから戻って反応したら
バックスペースで Stri に戻してタブ補完、Alt+d を何度か繰り返すと発現します。

642 名前:デフォルトの名無しさん [2023/03/21(火) 21:56:12.11 ID:j1wCLUw7p.net]
スクールでRubyやってるんだが仕事でc#やれることになって辛すぎる

643 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 22:00:08.53 ID:lol8+tHB0.net]
>>641
mingwやなくてVCビルドと書いてんのに試さないんだ?
Win連携するならしゃーないけど
そうでないならWSL2で動かすのがまちがいないよ

644 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 22:39:27.58 ID:HajkMPAQ0.net]
発現したりしなかったりってのが気になったので
思い付きでaffinityを指定して使うコアを1個だけ指定したら発現しなくなりました。
めんどくさいんでもうこれで解決ってことで

645 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 23:09:01.49 ID:C2q9ydgP0.net]
vcpkgとは別にrubyinstaller-3.2.1-1-x64.7zを解凍したやつあるからちょっと試してみた
Windows10だしWindowsターミナル入ってないからpowershellでやってみたけど再現しないな



646 名前:614 mailto:sage [2023/03/21(火) 23:50:54.71 ID:0fmXlD4Ba.net]
>>627
に書いたように、MSYS2/MinGW, irb はダメ!
データベースや日本語でバグル

書き忘れたけど、WSL2, Linux では、
日本人が作った多言語バージョンマネージャーのanyenv がお勧め。
同様のツールに、asdf もある

対応言語
Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv

647 名前:デフォルトの名無しさん (ワッチョイ d2bd-+msU) [2023/03/26(日) 05:01:39.43 ID:OlOn0nrS0.net]
言語開発って続いてるの?
教科書でもPython でしょ
国が採択しない言語開発してどうするの?
負けを認めろよ

648 名前:デフォルトの名無しさん [2023/03/26(日) 15:33:29.61 ID:kD3idY+R0.net]
Rubyはほんと、教材商法・スクール商法で見るだけのものになっちまった

649 名前:デフォルトの名無しさん mailto:sage [2023/03/26(日) 15:41:43.95 ID:7zNZ7K4O0.net]
Rails以外にも案外Ruby製のツールがあって
依存してるところまだまだ多いと思うよ
個人的にはまったく困らないけど

650 名前:デフォルトの名無しさん mailto:sage [2023/03/26(日) 23:47:43.21 ID:84pulk9Sa.net]
HiPro Tech 2022 によると、

バックエンドエンジニア : 80万円
Ruby : 90
Python, Go : 85

レガシー
C#.NET, ASP.NET, Java : 80
C : 70

651 名前:デフォルトの名無しさん (ブーイモ MMb6-8ZL+) mailto:sage [2023/03/27(月) 06:46:21.42 ID:Zms4zMZFM.net]
自分のいる会社だとJava(とかKotlinでAndroid)案件は50人規模とかあるけどRuby/Rails案件は4,5人規模が多い
個人的には圧倒的にRubyが好きだけど

652 名前:デフォルトの名無しさん mailto:sage [2023/03/28(火) 23:20:14.76 ID:TltQQt7h0.net]
irbでAlt+dのフルヘルプ表示の後で固まる件だけど
第12世代のCore i7そのまま(論理CPU20個)だとそこそこ起こる
Start-Process 'ruby' '-S irb' -NoNewWindow -Wait -PassThru | % { $_.ProcessorAffinity = 1 }
とかして論理CPU1個に指定すると起きない
古い第3世代のCore i7そのまま(論理CPU8個)だと起きない
微妙な競合が起きてる雰囲気だけどRubyを信じて使っていいのか不安になってきた

653 名前:デフォルトの名無しさん (ワッチョイ a9b1-VgrF) [2023/04/12(水) 23:29:31.69 ID:CI3e3lhQ0.net]
この前久しぶりに覗いてみたんだけどRubyがミニツクって死んだの?

654 名前:デフォルトの名無しさん (ワッチョイ 41f0-yO2X) mailto:sage [2023/04/13(木) 11:58:31.89 ID:mRtRmWEi0.net]
BFFアーキテクチャ嫌い

655 名前:614 (アウアウウー Sa05-cPl8) mailto:sage [2023/04/13(木) 13:37:33.70 ID:locxrLlCa.net]
PowerShell のStart-Process の事?

>>627
に書いたように、MSYS2/MinGW, irb はダメ!
データベースや日本語でバグル



656 名前:デフォルトの名無しさん (ワッチョイ 41f0-yO2X) mailto:sage [2023/04/13(木) 15:27:38.87 ID:mRtRmWEi0.net]
Dockerでいいだろ

657 名前:デフォルトの名無しさん (ワッチョイ bd5f-JuRI) mailto:sage [2023/04/13(木) 15:35:08.69 ID:EltVqAhD0.net]
ターゲットがLinuxやなくホストOSだったら?
Webアプリ化できる範囲ならいいけど

658 名前:デフォルトの名無しさん (アウアウウー Sac3-ixN4) [2023/05/07(日) 20:19:34.43 ID:QZNbJigga.net]
最大値が複数ある場合に、該当する全てのインデックスを取り出すには、どうする?
漏れのやり方は、

ary = [ 5, 4, 5 ]
p max = ary.max #=> 5

p result = ary.each_with_index.select { |num, idx| num == max }.
map { |ary| ary[ 1 ] }

#=> [0, 2]

659 名前:デフォルトの名無しさん mailto:sage [2023/05/21(日) 22:49:59.52 ID:ZMxA9gJ3M.net]
fedoraです

libruby.so.3.1 に依存してて
require open-uri
が失敗するようです。
3.2では動くようになりませんでしょうか?

660 名前:デフォルトの名無しさん mailto:sage [2023/05/22(月) 15:32:59.23 ID:sAlsu4+P0.net]
環境隠すしエラーそのまま貼らないからエスパー必至
自前ならビルドに失敗してる
解決できないならDockerコンテナ使ったほうがいい

661 名前:デフォルトの名無しさん mailto:sage [2023/05/28(日) 05:56:00.24 ID:Ie6k1/AyM.net]
最近は出来るだけRubyは使わない方向としてる。理由は依存関係が複雑過ぎるからトラブル時に解決が困難なこと。texliveみたいなのあってもいいんじゃない?
マイナーなので症状でググっても、最近はヒットしないケースが殆んど。

既存でやむを得ないもの以外、外せるものは少しづつ外しているのが実情。

662 名前:デフォルトの名無しさん mailto:sage [2023/05/30(火) 05:23:38.77 ID:hG6L19Sqa.net]
そもそも、libruby.so.3.1 で、Ruby 3.2 が動くの?
バージョンが違うのに

漏れは、Windows 10, WSL2, Ubuntu 18.04 で、
日本人が作った、多言語バージョンマネージャーのanyenv で、
ruby, node.js を入れているけど、同様のツールに、asdf もある。
anyenvでは、nodenv, pyenv, rbenv などを使う

他には、Docker を使う

君は、どのバージョンマネージャーを使っている?

そもそも、fedora は素人向きじゃない。
テスト環境用。まともに動かないだろ

Ubuntuの安定版、20.04/22.04 を使いな。
あまり新しいのにすると、各モジュールが動かないかも

663 名前:デフォルトの名無しさん mailto:sage [2023/06/09(金) 20:19:39.14 ID:2LAkUH9UM.net]
どっちも so.3 にシンボリックリンクされてるな

664 名前:デフォルトの名無しさん (ワッチョイ cf05-IPSQ) [2023/08/01(火) 17:59:14.06 ID:gmCvkwam0.net]
独学の初心者です
どのクラスでも使う汎用的なメソッドを作りたいんですが
こういう時ってクラス外で定義して関数にするのか
それともモジュールにするのとどちらが良いのでしょうか?
というかモジュールの使い処がいまいち理解できていません

665 名前:デフォルトの名無しさん (アウアウウー Sa1f-dFKk) mailto:sage [2023/08/01(火) 19:15:09.38 ID:0t0I81Pra.net]
理想的にはMathやFileUtilsを参考にmodule_function

クラス名を名前空間的に使ったクラスメソッドなんかも悪くはない



666 名前:デフォルトの名無しさん (アウアウウー Sa1f-IPSQ) [2023/08/02(水) 09:23:39.40 ID:4pI1Wfnva.net]
mix-in

667 名前:デフォルトの名無しさん (ワッチョイ cf05-IPSQ) [2023/08/03(木) 00:48:30.43 ID:xJtx41VE0.net]
ありがとうございます
どちらも試しましたが取りあえずmix-inの方でやっていく事にしました

668 名前:デフォルトの名無しさん (ワッチョイ e348-7tt+) [2023/09/02(土) 00:26:36.73 ID:z/gB7JNN0.net]
rubyで、あるファイルのファイル名を取得したいとき、
そのファイル名がUTF-8-MACの場合どうすればいいですか?

669 名前:デフォルトの名無しさん (ワッチョイ b35f-3GEm) mailto:sage [2023/09/02(土) 09:19:28.34 ID:B59+Sgxx0.net]
脳内ではつながってるんだろうけど質問になってない

670 名前:デフォルトの名無しさん (アウアウウー Sae7-fXI3) [2023/09/02(土) 14:46:55.42 ID:mCX3wjBNa.net]
どうもしなくて良いのでは

671 名前:デフォルトの名無しさん (アウアウウー Sae7-w3JM) mailto:sage [2023/09/03(日) 01:52:14.83 ID:wudKI+s6a.net]
「ruby UTF-8-MAC」で検索!

Macのファイル名に使われる、NFDなUTF-8(通称UTF-8-MAC)を、通常のUTF-8に変換する。
UTF8-MAC、アップルによって修正された、
Normalization Form D(NFD・分解済み)という形式のUTF-8です。
濁音や半濁音が2文字扱いになる

String#encode を使って

filename_utf_8 = filename_utf_8_mac.encode(Encoding::UTF_8, Encoding::UTF8_MAC)

672 名前:デフォルトの名無しさん (ワッチョイ a37d-+GqY) mailto:sage [2023/09/03(日) 04:30:11.51 ID:viellF9f0.net]
MAC からその他の環境であれば String#unicode_normalize() で NFC に変換しても良いでしょうけど
MAC から MAC であればそのまま何もしない方が良いと思う

673 名前:デフォルトの名無しさん (ワッチョイ dee6-dtHc) [2023/09/23(土) 00:31:38.96 ID:aQUNS12d0.net]
rubyでOCRAを使って感動していましたが、
最近はOCRAでもエラーばかりです。

exe化の良い方法を教えてください。(教えて君ではなくおじいさんになってしまった。)

674 名前:デフォルトの名無しさん (ワッチョイ 6384-O3vA) mailto:sage [2023/09/23(土) 00:54:25.92 ID:1rf3sz5t0.net]
>>673
Neriでも使えばよいのでは?

675 名前:デフォルトの名無しさん (ワッチョイ 6de6-lHjV) [2023/10/09(月) 08:07:49.09 ID:2tIVtmSa0.net]
Rubyって面白そうなのに
日経ソフトウェアで一度も特集されませんね。



676 名前:デフォルトの名無しさん (ワッチョイ 6de6-lHjV) [2023/10/09(月) 08:09:27.02 ID:2tIVtmSa0.net]
今からRubyを勉強するぞ・・・
止めるなら今のうちだ。

それとも負けずに教えてください。
目標は欲しいツールを自分で作れるようになることです。

677 名前:デフォルトの名無しさん (ワッチョイ 6de6-lHjV) [2023/10/09(月) 08:11:52.40 ID:2tIVtmSa0.net]
たのしいRubyと独習Rubyを購入

5chのこれ、アクセスできなかった。
>>Rubyist Magazine - るびま
>>jp.rubyist.net/magazine/
正しくは、これかな、「https://magazine.rubyist.net/」

678 名前:デフォルトの名無しさん [2023/10/09(月) 10:53:42.22 ID:5XBl3KCR0.net]
>>676
ええやん!
応援するよ

679 名前:デフォルトの名無しさん [2023/10/09(月) 11:15:26.24 ID:5XBl3KCR0.net]
しかしこのスレではあまり話もできないわ
なんせエロCMで気が散ってしまうものw

680 名前:デフォルトの名無しさん [2023/10/09(月) 12:12:55.62 ID:2tIVtmSa0.net]
>>678
ありがとう。

とりあえず、ひたすらコードを入力してみます。
よいサイトや書籍があったら教えてください。

681 名前:デフォルトの名無しさん mailto:sage [2023/10/10(火) 05:48:38.93 ID:1udEdqxq0.net]
日経ソフトウェアは、ホビーっぽい

Ruby, Java はバックエンド技術者だから、プロや転職情報。
Linux, AWS を使う。
Ruby on Rails は、モダンなスタートアップ企業でフルリモート

一方、Javaは、SIer で客先、インターネット禁止。
中抜き・多重請負構造の土方。
家電量販店のバイトまでさせられる、イメージ

たのしいRuby・独習Rubyの次は、マネーフォワードの逆引きを読めばよい。
改訂2版 パーフェクトRubyもある

それ以降は、Railsになる。
筑波大学も使っている、Railsチュートリアル日本語版の古いRails 5 なら、無料で読める

これをスラスラ読むために、有名YouTuber が習得技術ロードマップを作っている。
雑食系エンジニア・KENTA とか、Rails専門学校・RUNTEQ の菊本とか。
Deanin はRailsの第一人者

最初はファイル・文字列処理と、
プログラミングのお題みたいな、ちょっとしたパズルを解くのが良い

Enumerable のメソッドは、よく見ておいた方が良い。
パズルに使えるから

682 名前:デフォルトの名無しさん mailto:sage [2023/10/10(火) 05:49:02.13 ID:1udEdqxq0.net]
日経ソフトウェアは、ホビーっぽい

Ruby, Java はバックエンド技術者だから、プロや転職情報。
Linux, AWS を使う。
Ruby on Rails は、モダンなスタートアップ企業でフルリモート

一方、Javaは、SIer で客先、インターネット禁止。
中抜き・多重請負構造の土方。
家電量販店のバイトまでさせられる、イメージ

たのしいRuby・独習Rubyの次は、マネーフォワードの逆引きを読めばよい。
改訂2版 パーフェクトRubyもある

それ以降は、Railsになる。
筑波大学も使っている、Railsチュートリアル日本語版の古いRails 5 なら、無料で読める

これをスラスラ読むために、有名YouTuber が習得技術ロードマップを作っている。
雑食系エンジニア・KENTA とか、Rails専門学校・RUNTEQ の菊本とか。
Deanin はRailsの第一人者

最初はファイル・文字列処理と、
プログラミングのお題みたいな、ちょっとしたパズルを解くのが良い

Enumerable のメソッドは、よく見ておいた方が良い。
パズルに使えるから

683 名前:691 mailto:sage [2023/10/10(火) 05:55:23.51 ID:1udEdqxq0.net]
05:48:38.93
05:49:02.13

1クリックで2回も書き込んで、23秒もずれるなんて、
サーバー時間が狂いすぎ。めちゃめちゃ

684 名前:デフォルトの名無しさん [2023/10/10(火) 07:23:24.95 ID:BDsbHemP0.net]
>>680
ワイはRubyでスレ読みすることにしたわ

685 名前:691 (ワッチョイ 09fd-STj1) mailto:sage [2023/10/10(火) 13:14:18.71 ID:tBEWn+zw0.net]
データを取得してから、

ERB で、<% 〜 %>, <%= 〜 %> を使って、
または、Nokogiri を使って、HTML を作るとか、

Selenium Webdriver で、ブラウザを自動操作するなども出来る



686 名前:デフォルトの名無しさん mailto:sage [2023/11/23(木) 14:41:35.50 ID:3EANAdRCH.net]
プログラミング入門にピッタリなビジュアル言語「Pickcode」が登場
https://gigazine.net/news/20231122-pickcode/

PickRubyを作って利用者を増やそう

687 名前:デフォルトの名無しさん (ワッチョイ 87da-zwhO) mailto:sage [2024/01/23(火) 06:17:44.25 ID:bl4lyV110.net]
まっつん意外と趣味いいな
特にCAにはかなりこだわりがあるようだ

女性セレクト指示書

・松本の要望
ユニクロ
マクドナルド
スタバ店員
中学高校教師
弁護士
広報女性
人妻(子供なし)
CA(ANA、JAL)

・松本のNG
茶髪
モデル
飲み屋
美容師
アパレル
CA(LCC)

688 名前:デフォルトの名無しさん [2024/02/04(日) 01:31:48.29 ID:yc8BToGx0.net]
The Odin Project
https://www.theodinproject.com

High quality coding education maintained by an open source community.

ウェブ開発者用で、無料のRuby on Rails, React コースなどもあるけど、これらはどうでしょう?

689 名前:デフォルトの名無しさん [2024/03/31(日) 10:31:26.61 ID:WiLTOmZx0.net]
Rubyって海外でもオワコンの雰囲気なのか
https://opers-kaigaihanno.com/post-323/

結局、Railsしかヒットしなかった言語って感じ

690 名前:デフォルトの名無しさん mailto:sage [2024/04/01(月) 16:21:53.67 ID:K9bDc1jK0.net]
ツール類で使われてたりする
最近のはPython/JS/Go/Rust製が大半だけども

691 名前:デフォルトの名無しさん mailto:sage [2024/04/02(火) 18:22:15.63 ID:X7j2yPVL0.net]
インフラ系のツールは一昔前はRuby製多かったよね
最近ではその辺はみんなからGoかRustに行っちゃって絶滅危惧種だけど

692 名前:デフォルトの名無しさん mailto:sage [2024/04/03(水) 15:58:20.98 ID:eNgZCM350.net]
RubyはWeb開発だとしばらくは使われると思うけど、そのうち消えていくんだろうなあ。
Pythonの文法はあまり好きではないけど、一度主流になるとなかなかなくならない。

693 名前:デフォルトの名無しさん mailto:sage [2024/04/05(金) 00:26:53.75 ID:zfuNjquS0.net]
The Ruby on Rails Resurgence - DevOps.com
BY: JIM REMSIK ON APRIL 2, 2024
ttps://devops.com/the-ruby-on-rails-resurgence/

694 名前:デフォルトの名無しさん mailto:sage [2024/04/18(木) 12:30:57.95 ID:ZlKVVvZaH.net]
a=",,,,".split(".")

a=",,,, ".split(".")

a[0]が違うのがやりにくい

695 名前:デフォルトの名無しさん mailto:sage [2024/04/18(木) 14:22:14.91 ID:KvlRtiX30.net]
https://docs.ruby-lang.org/ja/latest/method/String/i/split.html
limit == 0 分割個数制限はなしで、配列末尾の空文字列を取り除く
limit < 0 分割個数の制限はなし

アホな仕様やな



696 名前:デフォルトの名無しさん mailto:sage [2024/04/18(木) 14:38:53.85 ID:+9RZR0TW0.net]
>>694
違う文字列だしsplitされないんだから結果も違って当然では?

697 名前:デフォルトの名無しさん (ワッチョイ 093a-hIEc) [2024/08/17(土) 08:14:57.02 ID:9Uz9N2V10.net]
誰か、以下の間違いを文書係に伝えてください!
漏れは、やり方がわからないので

class CSV::Row - Ruby 3.3
https://docs.ruby-lang.org/ja/latest/class/CSV=3a=3aRow.html

field, delete の引数は、
header_or_index, minimum_index = 0
なのに、

self[header_or_index] = value
self[header, offset] = value
の引数は、なぜ2つに分けたのか?

self[header_or_index, minimum_index = 0] = value
と書けば良かったのでは?

それと、
self[header, offset] = value
のコード例が、
self[header_or_index] = value
の所に書いてあるのも間違い

それと、
fields(*headers_and_or_indices) -> Array
push(*args) -> self
のコード例に、Copy ボタンが無い

698 名前:デフォルトの名無しさん mailto:sage [2024/08/17(土) 11:44:54.96 ID:xfy35KhQ0.net]
>>697
https://github.com/rurema/doctree/wiki/HowToContribute

699 名前:707 mailto:sage [2024/08/20(火) 03:22:49.15 ID:c93yCXJ/0.net]
fields(*headers_and_or_indices) -> Array
values_at(*headers_and_or_indices) -> Array
与えられた引数に対応する値の、配列を返します。

要素の探索に、CSV::Row.field を使用しています。

[PARAM] headers_and_or_indices:
ヘッダの名前かインデックスか、Range のインスタンスか、
第 1 要素がヘッダの名前で、第 2 要素がオフセットになっている、
2 要素の配列をいくつでも指定します。
混在することができます。
[RETURN]
引数を与えなかった場合は、全ての要素を返します。

これも、オフセットを指定した場合は、
このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。
みたいに書くべきでは?

require "csv"

csv = CSV.new( "a,b,a,a\n1,2,3,4", headers: true )
table = csv.read
row_3 = table.first
p row_3.values_at( ["a", 3], "a", 1, ["a", 1], 3..4 )
# => ["4", "1", "2", "3", "4", nil]

>>698
誰か、漏れの代わりに文書係に伝えてください!

700 名前:デフォルトの名無しさん mailto:sage [2024/08/24(土) 07:53:23.51 ID:Jdsx7bDK0.net]
コードのドキュメントを作るとき選択肢はRDocかYRADだけど、
どっちもデザインがいけてないしそもそも見づらくない?
YARDはテンプレートで変えられるみたいだけど公開されてるのが全然見つからないし
何とかならんのか

701 名前:デフォルトの名無しさん (ワッチョイ 82f6-EMgm) mailto:sage [2024/08/30(金) 15:15:25.99 ID:bL2sRbri0.net]
漏れは、YARD を使っている

RDoc は古いから

702 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 00:09:46.32 ID:GmU0hAi20.net]
perlは作り直したからダメになったんじゃねーよw
自然言語の性質をより多く取り込もうとしてパンクしたんだよ
メクラ

703 名前:デフォルトの名無しさん [2024/10/16(水) 16:27:37.73 ID:KmdrWIoqa.net]
Ruby の仕様に、破壊的な変更が、2.0 以降、入っていないのは、
Python・Perlの言語開発者による独善的な?変更での失敗に学んで
いる から、だと思います。)

https://qiita.com/asip2k25/items/729d3426c1efa802f336

704 名前:デフォルトの名無しさん mailto:sage [2024/10/16(水) 18:15:17.46 ID:Ied0HKdA0.net]
噛み合って無いね
わかってないだろうけど

705 名前:デフォルトの名無しさん mailto:sage [2024/10/16(水) 19:22:38.15 ID:c9nG6uvq0.net]
何かをオワコンって言う奴は10年前の知識で話していて最新情報を追ってないのは確か
今までの経験では100%そうで、追ってる人や俺が話すと驚くかむすっと黙る



706 名前:デフォルトの名無しさん [2024/10/17(木) 01:03:41.63 ID:WrCN832N0.net]
>>703
それを言うならRuby1.8 -> Ruby1.9の時に互換性ぶっ壊す言語仕様の変更した闇歴史を反省したんでしょ。

前向きに捉えるなら、Maz氏がこの時の変更で満足した。

707 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 14:45:08.02 ID:jj0dHZW60.net]
>>705
浅さ優先で喋るからな
ITエンジニアは
文化なら仕方あるまい

708 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 14:51:09.32 ID:Bk2Ct1mh0.net]
>>707
計算機科学(computer science)相当の博士課程を修了していないITエンジニアは論外
そんなITエンジニアとやりとりや取引なんかやるだけ無駄

709 名前:デフォルトの名無しさん (ワッチョイ 4fb2-C5qv) mailto:sage [2024/10/18(金) 11:48:33.77 ID:HiJ5KVmO0.net]
ITエンジニアが文化面語る時はかなり眉唾ではある

710 名前:デフォルトの名無しさん [2024/10/18(金) 21:19:11.55 ID:jHxEOeuid.net]
今年が2024年だということも判らなくなった痴呆老人なんだろう

711 名前:デフォルトの名無しさん [2024/10/18(金) 22:15:03.40 ID:VQpP6XIE0.net]
計算機科学とかは詳しくないが、そういう意味じゃRuby技術者認定試験とか暗記中心であれ持っててもプログラマーとして優秀とは言えないんだよなぁ。
言語仕様オタクを欲しいわけじゃないんだっての。

まだ基本情報技術者試験の方がプログラミング能力を測ってる。

712 名前:デフォルトの名無しさん mailto:sage [2024/10/19(土) 05:06:07.35 ID:pGZZ/Z6Da.net]
応用は?

713 名前:デフォルトの名無しさん mailto:sage [2024/10/23(水) 21:40:40.15 ID:eLjuv7c90.net]
文系は応用のほうが受かる

714 名前:デフォルトの名無しさん mailto:sage [2024/10/28(月) 00:35:24.93 ID:7/XJVIz/0.net]
>>706
奇数バージョンはちょっと……

715 名前:デフォルトの名無しさん [2025/02/05(水) 19:49:31.02 ID:zszEGBd4r.net]
本質的にrubyの話ではないかもしれませんが、

あるディレクトリを移動したい(別の名前に変更したい)と思います。
変更先のディレクトリが存在する場合、連番の次のディレクトリ名にしたいと思います。
(adir_1が使われてたらadir_2に)

これをatomicに行う方法はありますでしょうか。

adir_1が存在してたら失敗して、リトライするイメージです。
ロックファイルで制御するのは、ちょっと面倒かな、と思います



716 名前:デフォルトの名無しさん mailto:sage [2025/02/05(水) 20:28:56.97 ID:Nxt5VJAz0.net]
#!ruby
i=1
while FileTest.directory?("adir_#{i}")
i+=1
end
File.rename("hoge","adir_#{i}")

717 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 00:20:43.41 ID:PcE8t6O40.net]
>>715
どこまでアトミックにやりたいかによるんじゃないかな

ある名前で存在チェックをしてから
その名前でディレクトリを作成するまでの間に
先に同じ名前でディレクトリが作成されるのを防ぐ
というだけであればmkdirで可
(後続のrenameが必要なのでそこまで含めるとアトミックではない)

上書きのrename単体で見るとPOSIXではアトミックなのが保証されてる
windowsの場合(MoveFileExW + MOVEFILE_REPLACE_EXISTING)は
NTFSならアトミックだと言われている(非公式)

718 名前:デフォルトの名無しさん [2025/02/06(木) 10:03:45.63 ID:GcFYqCgfa.net]
RubyOnWindowsではファイルロックの代わりにmkdirするのが常識

719 名前:725 mailto:sage [2025/02/06(木) 12:58:02.68 ID:w5SuLeKbr.net]
ありがとうございます。
mkdirしたいと思います

720 名前:デフォルトの名無しさん [2025/04/12(土) 12:58:54.16 ID:54aHIZAIa.net]
まっつ
https://www.youtube.com/watch?v=fTGUQNdudKk

721 名前:デフォルトの名無しさん [2025/05/10(土) 20:08:47.00 ID:mNp9iU4iH.net]
Ruby2.7の時代から来たんだけど、まだRubyは世界の覇権取ってる感じかな

722 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 20:19:15.20 ID:6Qm9+mNG0.net]
python 誰だよお前、って言ってたのがいつの間にか立場が逆転しちゃったように感じてます

723 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 17:18:52.35 ID:Bb+YHyMI0.net]
軽いWebスクレイピングするのに、前はRuby使ってたけど、
最近はブックマークレットの形にしたJavaScriptで
済ますようになっちゃった

作ったプログラムを人に使わせるときも、
ブラウザで動いてボタンとかもすぐ付けられる
JavaScriptを使っちゃう

Rubyは自分でちょっとしたプログラムをするぶんには
すごく書きやすくて好きなんだけどね

724 名前:デフォルトの名無しさん [2025/06/15(日) 10:05:11.18 ID:AK2LC2Cy0.net]
//docs.ruby-lang.org/ja/3.4/library/rexml.html の中の
REXML Home, APIリファレンス, チュートリアルが、404になっています。

//www.germane-software.com/software/rexml
→ //www.germane-software.com/software/XML/rexml/
になっていると思われます。

また、日本語訳関連のサイト
//pub.cozmixng.org/~kou/rexml-doc-ja/ はタイムアウト
//www.baykit.org/~makotos/ 以下略は //www.baykit.org/
に飛ばされます。

関係者に届くよう願って、ここに書き込みます。

725 名前:デフォルトの名無しさん [2025/06/15(日) 12:03:17.12 ID:VWehYNCSa.net]
>>722
本屋行くと判る
pythonの本棚はどんどん拡大してる
Rubyは消えそう



726 名前:デフォルトの名無しさん mailto:sage [2025/06/15(日) 12:42:05.47 ID:9Zd2esF60.net]
>>725
世界中に数多とある本屋すべてを見たわけでもなく、数件程度の本屋の棚を覗いただけで、分かった気になるのがすごいな

727 名前:デフォルトの名無しさん mailto:sage [2025/06/17(火) 05:48:52.24 ID:fmXoBE4Za.net]
現実から目を背けるな

728 名前:デフォルトの名無しさん mailto:sage [2025/06/17(火) 08:12:15.47 ID:8T7OEsul0.net]
現実を知った気になっているのすごいな
そんなことは神さま以外にできないぜ

729 名前:デフォルトの名無しさん [2025/06/26(木) 04:06:43.10 ID:Xqu0aFx/0.net]
Ruby馬鹿すら消えた世界

730 名前:デフォルトの名無しさん [2025/06/26(木) 17:11:52.09 ID:zdpAcYpu0.net]
悪意のあるVSCode拡張機能を検出できる「VSCan」
https://gigazine.net/news/20250625-vscan/
※上記の
本体プログラミング改造で改造コードを仕込む場所や攻撃ポイントを割り出せる
※上記と下記のプログラムでエラーコードをメモリー^上に無いかを調べて別のプログラムを走らせるとエラーコードから親友できるかが割り出せる
などいろいろと使用可能

AIを活用した完全自律型の侵入テストツール「XBOW」がHackerOneのランキングでついに人間を抜いて1位に
https://gigazine.net/news/20250625-hackerone-xbow/

上記のプログラムで無理やりティーほーjるを無理やり開ける方法が判明する

731 名前:デフォルトの名無しさん [2025/06/26(木) 21:29:37.30 ID:zdpAcYpu0.net]
AndroidスマホでもiPhoneでもAIモデルをローカルで実行してチャットできる無料アプリ「Cactus Chat」レビュー
https://gigazine.net/news/20250626-cactus-chat-android-ios-ai-local/

インターネット接続不要でAIモデルをローカル実行できる「LM Studio」にMCPサーバーへの接続機能が追加される
https://gigazine.net/news/20250626-lmstudio-mcp/

上記のAIとマクロ機能を使用すればAIのみで会話できるようになる
ボイス・トォ・スカル「神や幽霊」の声はこれで行っているのか?

マクロ機能の拡張でインターネットにも自動で書き込みが可能になる

732 名前:デフォルトの名無しさん mailto:sage [2025/07/05(土) 00:30:51.42 ID:uxuvd9dy0.net]
ここ1年くらいrubyガイジ見ないけどどうしたんだろ

733 名前:デフォルトの名無しさん mailto:sage [2025/07/09(水) 12:09:11.46 ID:EKMDM/sMa.net]
召喚せんでよろし

734 名前:デフォルトの名無しさん [2025/07/23(水) 03:20:41.02 ID:yOhZ4PU40.net]
公式サイトも全然やる気なさそうだね
リリース情報くらい日本語ページにも載せろよって思うわ
メンテしきれないなら他言語ページは害悪でしかないだろ

735 名前:デフォルトの名無しさん [2025/08/10(日) 10:18:55.34 ID:9iOvv3Og0.net]
WindowsInstallerのRuby3.4.5をインストールしたんだが
gemでTKがインストールできない
3.1の時はgemで問題なくインストールできてたのだけど
どうもMSYS2のGCCがバージョンアップしてて古いCの書き方がエラーになってるのか
関数の引数を省略したものとかの曖昧な型が認められないようで

などと質問しようと思ってたが
gem install tk -- --with-cflags=-std=c99
とやったらインストールできた



736 名前:デフォルトの名無しさん [2025/08/24(日) 22:03:19.54 ID:FbJeIrld0.net]
Rubyの新刊って出た?
もう死にかけだと思ってるけど
島根行政って全力で頑張ってなかった?
県知事の公式アナウンスまだー?

737 名前:デフォルトの名無しさん mailto:sage [2025/08/25(月) 00:10:14.96 ID:rL659vSP0.net]
これ >>736 、spam botかもな
最近、ほかのスレでもこういう「?」連打がいくつか見かけた

738 名前:デフォルトの名無しさん [2025/08/25(月) 00:24:23.84 ID:7gLXFzFN0.net]
>>737
ちげえよ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<225KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef