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


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

Ruby 初心者スレッド Part 19



1 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:26:33 ]
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。

   【Ruby1.9 は不安定な開発版であり初心者には全く向きません】
   【最新安定版の Ruby1.8.6 の使用を強くお勧めします】

関連スレや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を読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。


792 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 17:02:16 ]
夢のような書籍だなw

793 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 17:14:19 ]
たった224ページじゃ無理だろと思ったら

>他言語でのプログラミング経験を持つ人を対象に

なるほど。エッセンス部分だけ凝縮することに成功すれば
あるいは・・・・・・

794 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 17:17:59 ]
魚を捕る方法を教える感じでなかなか好感が持てる

現状、9割くらいの人はオンラインのリファレンスマニュアル読んでるからな
というか、リファレンスマニュアル自体にマニュアルの読み方の解説がないというのが情けない

795 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 17:19:59 ]
まああるいはオライリーの人がフカしてるだけかもしれん
これ目次ね
ttp://www.oreilly.co.jp/books/9784873113678/toc.html


796 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:21:21 ]
また安いなw
最近のオライリーはどうなってるんだ,あれこれ安すぎるw

797 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:42:21 ]
自分の部屋の本棚をオライリーで埋め尽くす・・・
そんな風に考えていた時期が僕にもありました・・・

798 名前:デフォルトの名無しさん [2008/06/11(水) 19:58:37 ]
2,310円?200ページとはいえ、オライリーにしてはえらく安いな

799 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:58:19 ]
>>796
質が落ちたから

800 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:33:03 ]
Learning Rubyの翻訳かと思ったら別の人が書くのか・・・
当然のようにFlanagan x Matz本出してくるかと思ってたが
マニングのMinimal Perlがオラから出てたりとかなんかカオスだな



801 名前:高野光弘問題 [2008/06/11(水) 23:58:28 ]
takano32,TAKANO Mitsuhiroこと高野光弘(日立製作所社員、日本UNIXユーザ会幹事)が、
自身の『32nd diary』で公然と日立の機密を開示し、障害者差別発言をしている問題。

1981年11月12日 千葉県のディズニーランドのそばで誕生
2001年4月1日 千葉大学に入学
2005年4月1日 千葉大学大学院へ進学、日本UNIXユーザ会に入会
2007年4月1日 日立製作所に入社、神奈川県秦野市の寮へ
2007年8月22日 「ついに職場で人が倒れた」と公表
2007年11月13日 「情報漏えい」を言う上司に「死んだほうがいいよ」と暴言
2007年12月28日 「社内システムクソうんこ」と発言し、仕組みも暴露
2008年5月23日 機密漏洩問題について一応の謝罪
2008年5月26日 「給料泥棒とかうんぬん言われた」と謝罪を忘れて告白
2008年5月27日 「心バキバキ川田くん」と前日の発言者の名前を公言
2008年5月31日 「キチガイ」と日立のユーザーに障害者差別発言を連発

2006年10月27日(日立製作所に入社前に忠告されたこと)
「日記やコメントの投稿日時から勤務時間に業務外のことをしていることが判明」は
某社の某親会社が 2ch で祭られたように、NG です。

6月も勤務時間中に更新し続ける高野光弘君の『32nd diary』にツッコミをどうぞ

802 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:02:01 ]
で、rubyとどう関係あるのか
まだ訊いてないんだが?

803 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:22:05 ]
Ruby信者はあらゆるスレにRubyの話題を持ち込んでいるのだから、
逆にあらゆる話題がRubyスレに持ち込まれても、身から出た錆だな。

804 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 06:59:14 ]
RubyってJavaのクラスローダーみたいな仕組みはないのですか?

805 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 09:46:01 ]
>>804
requireじゃダメなの?

806 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 10:07:44 ]
「Javaのクラスローダーの○○の仕組み」と限定して欲しいとこだな

