[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 22:42 / Filesize : 246 KB / Number-of Response : 911
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Ruby 初心者スレッド Part 24



1 名前: 【大吉】 mailto:sage [2009/01/01(木) 13:13:22 ]
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。

   【Ruby1.9 は不安定な開発版であり初心者には全く向きません】
   【最新安定版の Ruby1.8.7 の使用をお勧めします】
    ※1.8.7 は1.8 と 1.9 の橋渡しをするためのリリースです。
      1.9 の新機能の一部が利用可能なので初学者にお勧めです。
    ※ただし十分安定しているとは言えないので
      プロダクション環境での利用にはお勧めしません。

関連スレやURLは>>2-8あたりを見てください。Ruby on Railsの質問はRailsスレへ。

■質問する人へ
質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。
 ・モジュール名やエラーメッセージでググる
 ・マニュアルで引っかかったクラスの記述を探す www.ruby-lang.org/ja/man/
 ・FAQを一応読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ
質問には以下を書くこと。へたくそな質問は再提出を要求される。
 ・詳しい内容(「動きません」「うまくできません」では回答しようがない)
 ・エラーメッセージ(自力で訳さずなるべくそのままで)
 ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる))
 ・最終的にやりたいこと(もっとよい方法がある場合が多いので)
回答してくれた人には「ありがとう」のひとことをいってあげて。
■回答する人へ
相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。
それができないならこないこと(だって初心者スレだもん)。
 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

367 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:28:51 ]
あれは単にWikiテキストの処理開始時と
処理終了時の差を取っただけなんじゃないか?

368 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:31:14 ]
>>366
基本的な計測はbenchmarkライブラリ(標準添付)でOK
あと、「Ruby プロファイラ」で検索すると色々出てくる

369 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:33:47 ]
>>363
おおもとは、>>323
> (3.2-2.0) == 1.2 がfalseの理由を教えて下さい。
だから、小数を含む数の扱いについて一通り言及すべきだと思うんだ。

370 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:40:08 ]
>>365
nameに渡す文字列はARGV.shiftで受け取ったものなんですよ・・・。
グローバル変数にすればよかったりしますかね・・・。


371 名前:370 mailto:sage [2009/01/11(日) 01:54:40 ]
グローバルしてみましたが結局 =~ の 左辺,右辺に変数がきてもいいのでしょうか?

372 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 02:10:29 ]
def check(name)
/#{name}/ =~ "hiroyuki"
end

p check("hiroyuki") # => 0

373 名前:370 mailto:sage [2009/01/11(日) 02:17:30 ]
>>372
ありがとうございました!!!!!!!!!うまくいきました。
=~の左辺の#{name}っていうのは変数としてみるってことですか?

374 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 02:18:34 ]
>>368
サンクス
benchmarkクラス使ってみる

375 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 02:28:14 ]
>>373
まあそんな感じだ
「式展開」について勉強すればよくわかる
www.ruby-lang.org/ja/man/html/_A5EAA5C6A5E9A5EB.html#a.bc.b0.c5.b8.b3.ab



376 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 02:28:22 ]
変な質問なうえにおそらく出来ないんだろうけど一縷の望みをかけて質問
メソッドの入れ子って出来ますか?
たとえば、
def method1
 処理
 def method2
  処理
 end
end
としたら、method1だけ呼びだしたらmethod1の処理のみで終了。
method1.method2みたいに呼びだしたら両方の処理を実行、みたいな。

この書き方だと
ttp://www.ruby-lang.org/ja/man/html/_A5AFA5E9A5B9A1BFA5E1A5BDA5C3A5C9A4CEC4EAB5C1.html#a.a5.e1.a5.bd.a5.c3.a5.c9.c4.ea.b5.c1.a4.ce.a5.cd.a5.b9.a5.c8
みたいになっちゃうから無理なのは明白だけど・・・

method1に引数を与えてmethod2の処理をif文でくくって引数の値で処理するか否かを
決めるって方法もあるけど、見た目的にごちゃごちゃするから嫌というか・・・

なんかいい方法あったら教えてください。

377 名前:370 mailto:sage [2009/01/11(日) 02:31:30 ]
>>375
ありがとございます。
昨日Rubyはじめたばっかりでいろんなサイトからつぎはぎで趣味プログラムしてたんで
リファレンスマニュアルというのをみてませんでした。まず、一読してみます!

378 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 02:32:20 ]
>>376
無理
素直にモジュール使って、Mod1.method1としなされ

