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


604 名前:デフォルトの名無しさん [2008/05/19(月) 14:21:37 ]
>>603
ああ、これFAQレベルの質問だ。
自己解決しました。

 puts "hoge_mage-fuoo1.2.3".sub(/^(.+)-.+$/,$1)

かブロックで、

 puts "hoge_mage-fuoo1.2.3".sub(/^(.+)-.+$/) { $1}

だ。
irbは2回やったから上手くいったんだ。

自分でメモまでしといたのに忘れるとは・・・。

605 名前:デフォルトの名無しさん [2008/05/19(月) 14:22:06 ]
>>604修正

>  puts "hoge_mage-fuoo1.2.3".sub(/^(.+)-.+$/,$1)

puts "hoge_mage-fuoo1.2.3".sub(/^(.+)-.+$/,'\1')

606 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 14:25:36 ]
本当に本気でどうでもいいんだけど、
カッコとブレースの間って空白置く派が多いのかな?
){
のほうが個人的には気持ちいいんだけど

607 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 17:26:22 ]
>>606
空白置く派だな。
標準添付のもほとんどそのはず。

608 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 17:30:26 ]
>>576
自前なのか。

修正済のバグかもしれないので、1.8.6-p114とか1.8.7-preview3あたりで確認を。
それでも落ちるようなら、gdbでバックトレースを。
めんどくさいのでできればBTSに。

609 名前:599 mailto:sage [2008/05/19(月) 20:07:42 ]
結論を言うと、Rubyのせいじゃなくて、
環境変数 PATHEXTに.rbが登録されてないせいだった。
.pyはpythonをインストールした時に登録されてたらしい。

PATHEXTに登録されてない場合に、
関連付けでコンソールアプリが実行されると、
コマンドプロンプトが開くのがデフォみたい。

でも、いまいち納得できないな。
どちらにしろ、コマンドプロンプトなんか開く必要無いのに。

610 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 20:21:55 ]
winの設計思想のなんたるか、だねえ

じき滅ぶよ、きっと

611 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 20:32:20 ]
人口に膾炙して10年以上も経ってるのにまだそんな口きくかね

612 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 20:52:05 ]
んー、既に自滅した気が、なんて言ったっけ、VIS...



613 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 21:18:21 ]
コンピュータが始まってまだ60年ぐらいしか立ってないから。
無くなるときは割とあっという間だと思うよ。多分携帯に駆逐される。

614 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 21:30:12 ]
PC-98 って何で死んだんだろな

615 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 22:31:09 ]
坊やだからさ…

616 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 23:56:00 ]
漢字ROMに守られていた文化が
黒船に駆逐されたからでしょ

617 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 10:05:26 ]
それまでは「パソコン」がプラットフォームの中心だったのが
Windowsに中心が移ったから。

618 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 19:28:28 ]
Windowsが本当に駆逐されたら困るなー、と思う反面
代わりにLinuxが台頭するのはちょっと見てみたいとも思う

>>606
俺は空白置かない(くっつける)派
標準ライブラリでは二派に分かれているようだ
(検索したら、空白置いてるファイルが置いてないファイルの二倍ぐらいあった)

619 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 09:41:14 ]
WindowsにRuby/GDまたはRuby/GD2を使いたいのですが、どうすればいいですか?
cygwinやcoLinuxではなくWindows上で直接動かす方法をご存知の方教えていただけるとうれしいです _ _

620 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 16:49:38 ]
コンパイルしろ。

621 名前:555 mailto:sage [2008/05/21(水) 23:42:24 ]
>>608
返事が遅くなってすみません。

1.8.6-p114とか1.8.7-preview2 とかをインストールしたのですが
基本的に同じような結果になってしまいます。

>> gdbでバックトレースを。めんどくさいのでできればBTSに。
これはどのようにすればいいのでしょうか?自分なりに調べてみたいのですが
どうすればいいのかよくわかりませんでした。


622 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:50:56 ]
>619
ちなみにmingw版でコンパイルしたsoはmswin32でもそのまま使える
(libの下のso入れるとこに突っ込めばおk)




623 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 20:57:12 ]
「みるみるRubygがわかる本」
は、初心者に勧められる入門書ですか?

購入なさった人、情報を持っている方など
感想等お願いします。