807 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 11:17:08 ]
.jarとか.classとかを実行時に読むのに相当するならrequire、
Classオブジェクトを名前な文字列とかで引っ張ってくるならModule#const_get

808 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 21:39:27 ]
ネットワーク上からRubyスクリプトを受け取ってそれに記述されているクラスを動的に定義したいんだけど

たとえば
script = URI("host/matz.rb").read
p script #=>
# class Matz
#  def hige
#   print "じょりじょり"
#  end
# end

eval(script)
Matz.new.hige

こんな感じで実現できるんだけど
もっとスマートな方法は用意されてないの?
ファイルには書き出したくない。

809 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 21:41:29 ]
Ruby で、現在のプロセス名を得ることはできますか。
やりたいのは、現在のコマンドが /usr/bin/ruby なのか /usr/local/bin/ruby なのか
/usr/local/ruby1.9/bin/ruby なのかを知ることです。


810 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 21:43:42 ]
ローカルファイルシステム上にないファイルをスクリプトとして読み込みたいとかいう需要に対してスマートも糞もねーよ(w
require の中身は eval だからそれで正しい動作だ
我慢しとけ



811 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 21:46:53 ]
>>810
> require の中身は eval
それは知らなんだ・・・

812 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 23:20:56 ]
Rubyで、
メタ・プログラミングやコード・ジェネレーションを学びたいのですが、
その辺を詳しく扱っている書籍やサイトはないのでしょうか?

ピッケル本とか読みましたけど、なでる程度しか載っていないので・・

813 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 01:55:27 ]
>>812
今は懐かしい256シリーズの無道編でRaccをフィーチャー(というか宣伝)してる。
でも無知な俺は、Raccを本当に活用した例ってRDtoolしか知らない。

Rubyでメタプログラミングなら、強力なevalとmethod_missingで対応するDSLが主流だね。
ActiveRecordなんか、その最たるもの。

Rubyist Magazine -あなたのコードを添削します-
jp.rubyist.net/magazine/?0011-CodeReview
DSLについて、一部参考になるかも。

814 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 02:34:00 ]
これとか。
ola-bini.blogspot.com/2006/09/ruby-metaprogramming-techniques.html

815 名前:デフォルトの名無しさん [2008/06/14(土) 18:53:09 ]
プロパティを定義したいのですが、セッターがうまく働きません orz
以下のようにすると、2と表示してほしいのですが、5と表示されてしまいます。
どこが間違っているのでしょうか?

#ruby -Ku
class Calculator
  def initialize
    @unit = 5
  end
  
  def unit=(value)
    @unit = value
  end
  
  def run
    unit = 2
    puts @unit
  end
end

Calculator.new.run

816 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:55:36 ]
self.unit = 2

817 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:55:59 ]
self.unit = 2

818 名前:デフォルトの名無しさん [2008/06/14(土) 18:56:17 ]
self.unit = 2

だとうまくいきました
何だこの違い・・・
ほかの言語のプロパティみたいに使っちゃだめなのか

819 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:59:52 ]
わかるまでは attr_accessor :unit とだけ書け。


820 名前:デフォルトの名無しさん [2008/06/14(土) 19:02:42 ]
この挙動はどういうことなんでしょうか?
ドキュメントのどこかに記載などありますでしょうか?

しかし、エラーなどでずに実行されるもんで子一時間悩んでしまいました

>>819
セッターを拡張したいときには使えません
あれは最小限のコードで実際のコードでは、最大値のチェックなどしています。



821 名前:デフォルトの名無しさん [2008/06/14(土) 19:04:05 ]
>>819
試しに attr_writerを使ってみましたが、やはりselfがいりますね・・・。

822 名前:デフォルトの名無しさん [2008/06/14(土) 19:08:52 ]
ああああ、わかた。
宣言が要らない言語だから、セッターのインスタンス省略すると
ローカル変数への新規代入になるのか orz