379 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 02:34:20 ]
>>376
それではmethod2を定義しているだけで,method2を呼び出してはいない

def method1
puts "call method1"
def method2
puts "call method2"
end
method2
end

380 名前:379 mailto:sage [2009/01/11(日) 02:35:59 ]
ごめんはやとちりした

381 名前:376 mailto:sage [2009/01/11(日) 02:45:25 ]
>>378
無理かぁ・・・ありがと
Mo1.method1・・・method2はどこへ?
実はmethod1の処理がイテレータを含んでいて、変数を一周するたびに初期化して使うんだけど、
場合によっては初期化する前にmethod2の処理でその変数を使いたいから↑のようなことに・・・
モジュールだとダメそうなのでおとなしく引数と条件文で動かします。。

>>380
ドンマイw

382 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 02:47:47 ]
>>376
def method1
 処理1
 Proc.new do
  処理2
 end
end

method1
method1.call

近いことを無理やりやろうとすれば、
こんなのは思いつくが、普通はやらない
端的に言って不気味すぎる

383 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 03:00:57 ]
いやいや、初心者のこんな突拍子もないアイデアから、すごいアイデアがでたりする。
1000個に1個ぐらい。
だから初心者は1000個のアイデアを出すんだ!

384 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 03:14:53 ]
callが気に食わない

def method1
 処理1
 pr = Proc.new do
  処理2
 end
 pr.instance_eval "alias :method2 :call"
 pr
end

method1
method1.method2



385 名前:376 mailto:sage [2009/01/11(日) 03:22:55 ]
>>382
おお、できるんだ!?
ありがと〜

ぶ、不気味なのか・・・

>>384
求めていたものが完璧に・・・お見事です。

お二方、ありがとうございます。



386 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 03:40:36 ]
開発環境なに使ってますか?
自分はLinuxでは基本Netbeansで、ちょっとした修正はemacsで。
eclipseとかもあるけどどんな開発環境使っているか気になったので・・・。

387 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 03:59:55 ]
vi

388 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 04:07:59 ]
今時 vi はないだろう vi は。
俺は断然 vim だな。

389 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 04:10:20 ]
メモ帳

390 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 04:14:26 ]
俺はEclipseにRubyプラグイン
editer使ってる人は補完なくて大丈夫なの?

391 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 04:25:12 ]
いや、もちろんエディタにも補完はあるよ
VimのRubyに対する補完はかなり強力。それ以上に操作性が好きで使っているけど

392 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 04:29:52 ]
ずっとEmacs
ちなみにMatzもEmacs

まあ人に何が良いか,って聞かれたらNetbeans勧めるかもな

393 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 04:30:07 ]
viの学習曲線の最初でくじけたのでemacsで

394 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 07:48:14 ]
俺は断然 vi

395 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 08:18:34 ]
あんな日本語も通らない化石エディタよく使う気になるな



396 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 08:56:02 ]
個人用途なので基本的にはどうでもいいんですが気になるので質問します

HTMLとかから正規表現とかでデータ抜き出して、データ保管クラスのインスタンス変数に保管します。
initialize の時点でたくさんのインスタンス変数に値を入れたいんですが、

def initialize(params, data)
@a = params[:a]
@b = params[:b]
@c, @d, @e = parse_in_init(data)
end



def initialize(params, data)
@a = params[:a]
@b = params[:b]
make_c_d_e(data)
end
def make_c_d_e(data)
@c = someprocess1(data)
@d = someprocess2(data)
@e = someprocess3(data)
end

って、どっちが見通しいいもんでしょう?
ちょっと面倒でも明示的に代入の形を見せる前者のほうが初期化プロセスっぽく見えて好ましい?

397 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 09:03:43 ]
>>396
YES

ただ、make_c_d_e みたいなそれっぽいのが initialize の直後に定義されてれば
「あーinitializeの続きかー」と思って読むから別に気にはしない
Util.parsehtml とかどっか遠いとこに定義されてるクラスメソッドがinitializeで呼ばれてるとやる気なくす

398 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 09:38:12 ]
def initialize(params, data)
@params = params
@data = parse_in_init(data)
end


399 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 09:43:49 ]
>>398
なにそのユーザー丸投げルーチン

いちいちハッシュの引数で参照するのがめんどいまたは間違いやすいからインスタンス変数にしてんじゃねの

400 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 09:45:50 ]
>>399
@params を書き込み可能にしておけば外部からデータ追加するのも楽々だぜ?

