TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
WPF(.NET4.x, .NET Core) GUIプログラミング Part24
次世代言語13 COBOL Java PHP VBA Ruby
Julia Juno Jupyter part1
C言語なら俺に聞け 154
☆★ Java の宿題ここで答えます Part 74 ★★
D言語は多分コケると思っている人の数→
Jenkins
小学生プログラマだけど質問ある
クラスとかインスタンスってなんのためにあんの?
【モダン推奨】Perlについての質問箱 50箱目

Ruby 初心者スレッド Part 57©2ch.sc


1 :2015/03/12 〜 最終レス :
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で

前スレ
Ruby 初心者スレッド Part 55
http://peace.2ch.sc/test/read.cgi/tech/1403361584/

るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/

Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/

逆引きRuby
http://www.namaraii.com/rubytips/

2 :
前スレ
Ruby 初心者スレッド Part 56
http://peace.2ch.sc/test/read.cgi/tech/1418430552/

いろいろミスった すまん

3 :
>>1

4 :
Ruby 2.2.1 リリース

5 :
>>1-2


6 :
rubyで開発環境にMac使ってる人って
どの機種を買ってるの?
ノートでもいけるもんなの

7 :
Rubyプログラム実行したくて今日はじめてDLしたんですが、
実行したら、

写真袋.rb:9:in `require': no such file to load -- json (LoadError)
from 写真袋.rb:9

って出るのはなんでですか?
他の人はたぶん実行できてるみたいなんです
ジャバはインストール済みです

8 :
$ gem install json

9 :
CentOS7上でRedmine動かそうとしてるんだけど、SELinuxを有効にしたままだと

uninitialized constant ActionView::Helpers::ActiveModelHelper (NameError)

が出る。
エラー発生部分のコードは

include ActiveModelHelper

で, 上のほうで

module ActionView #:nodoc:
module Helpers #:nodoc:
extend ActiveSupport::Autoload

autoload :ActiveModelHelper

などと書かれているんだけれども、これはActiveModuleHelperが読み込まれてないとみるべき?

10 :
includeで読み込むのはC言語

11 :
>>10
Rubyさんは初めて触るんですわ・・・・(主にPerl)


とりあえず解決したのでご報告。
redmineのbundleのインストール先ディレクトリ vendor/bundle ディレクトリ以下の全ファイルにセキュリティコンテキスト httpd_modules_t を付与したら正常に起動した。
audit.logにもdeniedのログが残ってなかったので, gemsのあるディレクトリに手当たり次第にセキュリティコンテキスト変えながらテストしたら前述の条件で動いた。

/* RedmineのインストールガイドにとりあえずSELinuxを切りましょうとかあるのはどうかと思う */

12 :
SELinuxを切るというのは、
どのプログラミング言語でも書いてある


ところで、9bitのフラグを使いたいが、
Rubyにはビットセットは無いのか?

9bitだと、2バイト(16bit)で使うのか?

13 :
ビットセットってなんぞ。
Cのビットフィールドのことか?ネーヨ。

そーゆーのはFixnumのインスタンス変数と各ビットのアクセサ定義したクラスかな。

Fixnumのサイズはsizeof(long)なんで実装依存な。
http://docs.ruby-lang.org/ja/2.2.0/method/Fixnum/i/size.html

14 :
Rubyを始めようと思い、Ruby 2.2.1 のwindows installerをダウンロードしました。
しかし、このインストーラーがダブルクリックしてもさっぱり起動しません。ずっと読み込みマークが出たまま
何がまずいのかさっぱりわかりません

15 :
UACじゃない?

16 :
>>15
それでした。ありがとうございます
まったく、一言「ブロックしました」とか出ればいいのに、何も表示されないからどうしたかと思いました

ついでにもう一つ聞きたいんですが、自分のパソコンが64bitだから64bitのを落とせばいいですよね

17 :
おっと、15氏宛てだったか
危うく俺が答えそうになったわ

18 :
>>17
そんな意地悪しないで下さいよ
サイトを見てまわったら64bitだと環境を構築するのに面倒だというのがいくつかあって不安なんですよ

19 :
>>16
RubyDevKitでsoをコンパイルできるgemならいいけど、ものによってはコンパイル済みのsoを配布してたりするので、そういうのは32bitの方がいいかも。
つーわけで、答えは両方入れろ。
64bitの広大なメモリ空間を使いたいこともあるかもしれん。

そうそう、まだ2.2.1はmingwに対応できてないgemがあるので、2.0で様子みとくのがいいかも。
2.0は2.0でなんか挙動がおかしかったりするけど。

そもそも、さんざん言われてるけど、WindowsでRubyを使うのが苦行。
最近のバージョンは特にWindowsでろくにテストされてないかんじだし。
1.8から1.9のときは、開発期間が長かったこともあって、非互換は多くても、糞みたいなバグに悩んだりしなかったかったんだけどなー。

20 :
>>19
りょ、両方入れろ…ですか…
最新バージョンが必ずしもいいわけではないんですね(; ・`д・´)
まずは32bitでやってみようと思います
ありがとうございました

21 :
Rubyはオワコン

22 :
メタプログラミングを覚えてからが
rubyのrubyたる始まり
なので
終わってない

23 :
win版なんか入れずに
win上の仮想linuxでruby使えばいいよ

導入法はドットインストールを参考にすれば猿でも出来る

24 :
Ruby の文法がかなり安定するのはバージョンがいくつになってからなのかなー.
自分のプログラムはいつも 1.8.7 から一通り動くのを試してる.
ついこないだまで 1.9 が最新だったのに,1.9.3 以前はもうサポートしないって,信じられんな.
Rails とかで追従するのは私の能力だともう無理.
Ruby にはレガシーオプションってのがないのかな?
つか,性能はおいといて言語仕様として Common Lisp レベル(とまでいかなくてもいいけど)
のものを作って,せめて言語仕様の開発は止めて欲しい.
Ruby はプログラミングのし易さがとても好きなんで使ってるけど,これだけがなー.

25 :
自分だけのプログラムなら良いけど,
公開してるといろんなバージョン環境で使われるからなー.

26 :
a=%W(a b c)
x=%W(x y z)
p a
p x
{a,x}.clear
p a
p x

#a, x を clearしたいのですが、できません
#どう書けばいいですか

27 :
a.clear

28 :
[a, b].each(&:clear)

29 :
>>27,28
できた、ありがとうございます
>>28 のような書き方があるんですね

30 :
ary = bool ? [x, y] : [y, x]
xとyが長くなると読みにくくなっちゃうんですけど、何かスマートな方法はあるでしょうか?

31 :
2行で良いんじゃないの

ary = [x, y]
ary.reverse! unless bool

32 :
プログラミング初心者です。
Ruby とRuby on Railsを習得したいのですが、どうやったらいいですか?

33 :
>>32
入門サイトを探して、そこを見ながら動かしてみるのが一番

34 :
http://dotinstall.com/lessons

35 :
たのしいRuby 第4版、2013

この本を読むと、Rubyの文法や正規表現も、学べるけど、
RoRなどのフレイムワークは、オブジェクト指向の理解が必須

プログラミング初心者には、長い長い道のり

以下の本を、順に読んで
ttp://peace.2ch.sc/test/read.cgi/tech/1419964623/309

36 :
>>31
ary = [x, y].tap{|i| i.reverse! unless bool}
とか色々考えてみたんですけど2行に分けて書くのが一番見易そうですね
どうもありがとうございました!

37 :
たのしいRuby読んで
物足りない、複雑なことがしたいと感じてから
他の本に手を出した方が良いと思うけどね

まず
http://dotinstall.com/lessons



1.楽しいRuby
2.レシピブックor逆引き
3.作りながら学ぶRuby
3.5 リーダブルコーディング
--
↑ とりあえず動くコードをたくさん作る

↓ 生産性の高いコードを目指す、
--
4.Rubyによるデザインパターン
5.UML
6.Git
or
進みたい分野の専門知識

38 :
Ruby/mswinからグラフを書くとしたらやっぱりgnuplotあたりが定石ですか?
他にもっと使いやすいツールとかあれば教えてもらえるとうれしいです

ググるとgruffと言うのもあるようですがRMagick依存らしいのでインストールが
かなり面倒・・・

39 :
質問スレみたいなのなかったのでここで質問させていただきたいです
今までずっと1.9.3と2.0.0使ってたんですが、
最近2.2.1がリリースされたと聞いたんでそろそろいれておこうとRubyInstallerを落として実行したんですけど、
一向にインストールが始まる気配が無くて困っています、どうしたらよいでしょうか?

40 :
UACじゃない?

41 :
それがUACも出てこないんですよ……って思ってもう一回実行してみたら、
ちゃんとUAC出てきて普通にインストールできてあれぇ〜!?状態
すみません、お騒がせいたしました……

42 :
mswinは上級者バージョン

43 :
ちょっと上で似たようなやりとりがあったよ

44 :
windows8.1でruby2.2.1を使用している超初心者です。
メモ帳に簡単なプログラムを書いてrubyのコマンドプロントで
実行すると一瞬だけコマンドプロントが表示されて終了してしまいます。
どうしたら治りますか?

45 :
>>44
知るか( ゚Д゚)ヴォケ
まず、テメーのカスみたいなソースをさらせ

46 :
>>44
Windowsキー+R→「cmd」と入力→出てきた黒いウィンドウに「ruby ファイル名(絶対パス)」

47 :
>>35
>>37

これどっちが妥当なの

48 :
これが漏れの編み出した、最速メソッドである!
1. スッキリわかる Java入門 第2版、2014

その後、この2冊を順に読む
2. たのしいRuby 第4版、2013
3. みんなのPython 第3版

123の順番で勉強する。
勉強時間は、1,2に各20H、3に10H

これで、オブジェクト指向、正規表現、
UNIX系でシェルスクリプトの代わりに使える

漏れのやり方は、最初に本で、
50H勉強するから退屈かもね

一方、 >>37 は手を動かしながら試行錯誤する。
どちらでもお好きに

49 :
ruby -e 'p Time.new(1970,1,4).wday'とかってやってこの日の曜日を調べるとなぜかこの日だけ
1.8.7, 1.9.3, 2.0.0 では0(日曜日)なんだけど、2.1.5, 2.2.0 では1(月曜日)になってしまう。(暦上は日曜日)
環境はWindows VISTA SP2 32bitなんだけどどうしてなんでしょうか?

50 :
2.2.1では次のようになっていました…
1970年1月3日午前8時59分59秒 + 1秒 = 1970年1月4日午前9時0分0秒

51 :
調べてみると1月2日と3日の午前9時までが、本来なら時差+9時間になるところが、-15時間になってる
これだと24時間分時間が前にずれるはずだけどずれないようになってるみたい
一方で、1月4日も午前9時以降は正常だから、本来1970年1月2日と3日にだけ適用するはずの処理を間違えて掛けてるのかな?

52 :
>>51
前スレで似たような話しをみた気がする。

53 :
<a =href="http://hogehoge.com">のhogehoge.comだけ正規表現で抜き出したいんだけど
どうすればいいんだろう?

54 :
>>53だけど抜き出したいのはhogehoge.comじゃなくてhttp://hogehoge.com

55 :
>>53
http://ideone.com/1vwuLr

56 :
>>55 おお!ありがとう!

57 :
x=a[i] if true == a.key?(i)
初歩レベルの質問ですが、もっとよい書き方はありますか?
(a は Hash)

ハッシュを二回調べるのを、一回にしたいです。

58 :
>x=a[i] if true == a.key?(i)
if x = a[i]

キーが存在しなければ、nil を返すから、
そのまま、if の条件に書ける

また、Hash.new("")の引数や、
a.fetch(i, "") の第2引数に指定すれば、
キーが存在しない際、指定した文字列、
例えば、空文字列を返す


ちなみに真偽値は、if にそのまま書ける
>if true == 真偽値
if 真偽値

false, nil は偽。それら以外は真。
!真偽値で、真偽値を反転する

59 :
>>57
begin
x = a.fetch(i)
rescue
end
とか

>>58
{}[:foo]
=> nil
{:foo=>nil}[:foo]
=> nil
の区別がつかない

60 :
FROM_ARY = ["AA","BB","CC"] # 置換前
TO_ARY = ["aa","bb","cc"] # 置換後

置換前後の文字列の組が、複数あるとき、
文字列(またはファイル)をどうやって置換するの?

61 :
FROM_ARY.map(&:downcase)

62 :
anemoneについて質問
http://blog.nogizaka46.com/
このサイトのブログ画像だけanemoneで取得したいんだけど
画像が他のサイトにおいてあるからどうすればいいのかわからない
教えてください

63 :
>>57
x = a.fetch(i, x)
とか

64 :
質問です
p /a/.! # => false
p !/a/ # => true
後者の挙動が把握できません
CRuby 2.0.0, 2.1.5 で確認しています

65 :
前者はBoolean negateで、
後者は$_とのマッチを取っている。
$_ = 'a'
p !/a/ #=> false

66 :
http://docs.ruby-lang.org/ja/2.2.0/method/Regexp/i/=7e.html

67 :
>>65-66
おお、なるほど。ありがとうございます
警告が出なかったのではなんででしょうね

68 :
独学なんで聞くのだけど
ユニットテストってどんな時に使うのかな

もちろん想定外の挙動を認識するためだとは思うのだけど
工程の流れ的にどんな時に、どのように用いのだろう。

69 :
テスト駆動開発では、
コーディングとユニットテストは、同時に行う

Javaではコードを修正すると、Test用のTestClassも修正して、
JUnit, Jenkinsなどでテストする

Coberturaでコードカバレッジを測定する。
命令網羅(C0)100%・分岐網羅(C1)90%以上かどうかをチェック

70 :
>>60-61
もっと一般的な話で、置換表のようなファイルに、
(置換前, 置換後)のような文字列の組が、
複数定義してあって、それを配列に読み込むと、

FROM_ARY = ["Ruby","Python","JavaScript"] # 置換前
TO_ARY = ["宝石","蛇","JS"] # 置換後

この置換表を使って、
文字列(またはファイル)をどうやって置換するの?

71 :
s.gsub!(Regexp.union(*FROM_ARY), FROM_ARY.zip(TO_ARY).to_h)

72 :
>>60の内容でそこまで察しろと言うのも酷な話だな

73 :
FROM_ARY.zip(TO_ARY) do |sFROM, sTO|

str.gsub!(Regexp.new(sFROM), sTO)
end

結局、文字列(またはファイル)全体を、
何回もループして、1つずつ置換していくんだね?

>>71
Regexp.union(配列)は、
配列中のどれかの要素と一致したら、
という意味だから、漏れの想定とは違う

74 :
>>70
そんなもんHashでやれよ。
ゴルフのネタでも提供してるつもりなのか。おまいは。

75 :
想定が違うだのなんだの後から条件小出しにされたんじゃかなわんわ

76 :
>>58 >>59 >>63
ありがとうございます。
fetch 試してみます、使ったことないです。

77 :
>>35
その手順で読んでみたけど理解出来た気がしなかった

78 :
先生、RubyでGUIって作れますか?

79 :
webをguiと認識するなら出来るんじゃないの

80 :
webをguiと認識するってどういうことっすか?
プログラミングのスーパー初心者の僕にわかりやすくおしえてくだせえ…

81 :
>>80
そういう奴はGUI自体が分かってないから、何言っても無駄

82 :
コマンドプロンプトからテキスト落として読んでるやつなんて少数だろ

83 :
>>81
そう言わずに、兄さぁぁん!!

84 :
よっしゃ、俺が教えたる

85 :
はよ

86 :
まずMVCはわかるよな?

87 :
>>77
繰り返し読むと、最初は20Hかかっていたのが、
次には10Hで読める

まあ、2,3回読めばよいと思う

88 :
んだ、繰り返し読むことは大事

89 :
>>78
どれがいいかは知らない

Rubyist Magazine - Ruby de GUI
http://magazine.rubyist.net/?0001-RubyGUI

90 :
>>先生、分りません。
プログラミング始めたばかりです。
GUIつくるとかレベル高杉ますか?

91 :
>>89
ありがとうございます!
ちょい読んでみる!

92 :
htmlとCSS、eruby覚えた方が
使いまわし効くと思うけどね

93 :
下のマージソートを真似してやると成功するんだけど、ちょっと理解できない・・・
http://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

94 :
具体例考えてみれば納得行くんじゃない。

95 :
再帰で結果待ちのe.mergesortに整列されたのが帰ってきて
それがa,bに渡されて整列されていくのかな

96 :
再帰は理解するのが難しいから、

図や表に描いて、一つずつ考える

97 :
最小まで分割されて整列されたのがresとしてどんどん帰ってきてゴニョゴニョ

98 :
8.6秒バズーカ「ラッスンゴレライの振り付けですけど、戦火があるんですよ、前に。よけるんです。熱いの嫌やと」 [586999347]
ttp://maguro.2ch・sc/test/read.cgi/poverty/1427532738/
> 6:18〜「南京の」←うっかり言い間違いかける、女の子達は意味不明でだんまり

> 53 名前:番組の途中ですがアフィサイトへの\(^o^)/です[] 投稿日:2015/03/29(日) 14:00:01.90 ID:RpK1u1Kg0.net
>   >> 37
>   これ、長崎のこれも加えないと
>  ttp://www.kantei.go.jp/jp/koizumiphoto/2001/08/images/09nagasaki1.jpg
>  これと広島の原爆の子を合わせたのがこいつらのポスターって、
>  8.6秒という一見イミフなネーミングと合わせると、ガチだったんだと戦慄したわ
>  ttp://www.hiroshima-navi.or.jp/sightseeing/assets_c/2012/11/genbakunoko-thumb-355x266-13229.jpg
>  ttp://pbs.twimg.com/media/CAtrv5YUkAAuDli.jpg

99 :
配列の1要素だけ別名を付けることってできないでしょうか?
例えば、$a[1]を$bという名前で扱いたいです。
$bに変更をかけると$a[1]も変更される、aliasのような扱いが望ましいのですが、
alias $b $a[1] と書くとエラーが出てしまいます。
どなたかご教授くださいますようお願いいたします。

100 :
できない


100〜のスレッドの続きを読む
Java入門・初心者質問スレ Part.9
【java】jdk8も出るし、何か作ってみるか【lambda】
【初心者歓迎】最新COBOLについての質問スレ
Prologでまったり Part5
1行ずつC言語を書いてくスレ(目標なし)
Excel VBA 質問スレ Part55
【知識】俺のためのプログラム覚え書き【共有】
PHPがいかに駄目言語であるかをちゃんと説明 Part.2
クロージャって何がいいの?
次世代言語11[Rust Swift TypeScript Dart]
--------------------
飯田市・下伊那郡を長野県から分離せよ
【新型コロナ】感染予防に治療薬として有望のクロロキンを勝手に服用し死亡【アメリカ】
大阪北摂の土人
パチンカスかるた
【Gateway】ゲートウェイノートPC Part19 【牛】
【結月ゆかり・弦巻マキ】VOICEROID part49【東北ずん子・琴葉茜・葵他】
【MHFG】各MHFスレで『次スレワッチョイ』『次スレIP』って誘導したがるのはこいつw
Civilization5(Civ5) MODスレ Vol.9
/ ´,_ゝ`\初心者のための富士山登山入門133m
もし曹操がいなかったら・・・・・
【新薬】トリンテリックス Part2【うつ病】
【腐女子カプ厨】ホモ水泳雑談1223【なんでもあり】
今、旬な展覧会 18
旧帝ランキング 理系
東北地区国立大学法人等職員採用試験スレッド9
安田章大13
ひどい卒論・修論・博論
お前ら、『バカリズム』で笑った記憶、あるか? [604928783]
【韓国政府】海外の朝鮮戦争参戦者にマスク支援へ 日本に対しては「政府レベルで支援の要請は無い」「必要があれば検討する」[4/20]
【武漢人狩り】中国河北省、武漢市からの帰宅者のKに報奨金
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