823 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:11:24 ]
>>822
Ruby以外はどんな言語を使ってるのか教えてくれまいか
ちょっと興味があるんだ

824 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:17:11 ]
これは筋のよさそうな自称初心者

825 名前:デフォルトの名無しさん [2008/06/14(土) 19:33:13 ]
>>823
他にはDelphiを長年つこーてました。

Delphiだと属性でなくてプロパティなんですが、
上記コードのような形で問題なく、
selfなしでクラス内でプロパティに代入できます。
静的な言語のせいもあり、変数は宣言しないと使えないです。

826 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:04:10 ]
なるほど、丁寧にありがとう

今度Delphiのコード見かけたら
そこらへんちょっと気にして読んでみるよ

827 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:03:24 ]
やさしいやりとりだな。いい感じ。

828 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:24:46 ]
これは珍しく建設的なやりとり。


829 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:45:06 ]
初心者側に「ピンと来る力」があれば、話は俄然充実するんだよ。

830 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:02:58 ]
>>820
> ドキュメントのどこかに記載などありますでしょうか?

一応rubyの落とし穴には書いてあるけど見つけにくいね。
www.ruby-lang.org/ja/man/html/trap_A5B9A5B3A1BCA5D7A1A2C0A9B8E6B9BDC2A4.html

attr_xxx もFAQやModuleのリファレンス見ないと分からないし。
まぁリファレンスだからしょうがないか。

入門書ならselfが必要なことも含めてちゃんと書いてあるかも。



831 名前:815 [2008/06/15(日) 06:40:18 ]
>>830
おお、こんなところに記述が
やはりFAQなのですね。
わざわざありがとうございます。

attr_系の説明やサンプルは大概クラス外部からのアクセスのみかかれてますね。

832 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:41:53 ]
a = [1,1]
a.each{|i|a << a[-1] + a[-2] if a[-1] < 10000}
p a

833 名前:デフォルトの名無しさん [2008/06/15(日) 15:21:02 ]
Rubyの入門サイト、書籍などを読んでいると
破壊的なメソッド、非破壊的な〜、みたいな表現をよく目にします。

Ruby以前の言語でも同じ概念は存在すると思うのですが、
Rubyにおいて敢えて強調されているのは何故なんでしょうか。
例えば、何か他の言語とは異なった考え方が必要になってくるのでしょうか。


834 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 15:24:50 ]
>>822
NetBeans使ってると、unitは未使用ということでエディタ上に印が付きますね。

835 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:12:43 ]
>>833
強調するのは、そりゃ、「2種類」あるからだよ
self を変更するかどうかって重要じゃん
puts させただけでそのオブジェクトがそれ以降文字列になったら悲惨じゃん

836 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:16:47 ]
>>834
ねとびんかしこいねねとびん

837 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:20:09 ]
>>835
だから、その2種類の違いを他の言語より強調するのは何故か、という質問だろ。
他の言語がどの言語で、本当にそれよりRubyのほうが強調されているのかは俺はわからんが、
ともあれ比較の質問なら、Rubyの意志を比較で回答しないと納得はできんだろう。

838 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:32:14 ]
例えば、javaでは
メソッドへパラメータを渡すとき

配列とオブジェクトは参照渡し(rubyでいう、非破壊的・・の概念にあたる)
プリミティブ型は値渡し(破壊的・・の概念にあたる)

になってる。

ソースを見たとき、
Rubyのように明確になっているとは、ちょっといえないかもね。

Cだと、ポインタかどうかで判断する。

どうしてRubyはその辺を強調してるかだけど、
自由度が高いからじゃないかな?
上のJavaの例でいうと、参照渡しした元のオブジェクトを呼び出し先から
操作することは、Javaでは出来ない。

Rubyではその辺を任意にできる操作できるようにしたかったから、
出来る場合と出来ない場合を明確に表記して、わかりやすくしたかったのではないかと
推察します。