401 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:09:51 ]
>>400
外部からデータを追加する必要があって、なおかつその方法しか考えられないようなときなら一理あるけど
そうでなければ、ここでハッシュを使うのは問題が大きすぎる

402 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:15:06 ]
Javascriptだと
a={'hoge': huga, 'hage': fuga};
a.hoge
a.hage
にアクセス出来ていいんだよね


403 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:17:30 ]
Ruby でもやろうと思えば出来るっしょ

404 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:17:39 ]
アクセサ作ればいい
めんどくさいけど

405 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:24:49 ]
StructA = Struct.new(:hoge, :hage)
a = StructA.new('huga', 'huga')
p a.hoge
p a[:hoge]
p a[0]

"huga"
"huga"
"huga"
オーイエー

>>402
どっかのgemにそんなのあったな





406 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:44:53 ]
来たなStruct厨
総員迎撃準備

407 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:51:36 ]
Structって嫌われてんの?

408 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:01:58 ]
Struct.newにJSONぶっこめる?

409 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:09:18 ]
>>407
他言語から来た人がArrayやHashを使い込むことなく安易に使うものの代表だから、嫌がられてはいるね
まずはArrayとHashを使い倒してからにして欲しいなと思う所存

>>408
分けてくれ

410 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:38:19 ]
>>395
通るぞ?@Solaris10

411 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:39:19 ]
ttp://www.ruby-lang.org/ja/documentation/
ここの検索こわれてるみたいなんだけどいつ治りますか

412 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:41:36 ]
>>410
動物は一度鎖に繋がれてしまうと鎖が杭から外れていても
逃げられないと思い込んでしまうものなのです

413 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:42:25 ]
>>410
それは日本語パッチ当たってるんじゃね

てか、「お前らが使ってるのは vi じゃなくて vi クローンのどれかまたは vim だろ」というツッコミを
誰かがしないと終わらんな

414 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 12:25:43 ]
>>413
OS標準。つか、Solarisは遠い昔から、日本語localeが入ってりゃちゃんと日本語使える。(viに限らず。そのせいで痛い目にあうこともまれにあるが)

415 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:15:48 ]
emacs入ってない環境はたくさんあるけど、viが無い環境は稀。
まあ開発環境は何でも好きなの自分で入れろよと思うけどな。



416 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:49:23 ]
だからメモ帳最強って何度言わせるんだよ!!

417 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 14:55:18 ]
Windows環境でJmEditorとRDEとNotepad++を使い分ける俺に隙はなかった

418 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:08:19 ]
>>415のようなことを稀に聞くが、vi でファイル編集できない人間などおらん

419 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:21:16 ]
Windows環境で、class Hoge(もしくは、def hoge、each do |x|)と打ってリターンをすると、
以下のように、endを付けインデントした位置にカーソルを持ってくるエディタはありますか?

class Hoge[Retrun]

  ↓

class A
 |
end

420 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:25:32 ]
Meadow(or Xyzzy)を入れて自分で作れってのはなし?

421 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:25:41 ]
>>419
xyzzyをカスタマイズ

422 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:46:14 ]
>>420-421
自分でカスタマイズする技量がないのであきらめます

423 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:53:58 ]
Solarisのviはずいぶん昔から日本語通るぞ。SunOS4は忘れたが。
ただ、Localeに縛られるので、Shift_JISのファイルなんかが来ちゃうと面倒。
LANG=とsettermでなんとかなった気もするけど、もう忘れた。

って無駄レスだな。

424 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:08:58 ]
以下、Personクラスの配列membersを、名前→性の順でソートすると、名前のソートがくずれます。
くずれないようにソートするにはどうすればいいのでしょうか?

class Person
attr_reader :name, :sex
def initialize(name, sex)
@name, @sex = name, sex
end

def show
[@name, @sex]
end
end

members = []
members.push Person.new("sasaki", "male")
members.push Person.new("kato", "famale")
members.push Person.new("fukada", "male")
members.push Person.new("akai", "female")

p members.map {|p| p.show }
#=> [["sasaki", "male"], ["kato", "famale"], ["fukada", "male"], ["akai", "female"]]

p members.sort_by {|p| p.name}.sort_by {|p| p.sex}.map {|p| p.show }
#=> [["kato", "famale"], ["akai", "female"], ["fukada", "male"], ["sasaki", "male"]]
#=> 望ましい結果 [["akai", "female"], ["kato", "famale"], ["fukada", "male"], ["sasaki", "male"]]

425 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:12:32 ]
members.sort_by {|p| [p.name, p.sex]}
じゃね?



