プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ
質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 64
https://mevius.5ch.net/test/read.cgi/tech/1535797516/
るりまサーチ (リファレンス検索)
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 65
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f80-JI52)
2018/12/22(土) 04:43:34.03ID:84E3pYZa02デフォルトの名無しさん (ワッチョイ cb80-JI52)
2018/12/22(土) 04:46:34.41ID:84E3pYZa0 Rubyの絵本、2008
たのしいRuby 第5版、2016
3ステップでしっかり学ぶ Ruby入門、2018
かんたん Ruby (プログラミングの教科書)、2018
プロを目指す人のためのRuby入門、2017
改訂2版 パーフェクトRuby、2017
改訂2版 Ruby逆引きハンドブック、2018 (中級者向け)
Effective Ruby、2015 (中級者向け)
メタプログラミング Ruby 第2版、2015 (中級者向け)
リファクタリング:Rubyエディション、2010 (中級者向け)
RubyでつくるRuby ゼロから学びなおすプログラミング言語入門、2017 (中級者向け)
Rubyのしくみ、2014 (中級者向け)
改訂4版 基礎 Ruby on Rails、2018
パーフェクト Ruby on Rails、2014
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例、2014
オブジェクト指向設計実践ガイド Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方、2016
Seleniumデザインパターン&ベストプラクティス、2015
たのしいRuby 第5版、2016
3ステップでしっかり学ぶ Ruby入門、2018
かんたん Ruby (プログラミングの教科書)、2018
プロを目指す人のためのRuby入門、2017
改訂2版 パーフェクトRuby、2017
改訂2版 Ruby逆引きハンドブック、2018 (中級者向け)
Effective Ruby、2015 (中級者向け)
メタプログラミング Ruby 第2版、2015 (中級者向け)
リファクタリング:Rubyエディション、2010 (中級者向け)
RubyでつくるRuby ゼロから学びなおすプログラミング言語入門、2017 (中級者向け)
Rubyのしくみ、2014 (中級者向け)
改訂4版 基礎 Ruby on Rails、2018
パーフェクト Ruby on Rails、2014
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例、2014
オブジェクト指向設計実践ガイド Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方、2016
Seleniumデザインパターン&ベストプラクティス、2015
3デフォルトの名無しさん (ワッチョイ cb80-JI52)
2018/12/22(土) 04:47:41.34ID:84E3pYZa0 開発環境
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デフォルトの名無しさん (ワキゲー MM2b-WCtl)
2018/12/22(土) 14:30:22.80ID:uFQ/hnLUM >>1乙
5デフォルトの名無しさん (ワッチョイ cb80-JI52)
2018/12/23(日) 02:23:36.39ID:lfndw29D0 前スレの、>995
>rubyでサイトにアクセスさせてたんだけど、そのrubyが急に動かなくなってしまいまして、どうしたもんかと
selenium-webdriver(SW) を使っているなら、ブラウザが新しくなってエラーが出るとか?
SW, chromedriver を最新にすれば?
最新のchromedriver をダウンロードする
http://chromedriver.chromium.org/home
レポジトリの情報を見る。
gem search -r selenium-webdriver
#=> version 3.141 が最新
グローバルにインストールする。
gem install selenium-webdriver
インストール済みGemを確認する。
gem list selenium-webdriver
>rubyでサイトにアクセスさせてたんだけど、そのrubyが急に動かなくなってしまいまして、どうしたもんかと
selenium-webdriver(SW) を使っているなら、ブラウザが新しくなってエラーが出るとか?
SW, chromedriver を最新にすれば?
最新のchromedriver をダウンロードする
http://chromedriver.chromium.org/home
レポジトリの情報を見る。
gem search -r selenium-webdriver
#=> version 3.141 が最新
グローバルにインストールする。
gem install selenium-webdriver
インストール済みGemを確認する。
gem list selenium-webdriver
6デフォルトの名無しさん (ワキゲー MM2b-WCtl)
2018/12/25(火) 09:31:38.95ID:w87C2v/dM 今年のクリスマスは新しいバージョンないのか
7デフォルトの名無しさん (ワキゲー MM2b-WCtl)
2018/12/25(火) 19:08:55.81ID:+tXPBaqnM Ruby 2.6.0 キターーーー
8デフォルトの名無しさん (アメ MM59-wUZI)
2018/12/26(水) 20:00:19.74ID:v8erlN15M > なお、「Ruby」で採用されているJITコンパイラーは、他の言語で採用されている一般的なものとは異なり、
> C言語のソースコードをファイルとしてディスクに書き、通常のCコンパイラーを用いてネイティブコードに変換することでJITコンパイルを行うという手法(MJIT)を採用しているという。
> そのため、「Ruby 2.6」でJITコンパイラーを利用するには「GCC」、「Clang」、あるいは「Microsoft VC++」によってビルドされた「Ruby」実装と、それをビルドしたコンパイラーを実行時に利用できる必要がある。
トッポいなぁwww
> C言語のソースコードをファイルとしてディスクに書き、通常のCコンパイラーを用いてネイティブコードに変換することでJITコンパイルを行うという手法(MJIT)を採用しているという。
> そのため、「Ruby 2.6」でJITコンパイラーを利用するには「GCC」、「Clang」、あるいは「Microsoft VC++」によってビルドされた「Ruby」実装と、それをビルドしたコンパイラーを実行時に利用できる必要がある。
トッポいなぁwww
9デフォルトの名無しさん (ワッチョイ aded-rM0A)
2018/12/26(水) 21:07:57.20ID:8V4rShRI0 それは、JITではないな。
10デフォルトの名無しさん (ワッチョイ 237c-ESEE)
2018/12/26(水) 23:00:34.51ID:lC66I3j80 Cみたいに、構造体CPersonを要素とする配列を作りたいんだけど、どうやればいい?
CPerson Struct.new(:name, :age);
persons = [
CPeson.new("Taro Yamda", 25),
CPeson.new("Yuko Suzuki", 20),
CPeson.new("Erika Toda", 30)
];
で定義して、参照は、
k = 要素番号;
name = persons[k].name;
age = persons[k].age;
みたいにするのが標準?
CPerson Struct.new(:name, :age);
persons = [
CPeson.new("Taro Yamda", 25),
CPeson.new("Yuko Suzuki", 20),
CPeson.new("Erika Toda", 30)
];
で定義して、参照は、
k = 要素番号;
name = persons[k].name;
age = persons[k].age;
みたいにするのが標準?
11デフォルトの名無しさん (ワッチョイ 237c-ESEE)
2018/12/26(水) 23:01:21.88ID:lC66I3j80 誤: CPerson Struct.new(:name, :age);
正: CPerson=Struct.new(:name, :age);
orz
正: CPerson=Struct.new(:name, :age);
orz
12デフォルトの名無しさん (ワッチョイ 7680-v93B)
2018/12/27(木) 00:05:55.93ID:zcYaa59I0 Effective Ruby の著者のサイトに、本のソースコードが載っている
項目10 : 構造化データの表現には、Hash ではなく、Struct を使おう
https://github.com/pjones/effrb/blob/master/oop/struct_test.rb
ハッシュキーは内部実装の詳細情報なので、
これがユーザーに公開されているのは、良くないから
一方、Struct は、Class Generator。
簡易クラス
項目10 : 構造化データの表現には、Hash ではなく、Struct を使おう
https://github.com/pjones/effrb/blob/master/oop/struct_test.rb
ハッシュキーは内部実装の詳細情報なので、
これがユーザーに公開されているのは、良くないから
一方、Struct は、Class Generator。
簡易クラス
13デフォルトの名無しさん (アメ MMa1-aqDf)
2018/12/27(木) 01:03:54.71ID:KLGborwtM 簡単にクラスが作れる!軽い気持ちでじゃんじゃんクラスにしてね!な言語かと思ってたのに簡易クラスとは…
1412 (ワッチョイ 7680-N9Dm)
2018/12/27(木) 02:41:44.91ID:zcYaa59I0 Struct は入門書にも書いていないのに、これを使うのは物好きな人だろう。
書き捨てのツール作りとかに使うのかも
でも、Rails のような大規模プログラムでも使っているけど
書き捨てのツール作りとかに使うのかも
でも、Rails のような大規模プログラムでも使っているけど
15デフォルトの名無しさん (アウアウエー Sa02-n9eg)
2018/12/27(木) 07:26:53.72ID:4d8pe2yNa >>8
お前さんが考えてる「遥かにスマートな方法」って何?
お前さんが考えてる「遥かにスマートな方法」って何?
16デフォルトの名無しさん (ワッチョイ 718a-5EXd)
2018/12/27(木) 07:31:41.61ID:+XOHKY4Q0 面倒くさいからコンパイラも内蔵してくれ
17デフォルトの名無しさん (オッペケ Sr75-ledV)
2018/12/27(木) 11:44:26.94ID:gNvYWHErr お前ら詳しすぎ
18デフォルトの名無しさん (ワッチョイ 5ae3-h5Ay)
2018/12/27(木) 11:52:39.98ID:lYmcIHJL0 >>10
CPerson.new(・・・)
の代わりに、Syntax Suger として
CPerson[・・・]
を使えるらしいので、やってみたところ上手くいった:
CPerson = Struct.new(:name, :age); # CPerson型の型定義
$g_persons = [
CPerson["Taro Yamda", 25],
CPerson["Yuko Suzuki", 20],
CPerson["Erika Toda", 30]
];
for k in 0..2
name = $g_persons[k].name;
age = $g_persons[k].age;
print name, ", ", age, "\n";
end
CPerson.new(・・・)
の代わりに、Syntax Suger として
CPerson[・・・]
を使えるらしいので、やってみたところ上手くいった:
CPerson = Struct.new(:name, :age); # CPerson型の型定義
$g_persons = [
CPerson["Taro Yamda", 25],
CPerson["Yuko Suzuki", 20],
CPerson["Erika Toda", 30]
];
for k in 0..2
name = $g_persons[k].name;
age = $g_persons[k].age;
print name, ", ", age, "\n";
end
19デフォルトの名無しさん (ワッチョイ 7dc7-NHNr)
2018/12/27(木) 12:38:00.49ID:M6yD45RN0 何がしたいのかよくわからんがRubyでfor文は殆ど使わない
$g_persons.each{|p|puts 'name = %s, age = %s' % p.to_a}
$g_persons.each{|p|puts 'name = %s, age = %s' % p.to_a}
20デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 12:47:26.89ID:xdSwIlO30 forを使わないのは良いが
そこでeachとか使われると萎える
そこでeachとか使われると萎える
21デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 12:57:10.36ID:xdSwIlO30 これのどちらかだな(%よりはformatの方が推奨される)
puts $g_persons.map { |p| 'name = %s, age = %s' % p.to_a }
puts $g_persons.map { |p| "name = #{p.name}, age = #{p.age}" }
puts $g_persons.map { |p| 'name = %s, age = %s' % p.to_a }
puts $g_persons.map { |p| "name = #{p.name}, age = #{p.age}" }
22デフォルトの名無しさん (ワッチョイ 6e8a-ZwQs)
2018/12/27(木) 12:59:00.75ID:fJVcpN3h0 print name, ", ", age, "\n";
ってのはただの例だろうからこの場合eachよりふさわしい方法はないでしょ
代替案も言えない屑は勝手に萎えてろ
ってのはただの例だろうからこの場合eachよりふさわしい方法はないでしょ
代替案も言えない屑は勝手に萎えてろ
23デフォルトの名無しさん (ワッチョイ 91ed-MF8/)
2018/12/27(木) 13:01:20.74ID:aB5zW/KI0 >>21
なんでわざわざmap?w
なんでわざわざmap?w
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 【DAZN】ワールドカップ欧州予選総合 ★5
- 【ATP】テニス総合実況スレ2025 Part 211【WTA】
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- 【二次】この中で種付けセックスしたい女の子早い者勝ちwwwwwwwwwwwwwwwwwwwwwwwwwwww
- へそグリグリ
