Ruby 初心者スレッド Part 57©5ch.io [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2015/03/12(木) 22:08:53.45ID:qh8O4P61質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 55
http://peace.2ch.net/test/read.cgi/tech/1403361584/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
0002デフォルトの名無しさん
2015/03/12(木) 22:10:29.80ID:qh8O4P61Ruby 初心者スレッド Part 56
http://peace.2ch.net/test/read.cgi/tech/1418430552/
いろいろミスった すまん
0003デフォルトの名無しさん
2015/03/12(木) 22:56:21.44ID:xOWYefW70004デフォルトの名無しさん
2015/03/12(木) 23:00:25.55ID:E4K/qych0005デフォルトの名無しさん
2015/03/13(金) 10:08:50.27ID:ua+Lgk3v乙
0006デフォルトの名無しさん
2015/03/14(土) 10:46:58.67ID:tvgpDvXZどの機種を買ってるの?
ノートでもいけるもんなの
0007デフォルトの名無しさん
2015/03/15(日) 03:48:59.75ID:GfmgeCmk実行したら、
写真袋.rb:9:in `require': no such file to load -- json (LoadError)
from 写真袋.rb:9
って出るのはなんでですか?
他の人はたぶん実行できてるみたいなんです
ジャバはインストール済みです
0008デフォルトの名無しさん
2015/03/15(日) 04:06:19.16ID:Igs3//KG0009デフォルトの名無しさん
2015/03/17(火) 08:20:27.14ID:jjUxdnY2uninitialized constant ActionView::Helpers::ActiveModelHelper (NameError)
が出る。
エラー発生部分のコードは
include ActiveModelHelper
で, 上のほうで
module ActionView #:nodoc:
module Helpers #:nodoc:
extend ActiveSupport::Autoload
autoload :ActiveModelHelper
などと書かれているんだけれども、これはActiveModuleHelperが読み込まれてないとみるべき?
0010デフォルトの名無しさん
2015/03/17(火) 22:46:50.46ID:nsNWbIEZ00119
2015/03/18(水) 01:52:07.57ID:ZeAfVT3vRubyさんは初めて触るんですわ・・・・(主にPerl)
とりあえず解決したのでご報告。
redmineのbundleのインストール先ディレクトリ vendor/bundle ディレクトリ以下の全ファイルにセキュリティコンテキスト httpd_modules_t を付与したら正常に起動した。
audit.logにもdeniedのログが残ってなかったので, gemsのあるディレクトリに手当たり次第にセキュリティコンテキスト変えながらテストしたら前述の条件で動いた。
/* RedmineのインストールガイドにとりあえずSELinuxを切りましょうとかあるのはどうかと思う */
0012デフォルトの名無しさん
2015/03/19(木) 02:25:41.65ID:noU2qMQuどのプログラミング言語でも書いてある
ところで、9bitのフラグを使いたいが、
Rubyにはビットセットは無いのか?
9bitだと、2バイト(16bit)で使うのか?
0013デフォルトの名無しさん
2015/03/19(木) 08:34:25.16ID:pl6HuOAuCのビットフィールドのことか?ネーヨ。
そーゆーのはFixnumのインスタンス変数と各ビットのアクセサ定義したクラスかな。
Fixnumのサイズはsizeof(long)なんで実装依存な。
http://docs.ruby-lang.org/ja/2.2.0/method/Fixnum/i/size.html
0014デフォルトの名無しさん
2015/03/19(木) 14:08:39.29ID:TrzpuitZしかし、このインストーラーがダブルクリックしてもさっぱり起動しません。ずっと読み込みマークが出たまま
何がまずいのかさっぱりわかりません
0015デフォルトの名無しさん
2015/03/19(木) 14:35:40.96ID:Wd74eGtb0016デフォルトの名無しさん
2015/03/19(木) 15:04:04.86ID:TrzpuitZそれでした。ありがとうございます
まったく、一言「ブロックしました」とか出ればいいのに、何も表示されないからどうしたかと思いました
ついでにもう一つ聞きたいんですが、自分のパソコンが64bitだから64bitのを落とせばいいですよね
0017デフォルトの名無しさん
2015/03/19(木) 18:34:50.82ID:eg1mQNFt危うく俺が答えそうになったわ
0018デフォルトの名無しさん
2015/03/19(木) 19:16:46.50ID:TrzpuitZそんな意地悪しないで下さいよ
サイトを見てまわったら64bitだと環境を構築するのに面倒だというのがいくつかあって不安なんですよ
0019デフォルトの名無しさん
2015/03/19(木) 19:54:10.03ID:pl6HuOAuRubyDevKitでsoをコンパイルできるgemならいいけど、ものによってはコンパイル済みのsoを配布してたりするので、そういうのは32bitの方がいいかも。
つーわけで、答えは両方入れろ。
64bitの広大なメモリ空間を使いたいこともあるかもしれん。
そうそう、まだ2.2.1はmingwに対応できてないgemがあるので、2.0で様子みとくのがいいかも。
2.0は2.0でなんか挙動がおかしかったりするけど。
そもそも、さんざん言われてるけど、WindowsでRubyを使うのが苦行。
最近のバージョンは特にWindowsでろくにテストされてないかんじだし。
1.8から1.9のときは、開発期間が長かったこともあって、非互換は多くても、糞みたいなバグに悩んだりしなかったかったんだけどなー。
0020デフォルトの名無しさん
2015/03/19(木) 20:08:16.98ID:TrzpuitZりょ、両方入れろ…ですか…
最新バージョンが必ずしもいいわけではないんですね(; ・`д・´)
まずは32bitでやってみようと思います
ありがとうございました
0021デフォルトの名無しさん
2015/03/19(木) 20:10:15.43ID:rGfQi3lS0022デフォルトの名無しさん
2015/03/20(金) 09:12:21.28ID:63YhLXCjrubyのrubyたる始まり
なので
終わってない
0023デフォルトの名無しさん
2015/03/20(金) 09:41:05.49ID:63YhLXCjwin上の仮想linuxでruby使えばいいよ
導入法はドットインストールを参考にすれば猿でも出来る
0024デフォルトの名無しさん
2015/03/20(金) 12:05:27.27ID:tF7jVOck自分のプログラムはいつも 1.8.7 から一通り動くのを試してる.
ついこないだまで 1.9 が最新だったのに,1.9.3 以前はもうサポートしないって,信じられんな.
Rails とかで追従するのは私の能力だともう無理.
Ruby にはレガシーオプションってのがないのかな?
つか,性能はおいといて言語仕様として Common Lisp レベル(とまでいかなくてもいいけど)
のものを作って,せめて言語仕様の開発は止めて欲しい.
Ruby はプログラミングのし易さがとても好きなんで使ってるけど,これだけがなー.
0025デフォルトの名無しさん
2015/03/20(金) 12:07:37.91ID:tF7jVOck公開してるといろんなバージョン環境で使われるからなー.
0026デフォルトの名無しさん
2015/03/20(金) 22:50:51.56ID:kel79wjex=%W(x y z)
p a
p x
{a,x}.clear
p a
p x
#a, x を clearしたいのですが、できません
#どう書けばいいですか
0027デフォルトの名無しさん
2015/03/20(金) 23:12:09.03ID:krs7HuX/0028デフォルトの名無しさん
2015/03/20(金) 23:47:40.09ID:0D64RMiq0029デフォルトの名無しさん
2015/03/21(土) 00:05:13.35ID:/FAWNGWpできた、ありがとうございます
>>28 のような書き方があるんですね
0030デフォルトの名無しさん
2015/03/21(土) 14:07:29.35ID:4rhekeJvxとyが長くなると読みにくくなっちゃうんですけど、何かスマートな方法はあるでしょうか?
0031デフォルトの名無しさん
2015/03/21(土) 14:14:15.66ID:YzmjW15Sary = [x, y]
ary.reverse! unless bool
0032デフォルトの名無しさん
2015/03/21(土) 17:34:11.61ID:PcOPjagPRuby とRuby on Railsを習得したいのですが、どうやったらいいですか?
0033デフォルトの名無しさん
2015/03/21(土) 18:13:15.26ID:4pneRj7M入門サイトを探して、そこを見ながら動かしてみるのが一番
0034デフォルトの名無しさん
2015/03/21(土) 19:05:32.48ID:Vk/jcLRo0035スッキリ厨
2015/03/22(日) 01:10:13.92ID:zalLAL+tこの本を読むと、Rubyの文法や正規表現も、学べるけど、
RoRなどのフレイムワークは、オブジェクト指向の理解が必須
プログラミング初心者には、長い長い道のり
以下の本を、順に読んで
ttp://peace.2ch.net/test/read.cgi/tech/1419964623/309
0036デフォルトの名無しさん
2015/03/22(日) 03:59:04.09ID:L6yG2yVAary = [x, y].tap{|i| i.reverse! unless bool}
とか色々考えてみたんですけど2行に分けて書くのが一番見易そうですね
どうもありがとうございました!
0037デフォルトの名無しさん
2015/03/22(日) 10:14:32.83ID:4BB4Mdp+物足りない、複雑なことがしたいと感じてから
他の本に手を出した方が良いと思うけどね
まず
http://dotinstall.com/lessons
で
1.楽しいRuby
2.レシピブックor逆引き
3.作りながら学ぶRuby
3.5 リーダブルコーディング
--
↑ とりあえず動くコードをたくさん作る
↓ 生産性の高いコードを目指す、
--
4.Rubyによるデザインパターン
5.UML
6.Git
or
進みたい分野の専門知識
0038デフォルトの名無しさん
2015/03/23(月) 02:07:54.34ID:WpSM24TQ他にもっと使いやすいツールとかあれば教えてもらえるとうれしいです
ググるとgruffと言うのもあるようですがRMagick依存らしいのでインストールが
かなり面倒・・・
0039デフォルトの名無しさん
2015/03/23(月) 05:54:37.02ID:Mas1vnDZ今までずっと1.9.3と2.0.0使ってたんですが、
最近2.2.1がリリースされたと聞いたんでそろそろいれておこうとRubyInstallerを落として実行したんですけど、
一向にインストールが始まる気配が無くて困っています、どうしたらよいでしょうか?
0040デフォルトの名無しさん
2015/03/23(月) 06:56:22.18ID:s7C/DHNu0041デフォルトの名無しさん
2015/03/23(月) 07:13:14.12ID:Mas1vnDZちゃんとUAC出てきて普通にインストールできてあれぇ〜!?状態
すみません、お騒がせいたしました……
0042デフォルトの名無しさん
2015/03/23(月) 07:14:19.92ID:h9PpfwFW0043デフォルトの名無しさん
2015/03/23(月) 11:32:38.42ID:irbxTPxc0044デフォルトの名無しさん
2015/03/23(月) 18:43:43.77ID:xnTQJ2saメモ帳に簡単なプログラムを書いてrubyのコマンドプロントで
実行すると一瞬だけコマンドプロントが表示されて終了してしまいます。
どうしたら治りますか?
0045デフォルトの名無しさん
2015/03/23(月) 18:58:04.59ID:pipv5iGo知るか( ゚Д゚)ヴォケ
まず、テメーのカスみたいなソースをさらせ
0046デフォルトの名無しさん
2015/03/23(月) 19:35:06.76ID:s7C/DHNuWindowsキー+R→「cmd」と入力→出てきた黒いウィンドウに「ruby ファイル名(絶対パス)」
0047デフォルトの名無しさん
2015/03/24(火) 03:30:38.73ID:UePi+RvZ>>37
これどっちが妥当なの
0048スッキリ厨
2015/03/24(火) 04:07:53.54ID:figDJ/Iz1. スッキリわかる Java入門 第2版、2014
その後、この2冊を順に読む
2. たのしいRuby 第4版、2013
3. みんなのPython 第3版
123の順番で勉強する。
勉強時間は、1,2に各20H、3に10H
これで、オブジェクト指向、正規表現、
UNIX系でシェルスクリプトの代わりに使える
漏れのやり方は、最初に本で、
50H勉強するから退屈かもね
一方、 >>37 は手を動かしながら試行錯誤する。
どちらでもお好きに
0049デフォルトの名無しさん
2015/03/24(火) 13:48:57.56ID:t/9qecum1.8.7, 1.9.3, 2.0.0 では0(日曜日)なんだけど、2.1.5, 2.2.0 では1(月曜日)になってしまう。(暦上は日曜日)
環境はWindows VISTA SP2 32bitなんだけどどうしてなんでしょうか?
0050デフォルトの名無しさん
2015/03/24(火) 13:56:54.86ID:t/9qecum1970年1月3日午前8時59分59秒 + 1秒 = 1970年1月4日午前9時0分0秒
0051デフォルトの名無しさん
2015/03/24(火) 20:18:06.92ID:lrhN9mZDこれだと24時間分時間が前にずれるはずだけどずれないようになってるみたい
一方で、1月4日も午前9時以降は正常だから、本来1970年1月2日と3日にだけ適用するはずの処理を間違えて掛けてるのかな?
0052デフォルトの名無しさん
2015/03/24(火) 20:58:11.45ID:WLCHoINr前スレで似たような話しをみた気がする。
0053デフォルトの名無しさん
2015/03/25(水) 13:52:18.52ID:ZnaXoefXどうすればいいんだろう?
0054デフォルトの名無しさん
2015/03/25(水) 14:00:58.02ID:ZnaXoefX0055デフォルトの名無しさん
2015/03/25(水) 15:30:36.14ID:VW0J0cUvhttp://ideone.com/1vwuLr
0056デフォルトの名無しさん
2015/03/25(水) 17:24:19.06ID:ZnaXoefX0057デフォルトの名無しさん
2015/03/26(木) 02:20:22.72ID:uK/WLLbH初歩レベルの質問ですが、もっとよい書き方はありますか?
(a は Hash)
ハッシュを二回調べるのを、一回にしたいです。
0058デフォルトの名無しさん
2015/03/26(木) 04:02:10.86ID:LA0ApMoSif x = a[i]
キーが存在しなければ、nil を返すから、
そのまま、if の条件に書ける
また、Hash.new("")の引数や、
a.fetch(i, "") の第2引数に指定すれば、
キーが存在しない際、指定した文字列、
例えば、空文字列を返す
ちなみに真偽値は、if にそのまま書ける
>if true == 真偽値
if 真偽値
false, nil は偽。それら以外は真。
!真偽値で、真偽値を反転する
0059デフォルトの名無しさん
2015/03/26(木) 04:45:10.87ID:kahQGSuPbegin
x = a.fetch(i)
rescue
end
とか
>>58
{}[:foo]
=> nil
{:foo=>nil}[:foo]
=> nil
の区別がつかない
0060デフォルトの名無しさん
2015/03/26(木) 09:04:00.47ID:LA0ApMoSTO_ARY = ["aa","bb","cc"] # 置換後
置換前後の文字列の組が、複数あるとき、
文字列(またはファイル)をどうやって置換するの?
0061デフォルトの名無しさん
2015/03/26(木) 09:08:37.48ID:01//DD7r0062デフォルトの名無しさん
2015/03/26(木) 09:45:39.97ID:U2cl9cv9http://blog.nogizaka46.com/
このサイトのブログ画像だけanemoneで取得したいんだけど
画像が他のサイトにおいてあるからどうすればいいのかわからない
教えてください
0063デフォルトの名無しさん
2015/03/26(木) 10:26:57.72ID:Megmic4vx = a.fetch(i, x)
とか
0064デフォルトの名無しさん
2015/03/26(木) 11:12:33.93ID:5qC90pSFp /a/.! # => false
p !/a/ # => true
後者の挙動が把握できません
CRuby 2.0.0, 2.1.5 で確認しています
0065デフォルトの名無しさん
2015/03/26(木) 11:31:47.16ID:01//DD7r後者は$_とのマッチを取っている。
$_ = 'a'
p !/a/ #=> false
0066デフォルトの名無しさん
2015/03/26(木) 11:41:29.13ID:01//DD7r0067デフォルトの名無しさん
2015/03/26(木) 11:49:35.14ID:5qC90pSFおお、なるほど。ありがとうございます
警告が出なかったのではなんででしょうね
0068デフォルトの名無しさん
2015/03/26(木) 12:58:41.09ID:ejfTzuZpユニットテストってどんな時に使うのかな
もちろん想定外の挙動を認識するためだとは思うのだけど
工程の流れ的にどんな時に、どのように用いのだろう。
0069デフォルトの名無しさん
2015/03/27(金) 02:48:40.15ID:B/xnV6qpコーディングとユニットテストは、同時に行う
Javaではコードを修正すると、Test用のTestClassも修正して、
JUnit, Jenkinsなどでテストする
Coberturaでコードカバレッジを測定する。
命令網羅(C0)100%・分岐網羅(C1)90%以上かどうかをチェック
007060
2015/03/27(金) 05:25:34.33ID:B/xnV6qpもっと一般的な話で、置換表のようなファイルに、
(置換前, 置換後)のような文字列の組が、
複数定義してあって、それを配列に読み込むと、
FROM_ARY = ["Ruby","Python","JavaScript"] # 置換前
TO_ARY = ["宝石","蛇","JS"] # 置換後
この置換表を使って、
文字列(またはファイル)をどうやって置換するの?
0071デフォルトの名無しさん
2015/03/27(金) 06:03:49.89ID:DTkMuG4d0072デフォルトの名無しさん
2015/03/27(金) 09:02:41.18ID:59COlJN1007360
2015/03/27(金) 16:35:01.78ID:B/xnV6qpstr.gsub!(Regexp.new(sFROM), sTO)
end
結局、文字列(またはファイル)全体を、
何回もループして、1つずつ置換していくんだね?
>>71
Regexp.union(配列)は、
配列中のどれかの要素と一致したら、
という意味だから、漏れの想定とは違う
0074デフォルトの名無しさん
2015/03/27(金) 17:14:58.35ID:9ORSmkz6そんなもんHashでやれよ。
ゴルフのネタでも提供してるつもりなのか。おまいは。
0075デフォルトの名無しさん
2015/03/27(金) 21:44:19.77ID:4Pr9ruNj0076デフォルトの名無しさん
2015/03/28(土) 00:29:01.06ID:NvPvIHKeありがとうございます。
fetch 試してみます、使ったことないです。
0077デフォルトの名無しさん
2015/03/28(土) 09:55:00.70ID:eS6PuzJCその手順で読んでみたけど理解出来た気がしなかった
0078デフォルトの名無しさん
2015/03/28(土) 19:04:32.10ID:9D6q6DQr0079デフォルトの名無しさん
2015/03/28(土) 19:18:47.63ID:eS6PuzJC0080デフォルトの名無しさん
2015/03/28(土) 19:41:05.67ID:9D6q6DQrプログラミングのスーパー初心者の僕にわかりやすくおしえてくだせえ…
0081デフォルトの名無しさん
2015/03/28(土) 20:20:08.09ID:3hbPl+o9そういう奴はGUI自体が分かってないから、何言っても無駄
0082デフォルトの名無しさん
2015/03/28(土) 21:20:26.56ID:eS6PuzJC0083デフォルトの名無しさん
2015/03/28(土) 21:55:51.48ID:9D6q6DQrそう言わずに、兄さぁぁん!!
0084デフォルトの名無しさん
2015/03/28(土) 22:58:25.89ID:Rm/MLphK0085デフォルトの名無しさん
2015/03/29(日) 00:28:25.67ID:t4hqKB210086デフォルトの名無しさん
2015/03/29(日) 01:58:18.36ID:cbZ+OAuX0087スッキリ厨
2015/03/29(日) 02:26:23.38ID:abbduuww繰り返し読むと、最初は20Hかかっていたのが、
次には10Hで読める
まあ、2,3回読めばよいと思う
0088デフォルトの名無しさん
2015/03/29(日) 10:18:33.36ID:PdgsgtyB0089デフォルトの名無しさん
2015/03/29(日) 12:29:11.20ID:tbam8Ryaどれがいいかは知らない
Rubyist Magazine - Ruby de GUI
http://magazine.rubyist.net/?0001-RubyGUI
0090デフォルトの名無しさん
2015/03/29(日) 22:14:44.40ID:yrIUYa7Mプログラミング始めたばかりです。
GUIつくるとかレベル高杉ますか?
0091デフォルトの名無しさん
2015/03/29(日) 22:30:51.02ID:yrIUYa7Mありがとうございます!
ちょい読んでみる!
0092デフォルトの名無しさん
2015/03/30(月) 01:30:09.86ID:tZH83wbT使いまわし効くと思うけどね
0093デフォルトの名無しさん
2015/03/30(月) 12:52:21.90ID:5htnBXQShttp://melborne.github.io/2010/10/12/Ruby/
a,bに1つずつ入ったらmergeに行って小さい順にresに入れていく、を繰り返してると思うんですが、
これだと整列された2つが次々resに入ってもres全体では整列されてないように思えます・・・ご教授おねがいします
class Array
def merge_sort
tmp = self.dup
return tmp if tmp.length <= 1
a, b = self.half.map { |e| e.merge_sort }
merge(a, b)
end
def half
mid = length/2
return slice(0...mid), slice(mid..-1)
end
def merge(a, b)
res = []
until a.empty? && b.empty?
res <<
case
when a.empty? then b.shift
when b.empty? then a.shift
when a.first < b.first then a.shift
else b.shift
end
end
res
end
end
0094デフォルトの名無しさん
2015/03/30(月) 13:57:02.46ID:KemAcwb40095デフォルトの名無しさん
2015/03/30(月) 14:00:25.71ID:5htnBXQSそれがa,bに渡されて整列されていくのかな
0096デフォルトの名無しさん
2015/03/30(月) 17:09:10.01ID:vd5gzrat図や表に描いて、一つずつ考える
0097デフォルトの名無しさん
2015/03/30(月) 18:09:54.03ID:vBLCev700098デフォルトの名無しさん
2015/03/30(月) 22:52:03.53ID:jOu/nfHk例えば、$a[1]を$bという名前で扱いたいです。
$bに変更をかけると$a[1]も変更される、aliasのような扱いが望ましいのですが、
alias $b $a[1] と書くとエラーが出てしまいます。
どなたかご教授くださいますようお願いいたします。
0099デフォルトの名無しさん
2015/03/31(火) 07:46:50.82ID:E5ZmHRmL0100デフォルトの名無しさん
2015/03/31(火) 13:58:02.55ID:meXl7bV+条件付きでできる
配列の要素に別名を付けるというわけではなく
配列の要素であるオブジェクトを別の変数名でも参照するようにする(2行目)
そのオブジェクトを破壊的に変更すればどちらから見ても変更されていることになる(3〜6行目)
ただし、別のオブジェクトを参照するように再代入した場合は
参照するオブジェクトが変わっただけで元のオブジェクトは変更されていないので
もう片方から見ると変わっていないことになる(7〜8行目)
下記例では配列の要素がArray型のオブジェクトなのでうまくいくが、ただの整数とかだと破壊的変更ができないのでできない
irb(main):001:0> a=[[1,2],[2,3]] #=> [[1, 2], [2, 3]]
irb(main):002:0> b=a[1] #=> [2, 3]
irb(main):003:0> b<<5 #=> [2, 3, 5]
irb(main):004:0> a #=> [[1, 2], [2, 3, 5]]
irb(main):005:0> b.delete(2) #=> 2
irb(main):006:0> a => [[1, 2], [3, 5]]
irb(main):007:0> b=3 #=> 3
irb(main):008:0> a #=> [[1, 2], [3, 5]]
0101デフォルトの名無しさん
2015/03/31(火) 13:59:55.80ID:aNarOGXw■ このスレッドは過去ログ倉庫に格納されています