426 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:21:48 ]
配列の比較に関してはドキュメントが弱いんだよね

[1,2,2] < [1,2,3]
[1,1,2] < [1,2,2]
[1,4,4] < [2,1,1]

x でソートしたあとに y でもソートしたいという場合は、Rubyでは
data.sort_by{|a| [a.x, a.y]}
と書く

427 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:28:14 ]
>>425
それだと、

[["akai", "female"], ["fukada", "male"], ["kato", "famale"], ["sasaki", "male"]]

となり、性のソートがくずれてしまいました。

428 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:55:33 ]
>>427
どうソートしたいのか考えれ
崩れるも何も、ソートする順番の問題に過ぎない
class Person
attr_reader :name, :sex
def initialize(name, sex)
@name, @sex = name, sex
end
def show
[@name, @sex]
end
def Person.sort_sex(sex)
if sex=='male' then 1 else -1 end
end
end

members = []
members.push Person.new("sasaki", "male")
members.push Person.new("kato", "famale")
members.push Person.new("fukada", "male")
members.push Person.new("akai", "female")

members.sort_by {|p| [Person.sort_sex(p.sex), p.name]}


429 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 17:09:06 ]
>>428
うまくいきました。
サンクス。

430 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 18:13:53 ]
diaspar.jp/node/185

431 名前:デフォルトの名無しさん [2009/01/11(日) 19:37:19 ]
Hpricot::Elem.new(Hpricot::STag.new('form'))
をノコギリで書き換えようと思い
Nokogiri::XML::Node.new('form')としたら
ArgumentError: wrong number of arguments (1 for 2)
のエラーが出ました。
RDocには,new(name)、と引数は一つなのですが,どうしてでしょう。このnameはStringで与えてもだめ?


432 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 19:53:44 ]
>>431
ttp://nokogiri.rubyforge.org/nokogiri/classes/Nokogiri/XML/Node.src/M000044.html
第2引数はNokogiri::XML::Documentっぽい
ドキュメントが間違ってるんだろうな

433 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:53:05 ]
>>419
Aptanaとか、EclipseベースのIDEならいけるんじゃないかな。

434 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 23:17:19 ]
>>419
どうせEmacs使わんだろうけどコメントしとく

emacsのruby-electric-modeだと
defスペース
と打った時点でendが補完される

その後 ruby-mode の ruby-reindent-then-newline-and-indent を使って改行すればインデントも同時にされる

この程度ならEmacsユーザならごく当たり前のこと
というかRuby用の動作があるエディタならみんな似たようなことできるでしょ?

435 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:38:32 ]
>>419
Vim の場合

runtime/ftplugin/ruby.vim
runtime/indent/ruby.vim
を調べてみたけど、そういうのなかった。

%HOME%/vimfiles/ftplugin/ruby.vim か
$HOME/.vim/ftplugin/ruby.vim に、
以下を入れておけば、OK

inoreab <buffer> module module<cr>end<up><end>
inoreab <buffer> class class<cr>end<up><end>
inoreab <buffer> def def<cr>end<up><end>
inoreab <buffer> do do<cr>end<up><end>
inoreab <buffer> case case<cr>end<up><end>
inoreab <buffer> begin begin<cr>end<up><end>



436 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:06:25 ]
hash = {}
[:a, :b, :c].each {|k| hash[k] = @hash[k] }
という処理をもっと簡単に書く方法があれば教えてください。


437 名前:デフォルトの名無しさん [2009/01/12(月) 01:14:36 ]
hash = @hash.dup()

438 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:45:16 ]
>>435
endwise.vim というプラグインがある
www.vim.org/scripts/script.php?script_id=2386

439 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 03:17:20 ]
>>419
EclipseかNetBeansでsnipet使うのはどうだろうか?
リターンでは無理だが別のキーで、コードの展開はできるぞ

440 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 04:15:34 ]
>>436
hash.merge!(@hash)

441 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 07:19:55 ]
>>436
それが一番短い部類
「○○というキーを持つペアを [k, v] の配列で返す」みたいなメソッドって標準には無いんだよね

hash = Hash[@hash.find{|k, v| [:a, :b, :c].include?(k)}]


442 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 07:22:22 ]
書いててなんか短いなとは思ったんだ

hash = Hash[*@hash.find{|k, v| [:a, :b, :c].include?(k)}.flatten]

うーん

443 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 07:31:20 ]
hash という変数名は全てのオブジェクトに存在する hash っていうメソッド名と被るから、
特に拘りがあるのでなければ避けておいたほうが吉


