プログラミング言語 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
Ruby 初心者スレッド Part 67
1デフォルトの名無しさん (ワッチョイ b72c-yePO)
2020/12/25(金) 04:24:27.68ID:aa9Khe9z0504デフォルトの名無しさん (ワッチョイ 516e-Uod3)
2022/08/12(金) 20:37:25.73ID:Ly5UHJxV0 まじか。ブートキャンプなんかもチェックしてrubyを選択してるところが多かったから最初のチョイスにはいいのかと思ったんだけど
505デフォルトの名無しさん (オッペケ Sr5d-JRyS)
2022/08/12(金) 20:39:57.30ID:3I6JE0fzr スタートアップでRubyも一時期に比べれば減ったけど全体として少なくはないと思うがなぁ
まあGoやれには同意
まあGoやれには同意
506デフォルトの名無しさん (ブーイモ MM95-JIap)
2022/08/12(金) 21:08:08.21ID:EhKo6h0UM >>504のスキル次第かな
プログラミング教育ビジネスでRubyの採用が比較的多い理由はPHPと同じで、
技術スタックが固定されていてRoRの使い方さえ覚えれば一応仕事らしいことはできるから
一方でNodeやGoだとまずAWSやGCPでインフラを設計して、、となっちゃうから前提知識が多く、教える人にとっても難しいわけだね
504がどうかは知らないけど業務系の出身の人ってペチパー上がりのWeb系に比べりゃネットワークやDBなど基盤技術に強い人が多いから、
まずはAWS SAを取るくらいを目標にしたほうがモノになりやすいかもしれない
プログラミング教育ビジネスでRubyの採用が比較的多い理由はPHPと同じで、
技術スタックが固定されていてRoRの使い方さえ覚えれば一応仕事らしいことはできるから
一方でNodeやGoだとまずAWSやGCPでインフラを設計して、、となっちゃうから前提知識が多く、教える人にとっても難しいわけだね
504がどうかは知らないけど業務系の出身の人ってペチパー上がりのWeb系に比べりゃネットワークやDBなど基盤技術に強い人が多いから、
まずはAWS SAを取るくらいを目標にしたほうがモノになりやすいかもしれない
507デフォルトの名無しさん (ブーイモ MM8b-zDOG)
2022/08/12(金) 22:14:25.50ID:jxfg8mfTM >>504
Webアプリについて学ぶならRubyからはじめるのは今でも一番効率いいよ
C#とかやってるならそのままASP.NET MVCやるといい
Javaの場合はSpringやSpring Bootやる前にRails一通り学んだ方が学習効率が高い
Webアプリについて学ぶならRubyからはじめるのは今でも一番効率いいよ
C#とかやってるならそのままASP.NET MVCやるといい
Javaの場合はSpringやSpring Bootやる前にRails一通り学んだ方が学習効率が高い
508デフォルトの名無しさん (ブーイモ MM26-Kw/U)
2022/08/13(土) 16:42:11.13ID:g83/7zbCM のっけからフレームワークって学ぶ順番としてどうなんだろ
509デフォルトの名無しさん (ブーイモ MM26-n+Ky)
2022/08/13(土) 18:08:03.40ID:G/JCqKHoM >>508
それなりの多くは、なっちゃってエンジニアだと思うんだけど、ほとんどコピペでフレームワークを学ぶ!?雰囲気で使っている感じやんね。
それなりの多くは、なっちゃってエンジニアだと思うんだけど、ほとんどコピペでフレームワークを学ぶ!?雰囲気で使っている感じやんね。
510デフォルトの名無しさん (ワッチョイ d2e8-n+Ky)
2022/08/13(土) 21:20:26.00ID:716PWe/D0 TCP/IPからやれとはいわんけど
変なブログの情報どまりじゃなくMDNをリファレンスにしてくれれば迷惑はかけないかな
変なブログの情報どまりじゃなくMDNをリファレンスにしてくれれば迷惑はかけないかな
511デフォルトの名無しさん (アウアウウー Saa5-5Ix7)
2022/08/16(火) 06:37:29.62ID:nv4Pd6maa アプリ作ってるけど、Ruby選んだのにRubyは俄然200行程度に対してJSソースがその10倍の量になった事をご報告
512デフォルトの名無しさん (ワッチョイ 027c-5Ix7)
2022/08/19(金) 13:31:40.23ID:Gwz5c/EG0513882 (ブーイモ MMb6-pvC5)
2022/08/19(金) 22:25:12.76ID:2b9NNsS1M 色んなプログラ厶スレで
rubyスレ誘導はってる人がいるよね
rubyスレ誘導はってる人がいるよね
514デフォルトの名無しさん (ワッチョイ 8984-JOlF)
2022/08/19(金) 22:36:16.14ID:kD1PYwgK0 せいぜいがんばってください
515デフォルトの名無しさん (ワッチョイ 829b-Ickp)
2022/09/02(金) 12:46:17.31ID:SPKoKVwi0 ブロックスコープを作って、そのスコープ内だけで使える変数を作るには
どうすればいいのでしょうか?
a = 1
{
let a
p a # nil
}
p a # 1
どうすればいいのでしょうか?
a = 1
{
let a
p a # nil
}
p a # 1
516デフォルトの名無しさん (ワッチョイ 4d7c-4HIO)
2022/09/02(金) 13:58:50.26ID:0IIX0tzu0 a = 1
->(a = nil) { p a }[]
p a
ただrubocop(linter)に怒られる
->(a = nil) { p a }[]
p a
ただrubocop(linter)に怒られる
517デフォルトの名無しさん (ワッチョイ 829b-Ickp)
2022/09/02(金) 15:50:30.29ID:SPKoKVwi0 >>516
サンクス
サンクス
518デフォルトの名無しさん (ワッチョイ bf66-nSSL)
2022/09/04(日) 11:03:45.79ID:d+yqMU9C0 thenも使えそう
a = 1
nil.then { |a| p a }
p a
そもそもメソッドじゃ駄目なんだろうか
a = 1
nil.then { |a| p a }
p a
そもそもメソッドじゃ駄目なんだろうか
519デフォルトの名無しさん (ワッチョイ c701-9TNW)
2022/09/04(日) 14:18:23.63ID:nDhKbeBy0 書式設定これが見通し良くない?
無駄な#が有効利用できるからな
採用していいぞ
n = 123
name = "山田太郎"
puts "#05d{ n }番目は#10s{ name }です"
無駄な#が有効利用できるからな
採用していいぞ
n = 123
name = "山田太郎"
puts "#05d{ n }番目は#10s{ name }です"
520デフォルトの名無しさん (オイコラミネオ MM1b-366i)
2022/09/08(木) 11:42:53.80ID:KAp1CvD8M 今日から三日間開催されているRubykaigi(Ruby会議)にて、Wasm化の話が
議題になっているらしい。
議題になっているらしい。
521デフォルトの名無しさん (ワッチョイ 5f2c-HH83)
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。
ここまで行けば、どの会社よりも上
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デフォルトの名無しさん (ワッチョイ 5f2c-HH83)
2022/09/08(木) 22:12:49.56ID:EF/qt7ve0 >>488
データベース(DB)に、2千社・2億レコードあるけど、全く問題ないと外人が言ってた
N+1 で一々、問い合わせをしたり、
多対多などで、索引なしで総当たりみたいな事をやっているとか?
DBの実行計画を見た方がよい
ミックの本も読んだ方がよい。
副問い合わせを、case に書き換えるとか、書いてあったような気がする。
よく覚えていないけど
データベース資格の問題を解くとか
データベース(DB)に、2千社・2億レコードあるけど、全く問題ないと外人が言ってた
N+1 で一々、問い合わせをしたり、
多対多などで、索引なしで総当たりみたいな事をやっているとか?
DBの実行計画を見た方がよい
ミックの本も読んだ方がよい。
副問い合わせを、case に書き換えるとか、書いてあったような気がする。
よく覚えていないけど
データベース資格の問題を解くとか
523デフォルトの名無しさん (ワッチョイ 5f2c-HH83)
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()
漏れが作った、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)
2022/09/09(金) 16:26:23.24ID:nscVoUcha 1か月よりも前なので解決してたりします
525デフォルトの名無しさん (アウアウウー Sa8b-Iguz)
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消すのを試みていたんですが上手い方法が思いつきません
[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デフォルトの名無しさん (ワッチョイ 27da-yFwy)
2022/09/09(金) 23:04:33.89ID:Un8DgV3E0 uniq後の順序に依存した実装って気持ち悪いけどドキュメント読んでみると一応保証はされてるのか
527デフォルトの名無しさん (アウアウウー Sa21-OdF3)
2022/09/11(日) 15:57:11.70ID:rzWFC1+la ちょっと無理そうですね
データ構造のほうが逆順だったらreverse無しで良かったんですが
そっちはもう換えられないのでこのままにしときます
データ構造のほうが逆順だったらreverse無しで良かったんですが
そっちはもう換えられないのでこのままにしときます
528デフォルトの名無しさん (ワッチョイ a64e-pqEy)
2022/09/11(日) 16:22:50.85ID:t3QuDbs+0 reverseをreverse_eachにしたら中間のArrayは無くせる
529デフォルトの名無しさん (ワッチョイ 136e-r4yT)
2022/09/26(月) 19:18:46.78ID:m/z6XQ/+0 scan.map.delete_if.delete_if.shuffle[1,20]
とかなっても意地で1行で書くのが真のプログラマなの?
とかなっても意地で1行で書くのが真のプログラマなの?
530デフォルトの名無しさん (ワッチョイ 12ec-mIyF)
2022/09/26(月) 20:06:14.07ID:K2FDfZLG0 突然どうした
職場のグチか?
職場のグチか?
531デフォルトの名無しさん (ワッチョイ 9e66-Y+SS)
2022/09/27(火) 14:32:01.48ID:XLkjq+Re0 delete_ifが2つ続いてるとか
mapした後にdelete_ifとか
何か良くない匂いがするとは思う
mapした後にdelete_ifとか
何か良くない匂いがするとは思う
532デフォルトの名無しさん (ブーイモ MM5b-Zs/L)
2022/09/27(火) 15:25:57.97ID:+SNgMDTOM >>529
意図が伝わりやすければメソッドチェーンでつなげること自体は何の問題もない
ただ1行で書くかと言われれば普通は改行して読みやすくメンテしやすくする
1行でも許容できる内容かどうかは引数含めて書いてもらわないとなんとも言えない
意図が伝わりやすければメソッドチェーンでつなげること自体は何の問題もない
ただ1行で書くかと言われれば普通は改行して読みやすくメンテしやすくする
1行でも許容できる内容かどうかは引数含めて書いてもらわないとなんとも言えない
533デフォルトの名無しさん (アウアウウー Sa43-tX/F)
2022/09/28(水) 17:10:39.21ID:BXnMv7Uva 最近メソッド10個くらい繋げたコード書いたけどごく当たり前のコーディング
真のPGはmethod_missingの魔術コード書ける人だよ
真のPGはmethod_missingの魔術コード書ける人だよ
534デフォルトの名無しさん (アウアウウー Sa43-tX/F)
2022/09/28(水) 17:43:18.00ID:BXnMv7Uva サーバー側のrubyバージョンが古い時にローカル実行用スクリプトで3.0機能使ったコード書いていいものか迷う
もしかしたらいつかサーバー側にコード持っていく可能性もある
書いてもいいのかな?
もしかしたらいつかサーバー側にコード持っていく可能性もある
書いてもいいのかな?
535デフォルトの名無しさん (ブーイモ MM32-UZRN)
2022/09/28(水) 18:23:25.60ID:FVicjk6YM どうせコンテナで動かすんだからどうでもいいだろ
今時サーバーにグローバルにインストールされたRubyに依存してるような腐った運用してる環境なら、イキって変なことするのはやめておけ
今時サーバーにグローバルにインストールされたRubyに依存してるような腐った運用してる環境なら、イキって変なことするのはやめておけ
536デフォルトの名無しさん (アウアウウー Sa43-tX/F)
2022/09/28(水) 18:40:33.30ID:BXnMv7Uva コンテナ?
3日1回程度実行するスクリプトをこっちで行うかサーバーに持ってくかという話
こっちもpc常時起動してるわけじゃないから、正確に確実に実行するならサーバーで走らせ続けるほうが楽ではあるが
ここまで書いて気づいたけどサーバーのメモリ余計に使う事になるからやっぱやめる
3日1回程度実行するスクリプトをこっちで行うかサーバーに持ってくかという話
こっちもpc常時起動してるわけじゃないから、正確に確実に実行するならサーバーで走らせ続けるほうが楽ではあるが
ここまで書いて気づいたけどサーバーのメモリ余計に使う事になるからやっぱやめる
537デフォルトの名無しさん (ワッチョイ e37c-mIyF)
2022/09/28(水) 19:07:17.74ID:fVRflvZP0 サーバの古いRubyコードをモジュールで使うわけじゃないなら
枯れたPerlで書けば解決
枯れたPerlで書けば解決
538デフォルトの名無しさん (アウアウウー Sa43-tX/F)
2022/09/28(水) 21:33:55.99ID:BXnMv7Uva ん?いや古いモジュールとかじゃなくて、
ローカル実行でもサーバー実行でも良いコードを、どちらへもっていくか みたいな話
ローカル実行でもサーバー実行でも良いコードを、どちらへもっていくか みたいな話
539デフォルトの名無しさん (ワッチョイ 5e2b-mIyF)
2022/09/28(水) 22:47:37.12ID:sYls8uor0 いまどきのRubyで書くと互換性の問題がでるなら
いっそPerlで書いたらという話
いっそPerlで書いたらという話
540デフォルトの名無しさん (オッペケ Sr47-RY4O)
2022/09/28(水) 22:59:32.60ID:7XofIB3Ar >枯れたPerlで書けば解決
正しいこと言ってるのに何故だか寂しくなる
正しいこと言ってるのに何故だか寂しくなる
541デフォルトの名無しさん (アウアウウー Sa43-tX/F)
2022/09/28(水) 23:22:18.60ID:BXnMv7Uva Perlはないかなー
3.0だと構築しやすい環境があって
それがサーバーバージョンだと構築できるか不明で、
Perlだと普段使ってないんで
Perlのどのバージョンでどのモジュールバージョンがインストール有効か全く知らないので、さらに構築できる可能性が薄い、、
3.0だと構築しやすい環境があって
それがサーバーバージョンだと構築できるか不明で、
Perlだと普段使ってないんで
Perlのどのバージョンでどのモジュールバージョンがインストール有効か全く知らないので、さらに構築できる可能性が薄い、、
542デフォルトの名無しさん (ワッチョイ 9e66-Y+SS)
2022/09/29(木) 09:14:41.01ID:S94uJYpZ0 こういうのもYAGNIって言うのかな?
543デフォルトの名無しさん (ワッチョイ 2333-W97T)
2022/10/02(日) 23:00:07.08ID:P9RAxpp00 Perlの互換性をあなどるな!
Rubyごときの常識では測れぬぞ!
Rubyごときの常識では測れぬぞ!
544デフォルトの名無しさん (ワッチョイ 6f66-A5NB)
2022/10/03(月) 22:36:01.59ID:mZNxA8zN0 perlは28年メジャーバージョン変えてないだけだろw
変えたらモジュールが全く付いていかず
後付けで別言語だったことにされた始末w
7にすると言った後もスルスル詐欺。もう崩壊寸前。
変えたらモジュールが全く付いていかず
後付けで別言語だったことにされた始末w
7にすると言った後もスルスル詐欺。もう崩壊寸前。
545デフォルトの名無しさん (テテンテンテン MM1f-poG4)
2022/10/04(火) 10:04:15.06ID:bSK5XELIM rubyも変えない基本機能だけ永年保証版をつくればいいか
546デフォルトの名無しさん (ワッチョイ e301-QOpt)
2022/10/04(火) 22:14:05.98ID:UryqQ3PG0 先がないって意味では似た者同士
547デフォルトの名無しさん (アウアウウー Sa27-pIDl)
2022/10/05(水) 08:09:51.42ID:I8FgU9ZAa rubyで書かれたサイトはみんな死んでperlで書かれたmixiが生き残った
これも現実
これも現実
548デフォルトの名無しさん (ワッチョイ 2333-W97T)
2022/10/05(水) 20:16:53.48ID:CqdeFZnf0549デフォルトの名無しさん (アウアウウー Sa27-pIDl)
2022/10/05(水) 21:04:39.92ID:qbCtmsWUa perlの省略記法が上手くrubyにくれば文句ないんだけどな
_1 ってところまでは来たけどあと少し
マジックナンバーも覚えちゃえば効率良い
_1 ってところまでは来たけどあと少し
マジックナンバーも覚えちゃえば効率良い
550デフォルトの名無しさん (オッペケ Sr47-qKwZ)
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や}の後の[]は、どんな意味があるかお分かりになりますでしょうか。
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デフォルトの名無しさん (アウアウウー Sa2f-7MlB)
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オブジェクトの実行です
lambdaメソッドで生成したProcオブジェクトの実行です
553デフォルトの名無しさん (オッペケ Sr03-mdlF)
2022/10/10(月) 22:15:52.59ID:DUxtIWo2r callしてるんでしょ
554デフォルトの名無しさん (ワッチョイ 034f-iygP)
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; 即時実行関数式)みたいなものか?
定義されると同時に実行される
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:bcaE1HrEp556デフォルトの名無しさん (ササクッテロレ Sp03-G7zZ)
2022/10/11(火) 21:57:33.74ID:bcaE1HrEp >>554さん
p g.yield(3,4)もありますね。
p g.yield(3,4)もありますね。
557デフォルトの名無しさん (アウアウウー Sa2f-kHT+)
2022/10/12(水) 03:59:02.03ID:rjG+co3La 色々あるけどrubyは多種多様な人達がどれかを選択するためにあるっつうイメージだから
自分が使うものは限定したほうが良いよ
Proc.new proc lambdaも詳細動作ちげーし
自分が使うものは限定したほうが良いよ
Proc.new proc lambdaも詳細動作ちげーし
558デフォルトの名無しさん (ワッチョイ db33-mUkZ)
2022/10/12(水) 23:19:24.53ID:liNTEmfl0 しかし、Perlの融通無碍さを罵倒してたんちゃううんかい!
559デフォルトの名無しさん (ワッチョイ 6714-M13Z)
2022/10/13(木) 17:18:00.56ID:YUGI7Erj0 Rubyっていまさら学ぶ価値ありますか?
560デフォルトの名無しさん (ワッチョイ def8-p76D)
2022/10/13(木) 18:39:16.26ID:2KzUsHD30 SQLで十分
561デフォルトの名無しさん (スップ Sdea-lDXs)
2022/10/13(木) 20:05:37.13ID:nAMqCzQ7d あるかないかで言えばもちろんある
他のメジャーな選択肢と比較すれば価値が低いだけ
他のメジャーな選択肢と比較すれば価値が低いだけ
562デフォルトの名無しさん (アウアウウー Sa2f-kHT+)
2022/10/13(木) 20:14:27.63ID:qa/FIGCma 目的設定してないなら何を学んでも時間の無駄
563デフォルトの名無しさん (ブーイモ MM27-N9Fb)
2022/10/13(木) 21:13:25.17ID:Tg7Fu5K4M >>559
1. Webアプリの作り方を学びたい
2. オブジェクト指向を学びたい
3. プログラミングを学びたい
この3つのどれかなら今更でもRubyを学ぶ価値はある
1つの言語だけでやっていきたいみたいな考え方を持ってるならやめとけ
1. Webアプリの作り方を学びたい
2. オブジェクト指向を学びたい
3. プログラミングを学びたい
この3つのどれかなら今更でもRubyを学ぶ価値はある
1つの言語だけでやっていきたいみたいな考え方を持ってるならやめとけ
564デフォルトの名無しさん (オッペケ Sr03-mdlF)
2022/10/13(木) 21:14:57.72ID:pWIAiZmDr >>563
正論
正論
565デフォルトの名無しさん (ワッチョイ 034f-SUfT)
2022/10/14(金) 13:58:42.57ID:ljWa0xD50 YouTube で有名な雑食系エンジニア・KENTA の初心者向けRuby on Rails サロンが有名。
KENTA, Rails専門学校・RUNTEQ, Deanin の動画などを参照
KENTAが勧めるキャリアパスは、Rails → Go のみ
主に、未経験者のモダンな転職先がRails。
つまり、ベンチャーなどへのプロの転職用フレームワーク
でもアマチュア用に、CSV などファイル操作するだけでも、Rubyは簡単
KENTA, Rails専門学校・RUNTEQ, Deanin の動画などを参照
KENTAが勧めるキャリアパスは、Rails → Go のみ
主に、未経験者のモダンな転職先がRails。
つまり、ベンチャーなどへのプロの転職用フレームワーク
でもアマチュア用に、CSV などファイル操作するだけでも、Rubyは簡単
566デフォルトの名無しさん (テテンテンテン MM86-M13Z)
2022/10/14(金) 14:07:02.47ID:r95QbhkqM たくさんの言語を同時相互翻訳できるのに、
なぜプログラム言語はできないのだろう
言葉よりプログラム言語のほうが簡単そう
語彙は言葉の方が圧倒的に多いし、文法も複雑
プログラム言語はちょっとした違いがすぐエラーになる、ここをなんとかすれば
いいわけだが
なぜプログラム言語はできないのだろう
言葉よりプログラム言語のほうが簡単そう
語彙は言葉の方が圧倒的に多いし、文法も複雑
プログラム言語はちょっとした違いがすぐエラーになる、ここをなんとかすれば
いいわけだが
567デフォルトの名無しさん (アウアウウー Sa2f-kHT+)
2022/10/14(金) 15:27:43.54ID:jrsxVe/4a 翻訳してコンパイル実行までいっぺんに考えるから作るの無理になるんじゃね
まず翻訳してコンパイルエラーとかは一旦無視したコード出力してから
別のロジック・プロジェクトとして整形するようにするとかさ
段階はあると思うよ
まず翻訳してコンパイルエラーとかは一旦無視したコード出力してから
別のロジック・プロジェクトとして整形するようにするとかさ
段階はあると思うよ
568デフォルトの名無しさん (アウアウウー Sa2f-7MlB)
2022/10/14(金) 15:51:50.20ID:oF5RKx5oa >>566
結局、翻訳先にない機能をどうにかするために
・機械語じみた可読性0の長大なプログラムに翻訳する
・翻訳元の言語のインタプリタを翻訳先の言語で作ってしまう
みたいなことになるかと
python2->python3の翻訳も確かうまく行かなかったんじゃなかったか?
結局、翻訳先にない機能をどうにかするために
・機械語じみた可読性0の長大なプログラムに翻訳する
・翻訳元の言語のインタプリタを翻訳先の言語で作ってしまう
みたいなことになるかと
python2->python3の翻訳も確かうまく行かなかったんじゃなかったか?
569デフォルトの名無しさん (ブーイモ MM86-N9Fb)
2022/10/14(金) 18:08:42.41ID:KzgOwgYoM コンバージョンプログラムいろいろとあるよ
知らないだけじゃない?
Java to Kotlinとか
知らないだけじゃない?
Java to Kotlinとか
570デフォルトの名無しさん (オッペケ Sr03-mdlF)
2022/10/14(金) 18:48:07.45ID:ZVmcxfG6r AltJS系も広義ではそうじゃないか
Opalとか
Opalとか
571デフォルトの名無しさん (アウアウウー Sa2f-kHT+)
2022/10/14(金) 20:28:18.73ID:jrsxVe/4a そういう0か100%かってのじゃなく、AIプログラミングに繋がる話だと思うけどね
572デフォルトの名無しさん (ブーイモ MM27-N9Fb)
2022/10/14(金) 21:04:51.58ID:baXL7k1XM AI翻訳を通さないと何言ってるのかわからないや
573デフォルトの名無しさん (テテンテンテン MM7f-NBC3)
2022/10/15(土) 00:31:52.18ID:IvRHkVgHM >>566
プログラム言語に依るのだろう
RubyからPythonはできそうな気がするけど、C++からForthとかはあまりにも違いすぎて無理…
そう考えると、言葉よりもプログラム言語の方が違いが大きすぎるって事だな
プログラム言語に依るのだろう
RubyからPythonはできそうな気がするけど、C++からForthとかはあまりにも違いすぎて無理…
そう考えると、言葉よりもプログラム言語の方が違いが大きすぎるって事だな
574デフォルトの名無しさん (ワッチョイ 2b84-TyQf)
2022/10/15(土) 00:37:52.24ID:1cOZHVrb0575デフォルトの名無しさん (テテンテンテン MM7f-WdpF)
2022/10/15(土) 11:11:10.80ID:7Qqe8Rg7M slack の ruby-jp ってどこかに移転しました?
576デフォルトの名無しさん (ワッチョイ 4b33-CxPv)
2022/10/15(土) 18:11:06.95ID:INu/t1220 >>566
やればできないわけもないんやから、結局は需要がない、ということやろ。
人の言葉は意志疎通のための翻訳やからアリ。
しかし、コンピュータ言語の翻訳結果は再利用のためのリソースを期待されがちやけど、ほぼムリなんでナシ。
実際、再利用でない実行のための変換なら、多用されとる。
コンパイラもそうやし、WebAssemblyなんかそのためやろし。
やればできないわけもないんやから、結局は需要がない、ということやろ。
人の言葉は意志疎通のための翻訳やからアリ。
しかし、コンピュータ言語の翻訳結果は再利用のためのリソースを期待されがちやけど、ほぼムリなんでナシ。
実際、再利用でない実行のための変換なら、多用されとる。
コンパイラもそうやし、WebAssemblyなんかそのためやろし。
577デフォルトの名無しさん (ワッチョイ 2b4f-spri)
2022/10/15(土) 18:26:46.60ID:49IRcNny0 Haxeは、JavaScript(JS)、C++、C#、Java、JVM、Python、Lua、PHPを対象とする、
クロスプラットフォームアプリケーションを構築可能で、
各プラットフォームのネイティブ機能にアクセスできる、
オブジェクト指向のプログラミング言語
主に、HTML, JS ゲーム用で、Adobe Flash の後継。
Ruby には対応していない
クロスプラットフォームアプリケーションを構築可能で、
各プラットフォームのネイティブ機能にアクセスできる、
オブジェクト指向のプログラミング言語
主に、HTML, JS ゲーム用で、Adobe Flash の後継。
Ruby には対応していない
578デフォルトの名無しさん (ワッチョイ 2b4f-KWxC)
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">
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">
579デフォルトの名無しさん (オッペケ Sr0f-e84p)
2022/10/18(火) 20:49:59.26ID:gz5lMMWOr 書き捨てのコードならいいけど微妙じゃね
580デフォルトの名無しさん (ワッチョイ ef66-9m+h)
2022/10/19(水) 21:20:50.39ID:Lu+vrvAs0 values_atが便利だなと
581578 (ワッチョイ 2b4f-KWxC)
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"]
# ["", "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"]
582デフォルトの名無しさん (ワッチョイ 1fe8-TyQf)
2022/10/20(木) 14:02:28.80ID:fK+SugQF0 https://docs.ruby-lang.org/ja/latest/method/String/i/split.html
ドキュメントに書いてるが
limit < 0
で末尾も残る
なぜかは知らんがなにか他の挙動にあわせたんだろう
ドキュメントに書いてるが
limit < 0
で末尾も残る
なぜかは知らんがなにか他の挙動にあわせたんだろう
583578 (ワッチョイ 2b4f-KWxC)
2022/10/20(木) 18:34:41.93ID:zGrDbuOl0 ありがとう。そういうオプションがあったのか
# コロン区切り
input_1 = "::y:"
p input_1.split( ":" )
p input_1.split( ":", -1 )
出力
["", "", "y"]
["", "", "y", ""]
# コロン区切り
input_1 = "::y:"
p input_1.split( ":" )
p input_1.split( ":", -1 )
出力
["", "", "y"]
["", "", "y", ""]
584デフォルトの名無しさん (テテンテンテン MM4b-EHNx)
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脱落
https://developers.srad.jp/story/22/11/13/042218/
C#・Go・Java・Ruby・Rust・Swiftなど
python脱落
585デフォルトの名無しさん (ワッチョイ c533-lk8c)
2022/11/15(火) 20:50:38.98ID:u4oN4nv30 たしかに、TMをつけてまでRubyを挙げるのに、Pythonを挙げないのは意味がわからんな。w
伝統と信頼のPerlを入れろよ!とも思うし。
伝統と信頼のPerlを入れろよ!とも思うし。
586デフォルトの名無しさん (ワッチョイ 05e0-spp/)
2022/11/15(火) 21:03:39.07ID:8tiGCKxN0 VMもそこらの拡張もそこまで安全に書けてると思えんが
587デフォルトの名無しさん (ワッチョイ ad7d-qdwE)
2022/11/15(火) 22:17:37.16ID:9MQlhJri0 Python は字数の多さが敗因だろうな
588デフォルトの名無しさん (ワッチョイ 738f-DE9r)
2022/12/28(水) 13:12:25.93ID:+yyf2wj20 Ruby 初心者が最初に絶対に身に着けないといけない常識って
ユーザーグループのキモい人達への無条件の敬意と忠誠(を払ってるフリ)じゃね
ユーザーグループのキモい人達への無条件の敬意と忠誠(を払ってるフリ)じゃね
589デフォルトの名無しさん (ワッチョイ 7f00-ysto)
2022/12/28(水) 13:30:38.49ID:xff+tzRk0 何言ってんだ、こいつ?
590デフォルトの名無しさん (オッペケ Sr65-QX6b)
2022/12/28(水) 22:34:40.01ID:SmTZmVnPr rails slackはそんな雰囲気ではないが何のこと言ってるんだか
591デフォルトの名無しさん (オッペケ Sr65-QX6b)
2022/12/28(水) 22:34:54.53ID:SmTZmVnPr railsじゃなくてruby-jpか
592デフォルトの名無しさん (ワッチョイ a37d-hX/W)
2022/12/31(土) 14:21:30.95ID:MXKHIln50 Rubyの静的型ってみんな使ってんの?
593デフォルトの名無しさん (ワッチョイ 6301-+9kW)
2023/01/01(日) 10:40:08.74ID:ZyLRd4DP0 https://mevius.5ch.net/test/read.cgi/hp/1439005423/331
から誘導されて来ました。
JavaScriptで日付が変わると自動で音が鳴るというものを作るにはどうしたらいいですか?
から誘導されて来ました。
JavaScriptで日付が変わると自動で音が鳴るというものを作るにはどうしたらいいですか?
594デフォルトの名無しさん (ワッチョイ f6e8-U0ia)
2023/01/01(日) 13:19:44.80ID:TB0Q4LnJ0 スレタイみて誘導がイタズラだと思わんかったん?
595デフォルトの名無しさん (ワッチョイ 6301-uB4A)
2023/01/01(日) 13:40:43.56ID:SpXTBx4O0 JavaScriptで日付が変わると自動で音が鳴るというものを作るにはどうしたらいいですか?
596デフォルトの名無しさん (ワッチョイ df10-+64g)
2023/01/01(日) 16:55:07.16ID:oLAa0eV20 perl好き
ruby嫌い
crystal好きだが
crystalもパッケージ増えていくとぐちゃぐちゃになるんだろうな
ruby嫌い
crystal好きだが
crystalもパッケージ増えていくとぐちゃぐちゃになるんだろうな
597デフォルトの名無しさん (アウアウウー Sa85-DWwd)
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
# -*- 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
598デフォルトの名無しさん (アウアウウー Sa85-DWwd)
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 が先に動くはずなのに何故順番が逆になっているのかさっぱりわからない?
どういうことだろう??
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 が先に動くはずなのに何故順番が逆になっているのかさっぱりわからない?
どういうことだろう??
599デフォルトの名無しさん (ワッチョイ 7110-9O0i)
2023/01/12(木) 17:42:17.84ID:k/txfnyN0 今どき2行目が必要な環境ってある?
コードは全部ASCIIだし脳死で書いてない?
>Fiber,schedule は、Fiber を新規作成して即時実行のはず
これを信用するとしてputsもI/Oだからとか(しらんけど)
配列pushなんかに変えてみて最後に出力してみては
コードは全部ASCIIだし脳死で書いてない?
>Fiber,schedule は、Fiber を新規作成して即時実行のはず
これを信用するとしてputsもI/Oだからとか(しらんけど)
配列pushなんかに変えてみて最後に出力してみては
600デフォルトの名無しさん (ワッチョイ 8610-wtyD)
2023/01/14(土) 16:20:53.55ID:XG+wNT9X0 irb 1.6.2(ruby 3.2.0付属)について質問です。
文字入力時には自動補完せず、タブキーを押したときに自動補完させるにはどうすればよいでしょうか?
入力時の自動補完だと入力の邪魔になってしまうので任意のタイミングで自動補完させたい、という意図です。
.irbrcに IRB.conf[:USE_AUTOCOMPLETE] = false (あるいは --noautocomplete で起動)
とした場合、タブキーで補完候補が一気に出力されてしまい補完候補の選択ができませんでした。
文字入力時には自動補完せず、タブキーを押したときに自動補完させるにはどうすればよいでしょうか?
入力時の自動補完だと入力の邪魔になってしまうので任意のタイミングで自動補完させたい、という意図です。
.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
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
602デフォルトの名無しさん (アウアウウー Sa91-wtyD)
2023/01/15(日) 03:00:28.41ID:6m68H/Iaa 確かに、puts もI/O だから、表示される順番は確定しないのかも
603デフォルトの名無しさん (アウアウウー Sa91-wtyD)
2023/01/15(日) 03:04:07.46ID:6m68H/Iaaレスを投稿する
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 【映画】『クレヨンしんちゃん』 中国で公開延期 対日報復、エンタメに波及 [冬月記者★]
- Xのネトウヨは大体高齢独身。40過ぎて独身だと例外なく狂うって本当だったんだなと思う [805596214]
- 日経時間外、5万円割れ 垂直落下始まる [402859164]
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- ウッドデッキで調子こいてたやついたじゃん
- えんやすー
- 米国株が大暴落してるんだが😢