624 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:03:06 ]
プログラミング自体初心者には
www1.tf.chiba-u.jp/~shin/tutorial/index.rb

Ruby初心者には、他の言語の習熟レベルにもよるけど、
たのしいRubyかプログラミングRubyがいいんじゃないかな。



# その本の批評じゃなくてごめんね。
# 漏れは秀和ということだけで毛嫌いしちゃう


625 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:12:50 ]
>>623
別に気にしなくていいんだけど、
立ち読みは表紙のイメージで記憶してるので書名で言われてもぶっちゃけ覚えてねー

ttp://www.amazon.co.jp/dp/4798019291
で、これな

  「何が何でもとにかく『たのしいRuby第2版』との差額900円が惜しい人向け」


900円がないと明日家賃が払えないけど
Rubyの本を何か持ってないと明後日異界に連れ去られてしまうとかそういう人向け

626 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:13:42 ]
あ、あと、ある一定以上の重量の本を手に持つと骨が折れる人とか

627 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:23:38 ]
書籍にあるサンプルコード
ttp://ftp2.shuwasystem.co.jp/pub/book/1929/sample-list.txt
……うーん…

628 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:35:17 ]
3-*あたりを見るとJavaっぽいね。
RubyではgetEuroなんてまず書かない。
多分、to_euroとか

629 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:40:56 ]
なんだ秀和か。
あそこの本は、よそで出てないネタを押さえてる本は買う価値があるが、
よそで出てるネタの本は微妙な出来のことが多いな。

630 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:46:28 ]
>>627
とりあえずcaseのインデントが気持ち悪すぎる

631 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:48:42 ]
>>628
> Javaっぽい
なかなか鋭い
ttp://www.amazon.co.jp/s/ref=sr_st?__mk_ja_JP=%83J%83%5E%83J%83i&rh=n%3A465610%2Cp_27%3A%8F%B6%93c

632 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:53:50 ]
>>627はftpだな
ftp://ftp2.shuwasystem.co.jp/pub/book/1929/sample-list.txt

ってftpかよ!
まあいいけど



633 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:57:31 ]
Javaな奴にRubyの本を書かせるな
めんどくさいから

634 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:01:41 ]
>>631
やはりJava・・・・・・・なのか?

入門書ばっかり
しかも売上が微妙なのかレビューがほとんどついてないのばっかりか

635 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:02:31 ]
Rubyは『たのしいRuby』いっとけで済むからいいよな
サポートサイトのエラッタを見ても頭ひとつ抜けてる感じだ
無理やり難点を挙げるなら熱さやユーモアに欠けるぐらいか

636 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:07:59 ]
本当は色々な入門書やら解説書やらが出ていいのも悪いのも結構ある、というのが理想

『たのしいRuby第2版』






というのが現実
スレ的には面倒がないが、言語普及的には好ましい状態ではない

637 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:09:58 ]
Rubyで小金が儲かる、という状態でないとなあ
Rubyの書籍は売れないから出しません、というような状況になるのはまずい

638 名前:623 mailto:sage [2008/05/23(金) 22:23:55 ]
皆さん情報提供ありがとうございました。

『たのしいRuby第2版』の情報等も参考にさせていただきます。

639 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:26:18 ]
他言語を知ってるならピッケル本が良いんだが

640 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:37:12 ]
Rubyの新しい本はRails含めて最近ちょくちょく出てるんだが、いまいちパッとしない
ttp://www.amazon.co.jp/dp/4798019437/
これは、読んだ限りではまあ、うん、まあ、同価格帯で勝負するだけはあるなって感じはするが
目次はここ
ttp://www.shuwasystem.co.jp/products/7980html/1943.html

641 名前:デフォルトの名無しさん [2008/05/24(土) 10:10:42 ]
Amazon/AWSのResponseオブジェクトをprintで出力すると
長々と内容まで出力してくれるのですが、ppで出力すると
#<Amazon::AWS::AWSObject:0x2f82e04 ...>としか出力されません。
ppで整形した内容まで出力してくれるようにするにはどうしたらいいのでしょうか?

642 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 10:46:40 ]
>>641
今こそソース読んでステップアップするとき
pp.rb を読むんだ



643 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 16:31:14 ]
Rubyからaccessのmdbファイル内のレコードを操作するにはどうしたらいい?

644 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:14:05 ]
ttp://jp.rubyist.net/magazine/?0005-Win32OLE
そういう目的のためのwin32OLE。
あまり使ったこと無いので、使いやすいのか知らんけど

645 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:38:16 ]
win32OLEは便利だと思うけど、詳しい解説がどこにあるのかがわからない。
るびまは読んだんだけどなー

646 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:10:13 ]
WIN32OLEクラスの使い方さえ覚えれば、
あとはWSHの話じゃないか?

647 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:24:37 ]
WSHというか、あとはそのライブラリ自体のお話ってことだよねぇ。

648 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:10:56 ]
AccessのVBAでマクロ組んで、Rubyからそのマクロを呼ぶのが一番簡単そう。
Rubyから呼ぶ必要があるかどうかは知らんけど。

649 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:29:03 ]
実のところRubyはほとんど関係ないんだよな
単純にWindowsプログラミングの話になってしまう

650 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:30:49 ]
>>649
本質的には system() で外部コマンド呼んでるだけだからねえ…
どんなときにどんなコマンドを呼び出すべきかってのはRuby関係ないわな…

651 名前:643 mailto:sage [2008/05/24(土) 20:43:37 ]
>>644のリンク先の一行レコードを追加するスクリプトサンプルみると
conn = WIN32OLE.new("ADODB.Connection") 以降はvbaと同じっぽいのでなんとかやれそう

652 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 01:36:18 ]
open-uri を使って ftp にアクセスしたい。

require 'open-uri'

uri = URI.parse("ftp://hogehoge.com/bar/")

uri.user = 'foo'
uri.password = "fu/ha"

でエラー。uri/generic.rb の USERINFO(Regexp) が

/^(?:[-_.!~*'()a-zA-Z\d;:&=+$,]|%[a-fA-F\d]{2})*$/n

になっているのが原因で パスワードに '/' を含む事が出来ない。
URI.escape(password) をしても '/' はエンコードされず。

何か策はないでしょうか? (パスワードは変更できない)
open(uri) の uri にパスワードを含めれないのか?


net/ftp を使えばログイン出来るのだが、やりたいのは、
Pathname を使って ディレクトリを掘りながら put をしたい。





653 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 01:54:51 ]
URI::USERINFO= /^(?:[-_.!~*'()a-zA-Z\d;:&=+$,\/]|%[a-fA-F\d]{2})*$/n
とか

654 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 02:11:13 ]
まあ基本的には無理だな
自前で書き換えるしかないわ
スラッシュって含むことできたっけ?

655 名前:652 mailto:sage [2008/05/25(日) 02:44:45 ]
>>653
素敵。

しかし別の新たなエラーが。もう少し調べます。(そもそも
掘って put は出来るのか?)

ありがとうございます。


656 名前:652 mailto:sage [2008/05/25(日) 02:57:43 ]
わかった。open-uri は ファイルを扱うものなのか。
ディレクトリは扱えないのか。

失礼しました。



657 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 04:48:04 ]
まつもとゆきひろがB型肝炎に感染
mamono.2ch.net/test/read.cgi/newsplus/1211364904/

658 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 15:24:45 ]
質問です。

#!/usr/local/bin/ruby
print "Content-type: text/html\n\n"

print "<html><body>Hello World</body></html>"

この内容の.cgiファイルを

land.to/newshiyou.php
このレンタルサーバーにアップしたのですが。
500内部サーバエラーになってしまいます。

なぜなのでしょうか?どうすれば動かせるのでしょうか?
回答よろしくお願いします。

659 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 15:35:52 ]
エラーメッセージの意味がわからんです
おしえてエロイひと

c:/ruby/lib/ruby/1.8/xmlrpc/parser.rb:152:in `fault': wrong fault-structure: {"f
aultCode"=>"Client", "faultString"=>"Application failed during request deseriali
zation: \nnot well-formed (invalid token) at line 6, column 345, byte 3640 at /h
ome/seesaa/cpan/lib/i686-linux-thread-multi/XML/Parser.pm line 187\n"} (RuntimeE
rror)

660 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 15:52:12 ]
>>659
文字コードの知識もないspamブロガーさんこんにちは

661 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 15:56:29 ]
>>660
そう見えるよなあ
投稿スクリプトをサンプルとして提供するのは止めたほうがいいと思うぞ

で、まあ、seesaaはShift_JISだったはずなのでShift_JISで送れ

662 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:07:16 ]
>>658
CGIファイルのパーミッションを実行可能に変更していないのだと予想



663 名前:658 mailto:sage [2008/05/25(日) 16:41:39 ]
解決しました。
ありがとうございました。

664 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 17:38:53 ]
【プログラム】
#! ruby -Ks
class Ice
def sizeIce(size)
print(size)
end
end
class IceName < Ice
def initialize(name="未設定")
@iceName = name
end
attr_accessor :iceName
end
class IceSize < Ice
def initialize(size="未設定")
@iceSize = size
end
def sizeIce(size)
super(size)
print("サイズです。\n")
end
attr_accessor :iceSize
end
ice = [IceName.new("メロンソーダ"),IceName.new("レモン&ライム"),IceName.new("スイカバー")]
ice2 = [IceSize.new("中"),IceSize.new("小"),IceSize.new("大")]
for k in 0..ice.size-1
print(k+1,"個目 ",ice[k].iceName,"は",ice2[k].sizeIce(ice2[k].iceSize))
end

665 名前:664 mailto:sage [2008/05/25(日) 17:44:59 ]
【表示される結果】
中サイズです。
1個目 メロンソーダはnil小サイズです。
2個目 レモン&ライムはnil大サイズです。
3個目 スイカバーはnil
【表示したい結果】
1個目 メロンソーダは小サイズです。
2個目 レモン&ライムは大サイズです。
3個目 スイカバーは中サイズです。

昨日からrubyの勉強を始めました。
初めてのプログラミングなので、わからないことが多々あり苦戦しております・・・。
上記のプログラムを実行するとエラー等は出ないのですが、表示結果が思い通りになりません。
なぜ一番最初に「中サイズです。」が表示されるのかすら理解できません。
一体どの部分に問題があるのでしょうか?
わかりにくいプログラムだとは思いますが、もしよろしければ回答お願いします。

※このプログラムは、練習目的で作っているのでわざわざ面倒なことをしています。

666 名前:664 mailto:sage [2008/05/25(日) 17:46:44 ]
訂正

【表示したい結果】
1個目 メロンソーダは中サイズです。
2個目 レモン&ライムは小サイズです。
3個目 スイカバーは大サイズです。

でした。すいません。



667 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 17:59:29 ]
(半分ほど作り変えた時点で悩む)
あー、まあいいや
print は引数をその場で画面に表示し、返り値として nil を返す

表示部とデータ部を完全に分けて考えるべき
最終的なデータを最後に print で表示するだけ、という考え方な
Ice.sizeIce で print を使っているのはよくない

668 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 18:16:52 ]
てゆーか、継承の考え方がおーざっぱに間違ってね?
「アイスの価格」が「アイス」というクラスを継承するはずがない
「アイスの名前」や「アイスの価格」は「アイス」というクラスの変数であるべき

class Ice
def initialize(name=nil, size=nil)
@name = name
@size = name
end
attr_accessor :name, :size
end

data = [
["メロンソーダ","中"],
["レモン&ライム", "小"],
["スイカバー", "大"]
]
products = Array.new
data.each do |a|
products.push(Ice.new(a[0], a[1]))
end

products.each_with_index do |ice, i|
puts "#{i+1}個目 #{ice.name}は#{ice.size}サイズです"
end

669 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 18:22:51 ]
抽象的に「アイス」があって、
「価格のあるアイス」とか「サイズのあるアイス」とか「価格とサイズのあるアイス」と
具体化...と考えているのかもしれないが、そういう継承の使い方はあっさり破綻するので
やめたほうがよい。

まずは合言葉「継承は最後の武器だ」かと。

670 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 18:34:03 ]
>>664
k == 0 の時の出力
中サイズです。
1個目 メロンソーダはnil

k == 1 の時の出力(最初の行は↑の行に続けて出力)
小サイズです。
2個目 レモン&ライムはnil

k == 2 の時の出力(は省略)

「?サイズです。」はice2[k].sizeIce(...)メソッド実行時の出力
「?個目 ***はnil」がループ内のprintの出力
最後のnilはice2[k].sizeIce(...)の返却値 # sizeIce(...)最後のprintの返却値
# k== 0 の時 print(1,"個目 ","メロンソーダ","は",nil) になっている

問題は「経験が足りない」事
もっとたくさんソースを書いて実行してデバッグすれ

671 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 18:42:30 ]
マニュアルには「返り値」「戻り値」があるけど「返却値」はないな

…なんで2種類あるんだ
マニュアルくらいどっちかに統一せえ

672 名前:664 mailto:sage [2008/05/25(日) 18:53:18 ]
>>667-670
レスありがとうございます。
どうやら自分の言葉足らずだったようです。
現在こちらのサイトさん(www.rubylife.jp/index.html)のRuby入門というところを一番上から進めています。
現在は「Rubyオブジェクト指向プログラミング」の「クラスの継承」の部分まで読み終えています。
ひとつの項目が終わるごとに、その項目で覚えたメソッド等を使ってプログラムを作る練習をしているのです。
なので今回は「クラスの継承」「オーバーライド」「super(引数)」の3つを使ったものを作ろうとしていました。
・・・と自分で考えたらあんな感じになってしまったのですが、このような使い方はそもそもおかしいようですね。
色々混ぜすぎて自分でも分けがわからなくなってましたし。
次回からはもっと処理を個別に分けてプログラミングするように心がけます。
クラスの継承は結構重要そうな感じだけど、実際はそこまで実用性があるわけじゃないのかな・・・。

一番最初に「中サイズです。」が出てきてしまう理由や、「nil」が表示される問題などは解決しました。
>>668さんのような配列の書き方は非常にわかりやすい・・・次からはこのように表記したいと思います。
大変わかりやすく解説していただきありがとうございました。



673 名前:デフォルトの名無しさん [2008/05/25(日) 20:35:05 ]
すみません、マニュアルみたりしてるんですが、見落としてるのか分からないので、教えてください。
クラスの定義の中にたまに、「:」がでてくるんですが、:の意味を教えてください。
たとえば、
Railsだと、「t.string :title」な表現があったり、
インスタンス変数のアクセサを作るときは、「attr_accessor :x, :y」とかしますよね。
この:の意味が掴めないですorz

class CreateArticles < ActiveRecord::Migration
def self.up
create_table :articles do |t|
t.string :title
t.text :description
t.string :image_url
t.decimal :price
t.datetime :date
t.string :vender
t.string :category

t.timestamps
end
end

def self.down
drop_table :articles
end
end

674 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:41:49 ]
それはシンボルというものだ

675 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:18:50 ]
というか、Symbol クラスのインスタンスだと説明したほうがいいかも

Rubyのメソッド名や変数名は内部的に数値で管理されてる
(2455番目に登録されたメソッド、とかそんな感じで、オブジェクトIDとは別物)
シンボルは、その数値に文字でアクセスすることができる機構だ
結果として、「文字」でメソッド自体を指し示すことができる

普通に foo と書いたら foo メソッドが動いてしまって「foo というメソッド」を指し示すことができない
しかし、そのとき「メソッド foo を示す登録番号」という指定の仕方ができるとしたら、「foo というメソッド」という指定の仕方ができる

腹減ってるので自分でも何書いてるかわからなくなってきた
試しに適当な変数作って、それと同じ名前のシンボルに to_i してみ
それが内部整数値だ
シンボルを id2name するとシンボルに対応する文字列が返る
時々「シンボルを文字列にする」という表現で説明されるがこれは本当は誤り

676 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:26:03 ]
余計わからなくなるので>>675は読まなくてよし
もう遅いかもしれんが

677 名前:デフォルトの名無しさん [2008/05/25(日) 21:31:28 ]
>>674
>>675

さきほど、rubyの公式にアクセスできたので、FAQ見てたらシンボルということは分かったところで、余計に理解に苦しんでましたが、、、

>>普通に foo と書いたら foo メソッドが動いてしまって「foo というメソッド」を指し示すことができない
>>しかし、そのとき「メソッド foo を示す登録番号」という指定の仕方ができるとしたら、「foo というメソッド」という指定の仕方ができる

神レスありがとうございました!よく分かりました!!

678 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 10:28:13 ]
www.ruby-lang.org/ が落ちているような。

679 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 10:32:27 ]
500とかはいつものことだろ、と思ったが router2.netlab.jp で止まっててアクセス自体ができないな

680 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 17:39:26 ]
SymbolとStringの違いは「優しいRailsの育て方」本が一番わかりやすかったな。
あのキモいアイドルAAを我慢できればの話だけど。

681 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:55:34 ]
Rubyで作成したGUI上で動くちょっとしたソフトウェアを
windowsクライアントに配布して利用してもらいたいとき、
クライアントのPCにもRubyをインストールしておかないと
実行できないでしょうか?

682 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:04:09 ]
>>681
exerbでぐぐってみるとか。




683 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:05:54 ]
Ruby/Tk以外で作らないと駄目だな

684 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:18:10 ]
>>682、683
exerbを利用すればいいのですか。
新しいツールは、勉強もかねてRubyで作ることにします。
さっそく、本を買いに行ってきます。
レスありがとうございました。

685 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:20:38 ]
rubyscript2exeもどうぞ。


686 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:26:22 ]
おいおい、Rubyで自分以外のためにGUIツールを作るなんてアホのすることだぞ
渡されたほうも迷惑だからそういうことはやるな

687 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:37:59 ]
じゃあ、何で書くのがいいのさ?
C#とか?


688 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:47:19 ]
うん、あのね、どうやら
「もともとのGUI対応」
「付け足しのGUI対応」
の区別がつかないらしいんだ、初心者の人

689 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:55:42 ]
そんなにも区別すべきなのか、というのも興味深い問題だと思うぜ

まあ、とってつけたGUIシステムで火傷したことがある人ばかりだから不評なんだけどさ

690 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 12:27:50 ]
Winで動かす物はMSの道具立てでやった方が、楽だし誤解や面倒ごとも少ないのは確かだしな
まあ仕方ないさ

691 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 13:10:52 ]
これはどういったプロジェクトなのでしょうか?
ttp://raa.ruby-lang.org/project/ghdghdgh/

692 名前:デフォルトの名無しさん [2008/05/27(火) 15:14:16 ]
一行が長くなって読みにくい場合、改行したくなるのですが、
どうしたらイイですか?



693 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:19:21 ]
>>692
改行すればいいじゃん?

バックスラッシュ \ を使えば改行を隠すことができる
他にも「区切れのいいところ」で普通に改行することもできるが、
このへんは他の人のスクリプトを読んで参考にするといい

694 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 18:00:06 ]
動的メソッドって?

695 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 18:09:56 ]
Rubyの奥義のひとつ(いやRuby以外でもできるけど)
動的に定義されて動的に実行されるメソッドの8割は本当は静的でもなんとかなる

696 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 21:56:33 ]
実行するまで在るか無いかわからないってこと?

697 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 22:02:04 ]
マクロの代わりに使う例も多いと思う。

698 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 17:13:30 ]
まるごとRuby!のVol.1を眺める
ttp://www.amazon.co.jp/dp/4844325795/

…endの連続はLispの閉じカッコの連続っぽくね?というのは
それはそれでヒドいと思う

現時点でのRubyの紙媒体のまとまった情報が欲しい人向け
スレ的にはちと情報が重いか

699 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 17:37:44 ]
Railsレシピブックのほうに目が行ってしまった

700 名前:デフォルトの名無しさん [2008/05/30(金) 18:24:17 ]
#!/usr/bin/env ruby -Ku

とファイルの先頭に書いて実行すると、

 env: ruby -Ku: No such file or directory

と言われてしまいます。
envで-Kuをつけたいのですが、
言われないようにする方法はどのようなものがありますでしょうか?

環境は FreeBSD 6.1-RELEASE-p23 です。

701 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 18:52:34 ]
基本的には小手先では無理
env コマンドは複数の引数をうまく受け取ることを期待できないし、環境によっても動作が違う
たとえば、その記述は同じ FreeBSD の 5.x では期待通りに動作する

702 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 18:56:33 ]
いやenvがどうこうというよりカーネルが…



703 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 18:59:33 ]
あ、どうするかだっけ

#!/usr/local/bin/ruby -Ku

と書くこと
ダウンロードして即実行できないことについて文句言う的外れのアホは無視
実行するスクリプト内容を確認しないような人間をユーザーに引き込むと後々癌になるぞ

で、自前で複数環境で使いたい、という場合が問題なんだが

704 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 19:20:38 ]
>>700
shebang行(#! で始まる)に渡せる引数は1つ、という実装が多いから無難なのは、

#!/usr/bin/env ruby
$KCODE='u'







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

前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