プログラミング言語 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:aa9Khe9z02デフォルトの名無しさん (ワッチョイ 572c-yePO)
2020/12/25(金) 04:26:07.55ID:aa9Khe9z0 Rubyの絵本、2008
たのしいRuby 第6版、2019
3ステップでしっかり学ぶ Ruby入門、2018
かんたん Ruby (プログラミングの教科書)、2018
プロを目指す人のためのRuby入門、2017
改訂2版 パーフェクトRuby、2017
改訂2版 Ruby逆引きハンドブック、2018 (中級者向け)
Effective Ruby、2015 (中級者向け)
メタプログラミング Ruby 第2版、2015 (中級者向け)
リファクタリング:Rubyエディション(復刻版)、2020(中級者向け)
RubyでつくるRuby ゼロから学びなおすプログラミング言語入門、2017 (中級者向け)
Rubyのしくみ、2014 (中級者向け)
改訂4版 基礎 Ruby on Rails、2018
パーフェクト Ruby on Rails 【増補改訂版】、2020
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例、2014
オブジェクト指向設計実践ガイド Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方、2016
Seleniumデザインパターン&ベストプラクティス、2015
Webで使えるmrubyシステムプログラミング入門、2020
たのしいRuby 第6版、2019
3ステップでしっかり学ぶ Ruby入門、2018
かんたん Ruby (プログラミングの教科書)、2018
プロを目指す人のためのRuby入門、2017
改訂2版 パーフェクトRuby、2017
改訂2版 Ruby逆引きハンドブック、2018 (中級者向け)
Effective Ruby、2015 (中級者向け)
メタプログラミング Ruby 第2版、2015 (中級者向け)
リファクタリング:Rubyエディション(復刻版)、2020(中級者向け)
RubyでつくるRuby ゼロから学びなおすプログラミング言語入門、2017 (中級者向け)
Rubyのしくみ、2014 (中級者向け)
改訂4版 基礎 Ruby on Rails、2018
パーフェクト Ruby on Rails 【増補改訂版】、2020
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例、2014
オブジェクト指向設計実践ガイド Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方、2016
Seleniumデザインパターン&ベストプラクティス、2015
Webで使えるmrubyシステムプログラミング入門、2020
3デフォルトの名無しさん (ワッチョイ 572c-yePO)
2020/12/25(金) 04:27:50.07ID:aa9Khe9z0 開発環境
RDE
Windows用IDE
https://ja.osdn.net/projects/sfnet_rubyde/
以下、RDEの使用説明
http://rubyde.sourceforge.net/hiki/ja/FrontPage.html
RDEのデバッグ機能を使う場合、設定においてデバッグオプションを「-r debug2」から「-r debug」と書き換えて、
ruby付属のdebug.rbを使うようにすること。
RDE付属のdebug2.rbは、ruby1.8用のスクリプトのため、現在のrubyのversionには使えません
サクラエディタ
Windows用高機能エディタ
https://ja.osdn.net/projects/sfnet_sakura-editor/
以下、ruby用設定の説明
http://supportdoc.net/support-sakura/ruby.html
Emacs
GNUの高機能エディタ
Vim
Emacsと同じぐらい有名なCUIベースのエディタ
VSCode
マルチOSに対応したマイクロソフト社製のソースコードエディタ
https://code.visualstudio.com/download
RDE
Windows用IDE
https://ja.osdn.net/projects/sfnet_rubyde/
以下、RDEの使用説明
http://rubyde.sourceforge.net/hiki/ja/FrontPage.html
RDEのデバッグ機能を使う場合、設定においてデバッグオプションを「-r debug2」から「-r debug」と書き換えて、
ruby付属のdebug.rbを使うようにすること。
RDE付属のdebug2.rbは、ruby1.8用のスクリプトのため、現在のrubyのversionには使えません
サクラエディタ
Windows用高機能エディタ
https://ja.osdn.net/projects/sfnet_sakura-editor/
以下、ruby用設定の説明
http://supportdoc.net/support-sakura/ruby.html
Emacs
GNUの高機能エディタ
Vim
Emacsと同じぐらい有名なCUIベースのエディタ
VSCode
マルチOSに対応したマイクロソフト社製のソースコードエディタ
https://code.visualstudio.com/download
4デフォルトの名無しさん (ササクッテロル Sp1f-6DBA)
2020/12/25(金) 19:37:36.98ID:HoUTdWdQp 祝 ruby3.0.0
5デフォルトの名無しさん (ワッチョイ c54e-2ulA)
2020/12/25(金) 19:42:54.83ID:cyV6b5qO0 めでたくもなんともない
ムダに歳くったロートル
ムダに歳くったロートル
6デフォルトの名無しさん (ワッチョイ 0bab-JtRj)
2020/12/25(金) 22:20:13.76ID:DVzhLIY40 形態素ゲイムRuby松本まじコスロ
by猪瀬色彩空間
by猪瀬色彩空間
7デフォルトの名無しさん (ワッチョイ 3be6-91uD)
2020/12/25(金) 22:53:56.79ID:gC1vp0cV0 速度3倍ってマジ?
8デフォルトの名無しさん (オッペケ Srd9-Isz2)
2020/12/26(土) 05:22:31.21ID:MLavBbcpr >>1乙
3.0おめでとう
3.0おめでとう
9デフォルトの名無しさん (アウアウウー Sa71-ZH8k)
2020/12/27(日) 22:23:18.64ID:3h7fei6ma $ gem install clipboard
$ irb
irb> require 'clipboard'
=> true
irb> puts Clipboard.paste
朝鮮・韓国兵の扱い方(取り扱いマニュアル) 旧日本陸軍・米軍・旧ソ連共産党 | memo
=> nil
$ irb
irb> require 'clipboard'
=> true
irb> puts Clipboard.paste
朝鮮・韓国兵の扱い方(取り扱いマニュアル) 旧日本陸軍・米軍・旧ソ連共産党 | memo
=> nil
10デフォルトの名無しさん (ワッチョイ 9bad-yePO)
2020/12/28(月) 21:08:07.24ID:JL6YsW3y0 Rubyってトップレベル関数はprivateにできないの?
やっぱり、Pythonみたいに__ってしてあげるしかないのかな
やっぱり、Pythonみたいに__ってしてあげるしかないのかな
11デフォルトの名無しさん (ワッチョイ 8f5f-yePO)
2020/12/29(火) 11:46:48.14ID:NZwVboWN0 2.7で作ったアプリを3.0で動かしてみたらエラーでした
12デフォルトの名無しさん (ワッチョイ 2e63-YHUb)
2021/01/02(土) 17:25:59.70ID:z1ZKe1zV0 rubyで自分用のCUIアプリを作成しています。質問させて下さい。
rubyではクラスごとにファイルを分けるべきでしょうか?
名前空間ごとにディレクトリを作成すべきでしょうか?
また、とりあえず他のソースコードを何個か見て、以下のディレクトリを作成しています。
bin/
lib/
binの中はコマンドライン解析用のソースコードのみで、他はlibの中に全部入っています。
この配置は一般的でしょうか?
また、テスト用のソースコードやデータはどのように配置すべきでしょうか?
私の作っているソフトウェアの規模は個人用なので小規模で2万行程度です。ただし、最終的にはこの倍はいきそうです。
しかしながら、勉強も兼ねて、なるべくrubyのお作法に従うようにしたいです。
よろしくお願いいたします。
rubyではクラスごとにファイルを分けるべきでしょうか?
名前空間ごとにディレクトリを作成すべきでしょうか?
また、とりあえず他のソースコードを何個か見て、以下のディレクトリを作成しています。
bin/
lib/
binの中はコマンドライン解析用のソースコードのみで、他はlibの中に全部入っています。
この配置は一般的でしょうか?
また、テスト用のソースコードやデータはどのように配置すべきでしょうか?
私の作っているソフトウェアの規模は個人用なので小規模で2万行程度です。ただし、最終的にはこの倍はいきそうです。
しかしながら、勉強も兼ねて、なるべくrubyのお作法に従うようにしたいです。
よろしくお願いいたします。
13(u_・y) (アウアウウー Saa5-Jh9r)
2021/01/04(月) 11:01:26.70ID:oZidFLopa 俺様なら作法とか無視して最低3フォルダは作るけど
0、bin
1、そのアプリのみで使う事が想定されてるファイル群
2、他のアプリでもそのまま使える完全に分離してるmodule/class群
どうしても一般論でやるってところに拘るならrubyコミッターのソースコード探して見てくれば良い
標準があるとすればそれ
0、bin
1、そのアプリのみで使う事が想定されてるファイル群
2、他のアプリでもそのまま使える完全に分離してるmodule/class群
どうしても一般論でやるってところに拘るならrubyコミッターのソースコード探して見てくれば良い
標準があるとすればそれ
14(u_・y) (アウアウウー Saa5-Jh9r)
2021/01/04(月) 11:24:34.37ID:oZidFLopa (u_・y) 質問です。世の中を自分の好きなように動かしたいのですが。
(u_・y) "rubyを使う"という条件に限定した場合、何をするのが最適解でしょうか?
(u_・y) "rubyを使う"という条件に限定した場合、何をするのが最適解でしょうか?
15デフォルトの名無しさん (ワッチョイ 8201-TJkF)
2021/01/04(月) 13:08:51.30ID:VbZo6FxW0 >>12
gemの構成に従うのが一般的
$ bundle gem <project_name> でscaffoldしてくれる
もう少し詳しく知りたければオライリーから出てる
「Build Awesome Command-Line Application in Ruby 2」の9章
gemの構成に従うのが一般的
$ bundle gem <project_name> でscaffoldしてくれる
もう少し詳しく知りたければオライリーから出てる
「Build Awesome Command-Line Application in Ruby 2」の9章
16デフォルトの名無しさん (ワッチョイ 2e2c-qBFf)
2021/01/04(月) 13:22:27.53ID:yec7Hk1C0 Rails のプロジェクト構成に従えば?
プロジェクトルート直下のフォルダは、
ruby -e 'puts Dir.glob( "*" ).select{ |file| File.directory? file }.sort.join( ", " )'
app, bin, config, db, lib, log, node_modules, public, storage, test, tmp, vendor
プロジェクトルート直下のフォルダは、
ruby -e 'puts Dir.glob( "*" ).select{ |file| File.directory? file }.sort.join( ", " )'
app, bin, config, db, lib, log, node_modules, public, storage, test, tmp, vendor
17(u_・y) (アウアウウー Saa5-Jh9r)
2021/01/04(月) 20:10:47.67ID:0ES7puYLa 問 1
以下のソースコードを実行したときに最終的に表示される文字列をこたえよ
※ まずは答えを見ずに考えてね!
def b x
x + " rails"
end
def f(x=<<-TEXT) return p b x ; python最高(*'▽')
on #{print "ruby "}
TEXT
end
f
答え: https://ideone.com/G9U1Ab
以下のソースコードを実行したときに最終的に表示される文字列をこたえよ
※ まずは答えを見ずに考えてね!
def b x
x + " rails"
end
def f(x=<<-TEXT) return p b x ; python最高(*'▽')
on #{print "ruby "}
TEXT
end
f
答え: https://ideone.com/G9U1Ab
18デフォルトの名無しさん (ワッチョイ 2e63-YHUb)
2021/01/04(月) 21:25:31.68ID:yms/N9cK0 ありがとうございます。
いただいた回答を確認させていただきましたが、bundle2.7 gem NAMEで出てくる内容が、私の知りたい回答に近いようです。
参考にさせていただきます。
いただいた回答を確認させていただきましたが、bundle2.7 gem NAMEで出てくる内容が、私の知りたい回答に近いようです。
参考にさせていただきます。
19デフォルトの名無しさん (ワッチョイ 468c-1BNf)
2021/01/05(火) 19:10:35.24ID:khtEPZ8Z0 CSVファイルの読み込みで下みたいに変換することってできる?
"0123",1
=> ["0123", 1]
"0123",1
=> ["0123", 1]
20デフォルトの名無しさん (オッペケ Srf1-hZl1)
2021/01/05(火) 19:30:04.21ID:MfDAyFl4r >>19
CSV.parse '"0123",1', quote_char: ?' #=> [["\"0123\"", "1"]]
CSV.parse '"0123",1', quote_char: ?' #=> [["\"0123\"", "1"]]
21デフォルトの名無しさん (ワッチョイ 2e2c-qBFf)
2021/01/06(水) 00:17:02.38ID:2hpPqzu40 CSV では文字列・数値とか、各列の型を指定できなかったっけ?
各列の変換器
各列の変換器
22デフォルトの名無しさん (ワッチョイ 8205-I5PR)
2021/01/06(水) 02:45:29.91ID:X+T/DkCZ0 プログラミング自体初心者です
ファイバーを全く理解していなかったので勉強してみているのですが
class Test
def initialize
@fiber = Fiber.new {test}
end
def test
p "これがファイバーのブロックで与えた処理だ"
Fiber.yield
p "理解したかな???"
end
def fiber_test(count = 60)
@fiber.resume
p "帰ってきたぞ"
@fiber.resume
p "再び帰ってきたぞ"
count.times do {Fiber.yield}
end
end
このコードを組んで別の場所でTest.new.fiber_testとインスタンスを作成して呼び出してみたのですが
@fiber.resumeでtestメソッドへ移動し
Fiber_yieldでfiber_testメソッドへ戻ることはわかったのですが
testメソッドで@fiber.resumeを実行すると親子関係がおかしくなるからかFiberErrorを起こすのに対し
fiber_testメソッド側でFiber_yieldを実行すると一瞬画面が止まるだけでコンソールにも何も表示されません
これは何が起きているのでしょうか?
引数のcountを増やすほど長く画面が固まります
ファイバーを全く理解していなかったので勉強してみているのですが
class Test
def initialize
@fiber = Fiber.new {test}
end
def test
p "これがファイバーのブロックで与えた処理だ"
Fiber.yield
p "理解したかな???"
end
def fiber_test(count = 60)
@fiber.resume
p "帰ってきたぞ"
@fiber.resume
p "再び帰ってきたぞ"
count.times do {Fiber.yield}
end
end
このコードを組んで別の場所でTest.new.fiber_testとインスタンスを作成して呼び出してみたのですが
@fiber.resumeでtestメソッドへ移動し
Fiber_yieldでfiber_testメソッドへ戻ることはわかったのですが
testメソッドで@fiber.resumeを実行すると親子関係がおかしくなるからかFiberErrorを起こすのに対し
fiber_testメソッド側でFiber_yieldを実行すると一瞬画面が止まるだけでコンソールにも何も表示されません
これは何が起きているのでしょうか?
引数のcountを増やすほど長く画面が固まります
レスを投稿する
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪 ★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- カカロット、腰痛い
- 【悲報】高市早苗を妄信している今の日本人見ると80年前も市民は進んで戦争協力してたんだって理解出来るよね🥺 [616817505]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