プログラム(1行のみ):

p hash

結果:

22412530


適当なハッシュの変数名は h が人気
h と書かれていれば、ほぼ全員がハッシュかなと推測してくれる

444 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 09:09:34 ]
遅延評価はあるから
バックくおーとみたいなのはできるかもしれない

445 名前:デフォルトの名無しさん [2009/01/12(月) 10:04:50 ]
ActiveRecordでsqlite3のDEFAULT CURRENT_DATEに
相当するのは何?
今,record.date = Date::todayみたいにいちいちやってるのだけど,
なんだか,もっとスマートな方法がある気がするので,質問



446 名前:デフォルトの名無しさん [2009/01/12(月) 11:02:22 ]
質問です。
スキルアップのためにRubyでビジネス向けシステムを作れという課題が出ました。
勤怠管理システムのような物を作ろうかなと考えています。
私の言語スキルはCのみでオブジェクト言語は概念しかわかりません。
Cは基本情報合格しました。
とりあえずRuby1.8をインストールしようとしましたが失敗しました。
(コンソール画面から先に進めません)

こんな初心者にお勧めのRuby書籍を教えてください。
前述の通り、インストールから失敗してしまいましたので
インストール方法も解説している物が欲しいです。
最終的に簡単なシステムを作らなければいけないので
入門系と実践系の物をお勧めいただければと思います。
どうかよろしくお願いします。

447 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:08:49 ]
>>446
何をもって「失敗した」と言ってるの?
Rubyインストールしただけだったら別に開発環境が入るわけじゃないぞ。
あと使ってるOSは?

448 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:14:05 ]
Ruby学習者に必要なもの(ある程度持っていると暗黙のうちに仮定されているもの)

 ・ OSへのある程度の習熟
 ・ コマンドライン操作
 ・ HTTPとウェブに関する基礎知識
 ・ データベース利用に関する基礎知識(Rails限定)
 ・ PerlかUNIX Cの教科書的な基礎知識

449 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:19:00 ]
>>448
…持ってなくてもいいが、まあ、持ってないとひたすらに遠回りではあるな
歩行練習と自転車乗る練習を同時にするようなもんで、学習量と学習時間が倍くらいになる

>>446
本当にCで自分用プログラム作れるだけの技量があるか怪しいと思うんだが、コマンドライン操作はできるかい

450 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:22:55 ]
できるだろ
Cができるってことはmakeとかも使えるってことなんだから

451 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:13:45 ]
>私の言語スキルはCのみでオブジェクト言語は概念しかわかりません。
>Cは基本情報合格しました。
Cができるなんてどこにも書いてないぞ


452 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:16:51 ]
Cが出来てRUbyで着ない香具師なんていない
初心者詐称
釣り決定

453 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:19:53 ]
> こんな初心者にお勧めのRuby書籍を教えてください。
>>2

454 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:21:46 ]
>>446
よろしければその会社でのあなたの給料と実質労働時間を教えてください

455 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:23:32 ]
>スキルアップのためにRubyでビジネス向けシステムを作れという課題が出ました。
会社員だなんてどこにも書いてないぞ



456 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:26:23 ]
インストールも出来ない初心者向きの本を勧めれば回答終了じゃないのか、これ。

457 名前:446 mailto:sage [2009/01/12(月) 12:35:30 ]
早いお答えありがとうございます。
こちらの回答が遅くて申し訳ありません。

下で個別にもレスしますがCの実践的な開発経験はありません。
資格試験(基本情報)で問題として出されるレベルのプログラムを
一人で完成させる事はできます。
わかりにくいようでしたらプログラムの基礎の基礎(ループやメモリ)だけは
わかるズブの素人としてご指導頂ければ、と思います。

>>447
RailsをインストールするためにDOS画面にコマンドを打ち込んでも
NoFound〜的文章が表示されて先に進みません。
今、手元にインストールしようとしたマシンがないので
正確なエラー文はわかりません。
インストールガイドはネット上で見つけた動画を参考にしたのですが
これもインストールするパソコンにブックマークしていたので
今この場ではわかりません。

わからない事が多くてすいません。
「これが必要」という情報があれば調べてきます。

OSはWindowsVistaです。

458 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:36:15 ]
オライリーの「初めてのRuby」。まじおすすめ。
Railsやるならなんだろう?

459 名前:446 mailto:sage [2009/01/12(月) 12:36:27 ]
>>448
・ OSへのある程度の習熟
ある程度、がどのくらいかわからないのですがマニュアルを見て
再インストールはできました