839 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:38:16 ]
すみません。

>上のJavaの例でいうと、参照渡しした元のオブジェクトを呼び出し先から
>操作することは、Javaでは出来ない。

上のJavaの例でいうと、値渡しした元のプリミティブ型を呼び出し先から
操作することは、Javaでは出来ない。

の間違い。

失礼しました。

参照渡し>>元のオブジェクトのリファレンス(アドレス、ポインタ)を渡す。(破壊的)
値渡し>>元のデータのコピーを渡す。(非破壊的)

です。

混乱させるような、書き込みをしてすみません。

840 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:52:41 ]
>>837
破壊的なのに!とか述語に?をつけるのはschemeからのいただきだろうな。
ただ、単なる慣用だから守ってないライブラリもいっぱいあるし深い意味はないんじゃね?
強いて言えば、識別子に!とか?が使えるってのを強調したかったとか。
C/perl/pythonは出来ないはずだし。



841 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 17:11:55 ]
>>833
Rubyだから特別強調しているというわけではない。

Rubyに限らず、手続き(Rubyの場合メソッドかProcオブジェクト)を実行すると
きに、その手続きを実行する前から存在していたすべてのオブジェクトについ


実行後、状態が変化する可能性がある(から注意して使え)のが「破壊的」
実行後、状態が変わらないことを保証するのが「非破壊的」

うまく説明できないけどこんな感じだ。状態が変わらないというのは「同じ」
ということなんだけど、じゃあ「同じ」とは何かというのがなかなか微妙。
だけどこの話を始めるとなが〜くなるから、この辺でやめとくぞ。

>>838,839 はなんか間違って理解してるみたいだぞ


842 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 17:36:53 ]
>>833
rubyの場合、他言語に比べてメソッドチェインの色合いが強いからじゃなか
他言語では戻り値がvoidになるようなものでも、rubyだとself返したりしてるし

843 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 17:58:46 ]
でも述語に?を使われると、三項演算子がちょっと見にくくなるよね

a = (isTrue?) ? 12 : 47

844 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:20:21 ]
>>839
とりあえずJavaに参照渡しはない
プリミティブはもちろん値渡しだが
オブジェクトだって値渡し(参照の値渡し、あるいはcall by share)だ

とかいっても>>839は信じてくれないって俺は知ってるんだ

845 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:30:36 ]
(´・ω・`) = (!isTrue?) ? !a.foo? : !b.foo?



846 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:32:53 ]
hamlet = (to?) ? be : !be

847 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:42:35 ]
>>833
単にメソッド名に!が付けられることを自慢したかっただけ。

848 名前:デフォルトの名無しさん [2008/06/15(日) 19:15:36 ]
>>833
オブジェクト使い捨てることによって生まれたメソッドチェーン主体の手法と、
従来のインスタンスへの変更を区別するためだろう



849 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:30:31 ]
>>847
確かに、そんな気もしなくは無いですね…

850 名前:デフォルトの名無しさん [2008/06/15(日) 22:04:22 ]
rubyで日本語の分かち書きがやりたいよん



851 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:17:38 ]
たとえば
mecabを直に叩くか
mecabのrubyライブラリを使うか
mecabのデータだけを使わせてもらって自分でがんばるか

852 名前:デフォルトの名無しさん [2008/06/15(日) 23:09:39 ]
>>851
ありがとうございます
(いまさら)環境 ActiveScriptRuby
・mecab for rubyがインストールできなかった
・↓を参考に直叩き
でできました

Windows上のrubyでMeCabをちょっこっと使ってみたい - Programming Must Go On
d.hatena.ne.jp/kenkitii/20060705/p1


853 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:16:14 ]
形態素解析だっけ
yahooにもそんあ機能あったな

854 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:10:10 ]
tiny segmenter なら辞書要らずでお手軽

855 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:08:26 ]
matchdata = /[0-9]+/.match("foo=123;qoo=456;zoo=789")
p matchdata.to_a # => ["123"]

["123", "456", "789"]を期待したんですが["123"]でした。
どうしたら["123", "456", "789"]を得られますか?

856 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:11:34 ]
"foo=123;qoo=456;zoo=789".scan(/\d+/)

857 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:25:49 ]
正規表現は「1回だけ」マッチするのが基本
m = /.+=(\d+);.+=(\d+);.+=(\d+)/.match("foo=123;qoo=456;zoo=789")
puts m[1],m[2],m[3]

結果:
123
456
789

文字列に対して繰り返した結果の配列が欲しい場合は>>856のようにString#scanを使う
scanにブロックを渡した場合は適当に部分マッチ結果が渡る

"foo=123;qoo=456;zoo=789".scan(/\d+/){|m|
puts m
}

結果:
123
456
789

マニュアルのStringとArrayとHashとEnumerableの4つだけは読んでおくといいぞ

858 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:50:32 ]
>>856-857
詳しいところまでありがとうございました。勉強になります。

859 名前:デフォルトの名無しさん mailto:age [2008/06/16(月) 14:58:20 ]
Ruby1.8.6でメール送信フォームを作っています。

次のような流れで、送信する前に確認画面を設けたいのですが―

フォーム送信(Html)

確認用CGI(Ruby)で処理

確認画面の表示・フォーム送信(Html)

送信用CGI(Ruby)で処理

名前やメールアドレスといった文字列データは、
確認画面を経由させるのに問題ありませんが、
ファイルを添付させた場合、tempfileオブジェクトをどのように経由させればよいかわかりません。

今考えているのは、ファイル名だけを経由させ、
送信用ファイルでそのファイルを処理すればよいかと考えていますが、
FireFoxではtempfileのoriginal_files要素を取得してもフルパスを取得することができません。

フルパスを取得する方法、もしくはフォーム送信時の常套句的な方法があれば教えてください。

860 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:59:29 ]
>送信用ファイルでそのファイルを処理すればよいかと考えていますが、
送信用CGIの間違いです。よろしくお願いします。



861 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:19:06 ]
>>859
「確認CGIではファイル名取得だけ行い、送信画面でそのファイル名のファイルを実際に送信する」ということはできない
Webブラウザでは、<input type='file'> を POST する場合にしか、ファイル選択ダイアログとファイル送信はできない実装になっている
だから、入力画面のsubmitを受けたときにファイルは必ず受け取らないといけない(だから、あまり確認の意味がない)
受け取ったファイルをサーバで保持して、確認画面のsubmitが来たらファイルを実際に使用する、という手順にするしかないな

問題のひとつは確認画面でキャンセルされたときのサーバ側に残ったファイルの扱いなんだが、これは適当に消せ
あと、確認画面で戻る押されて別のファイルをアップロードされたときの扱いとかも面倒だな

どちらにしても、Rubyの話ではないので適当なCGI関連のスレで研究してくれ

862 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:31:55 ]
>>861
どうもありがとうございます。

>どちらにしても、Rubyの話ではないので適当なCGI関連のスレで研究してくれ
そういうことでしたら、Perl等、他の言語で書かれたCGIも参考にしてみたいと思います。
助かりました。

863 名前:デフォルトの名無しさん [2008/06/17(火) 11:40:57 ]
質問させてください。
現在Ruby on Railsの勉強をしています。
しかし根本的な部分で躓いてしまいました。
練習してみようとtsukaeru.netのシルバープランというVPSサーバーをレンタルいたしました。
しかし、まったくこの上でrubyを用いたホームページを公開する方法がわかりません。

ruby on railsははいっていますか?との質問にサポートは入っています。との解答でした。それ以上のサポートはできないとのことなので
失礼ながらこちらで質問させていただきます。
勉強をしている本は基礎Ruby on RailsというものなのですがこちらはWindowsで導入する方法でしかもローカルで動く方法のみ書いてあったのでそれを一般に
公開するという点では参考になりません。

サーバ構築なども全く初体験なのです。
rubyのプログラムは普通のHPのようにpublic_html直下にindex.htmlをおけば動くといったものではないのですか?
公開するまでの具体的な方法をおしえてください。よろしくおねがいします。
OSはLinux CentOS5(final)のようです。

864 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:05:19 ]
windowsで導入してローカルで動かせばいいじゃないか

865 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:08:55 ]
うむ

866 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:43:28 ]
>>863
まず、その程度の知識でVPSに手を出すのが無謀
組織の命令でやらざるを得ないのなら同情する

ちなみに

% ruby script/server

を実行すれば、適当なポートでHTTPサーバが立ち上がるので
あとは localhost:(ポート番号)/ にアクセスすれば、サンプルページは見えるはず
よく分からないなら素直にWindows使って練習した方がいい。VPSはその後で

867 名前:デフォルトの名無しさん [2008/06/17(火) 15:19:46 ]
まじすか
そんなにハードル高いものだとは・・・orz
Windowsでやるということは、それを公開するには自鯖を立てるしかないのでしょうかね?
自鯖は少し理由があって立てられないのです。

レンタルしているVPSサーバー上でruby script/serverとすると
ruby: No such file or directory -- script/server (LoadError)
と出てしまいます。ruby -vなどとすると正しくバージョンが出ますのでインストールされていることは確かなはずです。

VPS以外で、もっとも簡単にRuby on Railsを公開するにはどうすればよいでしょう。。。
もとからRubyが使えますよ〜っと書いてあるレンタルサーバーでもどのようにしてつかえばいいのかさっぱりです。
本でも読んで勉強もしますのでよろしければはじめの一歩でも教えてください。

868 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:06:20 ]
つか、なんで知識無い奴がRoRやってんの?
CGIとHTTPとDBの知識無い奴がRoRなんか触ったって意味ないのに

869 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:15:51 ]
>>867
Rails環境の構築は初心者には難しい
お薦めの手順としては

1.WindowsにRails環境を作って、そこでRailsの基礎を勉強する
基礎Ruby on RailsにもRails環境入りのCDがあるけれど、ここは「InstantRails」を使うべき

2.ある程度Railsアプリケーションをローカル(つまりWin)で作れるようになったらVPSでの公開を検討する


遠回りかもしれないがまずはローカルでRailsを動かしてみよう
学生さんですか?
ここはRubyスレで微妙にスレ違いの話になるので、捨てアドでも晒してくれたら色々と教える事は可能


870 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:19:05 ]
>>867
>ruby script/server
script/serverは、最初にrails generateで作ったディレクトリの中にある
あとは分かるな?

>VPS以外で
自鯖が立てられないならほぼ不可能
CGIスクリプトとして動かす手段もあるにはあるが、たぶん遅すぎて使い物にならない
それでもやりたいなら「dispatch.cgi rails」でググれ



871 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:22:14 ]
>>868
そんな事は無いだろう
DBは必須だがCGIとHTTPの知識が無いRailsエンジニアなんてゾロゾロいるぞ
もちろん誰かが作ってくれた環境上でアプリを作るだけしかできないが

872 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:25:29 ]
>>870
いや、実はRails自体入ってないんじゃないかとオレは思ってるw
867にはrails -vしてみて欲しいところだな

873 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:32:10 ]
>>868
まあ、Railsはどこをどう見ても

「わかってる人間が手早く作るための強力フレームワーク(※ 引き換えにパワー上限あり)」

なんだが、Javaソリューションビジネスで負けた奴らが次点を求めてRoRにツバつけようと群がったもんだから
「あなたにもRoRが簡単にできます」ビジネスの被害者が続出してる
そういう被害者の人たちのフォローをするのも初心者スレの役目だとは思うぜ

874 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:38:38 ]
>>873
Railsはシンプルでわかりやすいけど、それは「ある程度わかっている人」限定の話なんだよなぁ
プログラミング未経験者ならRailsよりもPHPの方が簡単に入れるだろうとは思う

875 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:01:38 ]
Rubyの知識はあるのかなあ
無いんだったら、俺ならダッシュで本屋行ってPHPに鞍替えするね

876 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:19:53 ]
おk
>>867はPHPに乗り換えなさいw

877 名前:デフォルトの名無しさん mailto:linksuplinksup@yahoo.co.jp [2008/06/17(火) 18:10:33 ]
皆様ご回答ありがとうございます。
現在の、ローカルのWindows環境では本にしたがい、localhost:3000で動くことはできました。
それを一般に公開するなんて簡単だろうperlのcgiとおなじだろ〜っと考えていたらみごとに躓きました。

ご指摘のとおりrails -vしてみたところRails 1.2.2と返ってきたので入ってはいるみたいです。

そしてRoRのソースやらが入っているディレクトリまでcdで移動して再度script/serverを打ってみると

create
File exists - script/server

と帰ってきました。どうやらサーバーがたったようではなさそうな感じですが・・・

あと一歩なんでしょうかorz

ちなみに言語経験はC#とVBを少々でございます。
捨てアドさらせば教えていただけるというとても親切な方がいらっしゃいましたのでアドレスを書いて見ます。
よろしくお願いします。

878 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:38:56 ]
初心者か

879 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:43:32 ]
>>878
まあ、初心者スレだからな

来るのはRubyの初心者だけにして欲しかったもんだが
2ch初心者とかネット初心者とかコミュニケーション初心者とかは正直勘弁

880 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:44:48 ]
つーか>>878とか>>868は上から目線すぎ
誰だって知らない分野はあるだろ



881 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:47:51 ]
lololol

882 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:49:54 ]
>>880
ほいほいメールアドレス晒したり
Windows以外で動作させるための文献検索すらできてなかったりするのは
どうにも擁護できんぞ
「知らない分野」とかそういうレベルではない

883 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:53:29 ]
>>880は「お前には無理だからやめろ」とはっきり言ったほうがいいと仰っておられるのですよ
RoR使うのやめろというレスを全部スルーしてるからな

884 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:10:38 ]
>>882
自分のメールアドレス晒すのは、別に擁護する必要無いだろう。

885 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:12:56 ]
RoR以外の手段を使えというアドバイスですが、一応RoRについての文献をすでに購入してしまったことと
また、RoRを勉強してみたいという意欲のもと始めましたので、別の言語は考えていません。
LinuxにRuby と Railsを入れる方法についてはいろいろと調べまわったつもりなのですが具体的に公開手順を示されているサイトが
みつかりません。メールアドレスを晒したのは>>869さんが親切にあのようにおっしゃってくれたからです。
微妙にすれ違いとの事ですので、失礼しました。

886 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:02:43 ]
Rails云々とは関係なくHTTPとCGIについてよく書けている記事があったので晒してみる
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20080128/292199/?P=4&ST=oss

これを書いたやつは見込みがあるな

887 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:11:11 ]
そのシリーズはなかなか良質
抽象データのあたりとか、
よくまあ説明が複雑になりがちな概念をここまで平易に

888 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:18:50 ]
タイトルで吹いたw

889 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:58:25 ]
直伝噴いた

890 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:21:08 ]
ここまで言うならぜひ言語を作って欲しい物だ



891 名前:デフォルトの名無しさん [2008/06/18(水) 02:07:50 ]
最近読んだ『ハッカーと画家』でrubyの評価が結構高かった。
著者曰くLispに最も漸近しているスクリプト言語とのこと。

892 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 02:25:08 ]
お前が読んだのは最近かもしれんが、書かれたのは何年も前だぞ






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

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

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