・ コマンドライン操作
ほとんど使用したことがありません。
試験勉強のためにログオンやログオフ、プリンタの操作を数回だけ。

・ HTTPとウェブに関する基礎知識
基礎知識なら何とか…
ウェブページが表示される仕組み程度はわかります。

・ データベース利用に関する基礎知識(Rails限定)
データベースの概念やSQL文までは一通りわかります。

>>449
図々しいのですが、持っていない人間が効率的に学習できる順番など
もしありましたら教えていただけませんか…?

>コマンドライン操作
ほとんど使用したことがありません。
試験勉強のためにコマンドライン一覧のようなマニュアルを見てやった時は
とりあえずできました。

自分用プログラムを作ったことはありません。

・ PerlかUNIX Cの教科書的な基礎知識
Perl・UNIXはわかりません。
Cの教科書的なことならわかります。(解説書も持っています)


460 名前:446 mailto:sage [2009/01/12(月) 12:50:45 ]
>>450
Cの知識はありますが実践経験はありません。
makeのやり方も解説を読む限りでは理解できたのですが
そこまで辿り着けませんでした…。

>>451
試験に合格できただけなのでたぶんできないと思います。

>>452
Cもできないようです…

>>453
入門・はじめて〜と付いている物が多すぎて…
一番最初に読むと良い物を教えていただけないでしょうか。
(できればインストール法が詳細に載っているとありがたい)

461 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 12:51:17 ]
>RailsをインストールするためにDOS画面にコマンドを打ち込んでも
>NoFound〜的文章が表示されて先に進みません。
>今、手元にインストールしようとしたマシンがないので
>正確なエラー文はわかりません。

インストールしようとしたマシンが使える環境になったらまたおいで


462 名前:446 mailto:sage [2009/01/12(月) 12:51:32 ]
>>454
>>455
会社員ですがプログラミング職ではありません。
ずっと経理でやってきました。
自主的に基本情報を取得したところ社長がそれを聞きつけて

「手当て出すからもっと本格的に勉強しろ。
今度経理システムの作成をソフトウェア会社に依頼するから
それまでに一通りわかるようになって開発に加われ。
依頼予定の会社はRuby使うって言ってるからRuby勉強しろ


要約するとこんな感じです。
「とりあえず実際に使える物を作ったら覚えるだろ」という事らしい。

29歳の高卒女。情報系の学歴はなし。
実質労働時間は9時間くらいかな。
今までの仕事(経理)をする時間を引いたら毎日3時間程度。
でも来週で引き継ぎ終わるから、そしたら9時間Ruby学習に充てていい。

>>456
そういう物を教えていただけるとありがたいです。

463 名前:446 mailto:sage [2009/01/12(月) 13:01:04 ]
>458
ありがとうございます。
レビューなどを見ると入門より少し難しいようなのでこれを一冊と
もっと基礎的な物がないか捜してみようと思います。

464 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:19:44 ]
>>462
それはチャンスって言えばチャンスだね。でも、フルタイム学習に
あてていいとなると、失敗した時のリスクも結構大きいかも。
研修参加も可能かどうか相談したほうがいい。

環境のインストールから、ということであればまずはこのへんの本でも。
www.amazon.co.jp/%E3%81%8B%E3%82%93%E3%81%9F%E3%82%93Ruby-Rails%E3%81%A7Web%E5%88%B6%E4%BD%9C-%E9%BB%92%E7%94%B0-%E5%8A%AA/dp/4798116793/ref=sr_1_2?ie=UTF8&s=books

ただし、環境のインストールについては過剰に詳しく書いてあるけど、
言語要素についてはあまりにさらっとしてるし本質的な理解には至らない
かもしれないので、これでざっと環境を作ってサンプルとか動かして
みたら、さっさと他の方法もあたったほうがいいと思う。

あと、ギブアップするなら傷が深くならないうちにお早めに。

465 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:33:43 ]
>>463
だから >>453 も言ってるが >>2 を見れ

しかし、プログラミングもできないのに SI 名乗る人たちがいるのに、
>>462 のような理由でプログラミングの勉強をしろとは、
社長はなかなかの大人物。(か、ちょっと勘違いしちゃってるのか、分からんが)
先は途方も無く長いけどがんがって下さい。



466 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 14:13:30 ]
断ったほうがいいと思う

467 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 14:16:57 ]
良いチャンスだとは思うが、
ちゃんとした研修を受けれないなら断るのも手か。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<246KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef