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


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

Ruby 初心者スレッド Part 17



1 名前:デフォルトの名無しさん [2008/01/16(水) 17:41:27 ]
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
関連スレやURLは>>2-7あたりを見てください。Ruby on Railsの質問はWebProg板の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を読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

862 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 20:21:59 ]
>>858
逆じゃないよ。(when式)===(case結果)で合ってる。

863 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 21:33:48 ]
>>862
だから>>858はそう書いてるんじゃないか?

864 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 21:49:36 ]
case h
じゃなくて
case
なんだろうね。


865 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 22:13:01 ]
gem install したときに 所有者 root でインストールしようとするのを止めさせることはできますか?
$ gem install --no-ri --no-rdoc hpricot

make
cc -I. -I. -I/usr/local/lib/ruby/1.8/i386-freebsd6 -I. -fPIC -O2 -fno-strict-aliasing -pipe -fPIC -c hpricot_scan.c
cc -shared -Wl,-soname,hpricot_scan.so -L'/usr/local/lib' -Wl,-R'/usr/local/lib' -o hpricot_scan.so hpricot_scan.o \
-Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -L. -lruby18 -lc -lcrypt -lm -pthread -lc

make install
/usr/bin/install -c -o root -g wheel -m 0755 hpricot_scan.so /home/俺/rubygems/gems/hpricot-0.6/lib/i686-linux

install: /home/俺/rubygems/gems/hpricot-0.6/lib/i686-linux/hpricot_scan.so: chown/chgrp: Operation not permitted
*** Error code 71



866 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 00:35:29 ]
原因が絞られたので再質問します

Ruby1.8.5にて、ユーザー権限でgem install hpricotしようと思いました。
しかし、root権限でインストールしようとしてしまってうまくいきません。
/usr/bin/install -c -o root -g wheel -m 0755 hpricot_scan.so
レンタルサーバ(さくら)なので rbconfig の CONFIG の INSTALLキーに
/usr/bin/install -c -o root -g wheel という文字列が入ってしまってるからのようです。
これを変更した上でgem install を実行させることはできますか?

867 名前:866 mailto:sage [2008/02/16(土) 01:25:16 ]
あーできたー。っていうかこれ罠っぽい…
さくらインターネットでrubygemsのインストールでコケる場合の対処

/usr/local/lib/ruby/1.8/i386-freebsd6/rbconfig.rb を見ると
> CONFIG["INSTALL"] = ENV['RB_USER_INSTALL'] ? '/usr/bin/install -c' : '/usr/bin/install -c -o root -g wheel'
とかいう記述がある
よって
setenv RB_USER_INSTALL true
とかコマンドラインで入力してから rubugemsをインストールすればいい
(試してないけどたぶんrubygemsのインストール時1回のみでおk)

あーもう寝る

868 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:52:50 ]
>>861
宗教じみてるので釣りかと思った

869 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:58:43 ]
>>861
そんなに分かりやすいのか・・・買う価値ありかね?

870 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 03:48:49 ]
初めて知ったが、そもそもLinux Magazineぜんぶ入りが買いじゃね?

>>866-867
さくらの共有?Railsまともにうごきます?



871 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 04:21:29 ]
でももう2年前の話だしなぁ・・・休刊。
まだVineが人気の時代じゃね?

872 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 10:07:47 ]
>>870
FastCGI入ってないけどそれでもよければ

873 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 10:16:34 ]
Webサービスとして使うのは問題外ってことだな
自分用かバックグラウンド動作用か

874 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 11:15:37 ]
% time python -c 'range(0,10000000).sort'
0.769u 1.022s 0:01.79 99.4% 0+0k 0+0io 0pf+0w
% time ruby -e '(0...10000000).sort'
3.170u 0.259s 0:03.42 100.0% 0+0k 0+0io 0pf+0w

875 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 11:58:20 ]
>>872
まともに使えない上に、同じ鯖の人に迷惑になりそうな(´・ω・`)

876 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 12:02:23 ]
どっかのページで、CGI版でも高速動作させるって方法があったけど、
結局、プロセスをしばらく立ちあげといてって方法なので、レンサバだと無理そうだった・・・

CGIでRailsをまともに動かす - 古橋貞之の日記
d.hatena.ne.jp/viver/20080209/p1

877 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:00:28 ]
以前からずううううっと気になってたんだけどさ

file = open('test.txt','r').read

とか

file = File.open('test.txt','r').read

ってしたときって、test.txtを開いたときに使ったIOオブジェクトってcloseされてる?
readの中で実はブロックとか使っててcloseしてるとか

878 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:06:30 ]
>>877
close はしてないので File.read("test.txt") を使ったほうがいい。
バイナリモードの指定ができないくそインターフェイスだけど。

879 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:18:18 ]
あるいは、長くなってもいいなら content = open(...) {|io| io.read }


880 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:26:21 ]
File.open(path).read は「動くけどあまり好ましくない書き方」のひとつだな



881 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:47:03 ]
参照カウンタの方がスクリプト言語にはあうね

882 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:52:34 ]
やっぱり、そんなには知られていなかったんですね>Matzの連載
私も知らずに手に入れたんですけど

初等講座が190ページ、探訪が96ページ
雑誌連載ならではの密度(基本2段組でビッシリ)ですので
これ目当てで買っても損はないかと思います。
ただ、PDFの2段組は読みづらいです。

私はスレタイどおりの初心者なので
正直、中盤以降はナナメ読みになりましたが
ハッシュと正規表現の置換のところで
そう書いてくれればわかる!という開発者ならではの
曇りのない記述に出会えたので
これだけで個人的には得した気分です。

883 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 14:04:34 ]
何の本の話ですか?

884 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 14:05:15 ]
>>861じゃね?


885 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 14:05:32 ]
861 デフォルトの名無しさん [sage] Date:2008/02/15(金) 19:22:31  ID: Be:
    休刊になったLinux Magazine全部入りDVDを入手
    Matz御大による、初等Ruby講座(と探訪Ruby)の
    存在を知り拝読(中)

886 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 14:06:09 ]
ありがとう

失礼しました

887 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 14:07:33 ]
>初等講座が190ページ、探訪が96ページ
>雑誌連載ならではの密度(基本2段組でビッシリ)ですので
>これ目当てで買っても損はないかと思います。

ここだけ出版される予定はないの?


888 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 14:08:06 ]
出たら買うかも

889 名前:デフォルトの名無しさん [2008/02/16(土) 14:16:30 ]

ruby-sapporo.org/live


890 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 14:18:56 ]
>>861の感想とかこのところ荒みっぱなしのMatzに読ませてやりたいな



891 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 15:51:50 ]
Hpricotを半日いじった結果、
「そのサイト専用の正規表現使ってHTMLからdivやtable単位でscanで切り出して配列にしさらに正規表現で切り出す」
ということをしたほうが速いということに至った

もっと一般的なことするまでさよならHpricot

892 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 16:33:24 ]
初等Ruby講座
第1回 はじめの一歩
第2回 条件判断とループ
第3回 オブジェクトと変数
第4回 配列
第5回 ハッシュ(または連想配列)
第6回 文字列の操作
第7回 パターンマッチ
第8回 入出力
第9回 数と電卓
第10回 CGI
第11回 Rubyで作るCGI
第12回 CGIの道具箱
第13回 ファイル処理
第14回 ネットワークプログラミング
番外編 Rubyカンファレンスレポート
第15回 プロセスとフォーク
第16回 スレッド(その1)
第17回 スレッド(その2)
第18回 データの保存
第19回 XMLとYAML
第20回 XMLとYAML(その2)
第21回 エクストリーム・プログラミング
第22回 独習Ruby
第23回 再入門オブジェクト指向
最終回 ここからのRuby

893 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 16:34:31 ]
探訪Ruby
第1回 Rubyの国へようこそ
第2回 テスト第一主義
第3回 Wiki Wiki
第4回 Blogの世界
第5回 アスペクト指向
第6回 RubyとEmacs
第7回 Instiki
第8回 テンプレート
第9回 DBM
第10回 tDiary
第11回 Webアプリケーションの基礎
第12回 Webアプリケーションの基礎(その2)
第13回 Webアプリケーションフレームワーク
第14回 マークアップ・マークダウン
第15回 ダイコン
最終回 ネタのタネ

894 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 18:25:28 ]
>>891
WWW::Mechanizeもそうだけど、ドキュメントがないからどうやったら早いのかわかりずらいよね。
俺も苦労した。
ただいっておくけど、

> 「そのサイト専用の正規表現使ってHTMLからdivやtable単位でscanで切り出して
> 配列にしさらに正規表現で切り出す」

ってのが楽にできるのが、Hpricotですよ。

895 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 20:28:24 ]
楽さか速度のどっちを選ぶかだね。

896 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 05:08:19 ]
>>894でいかにもな感じで勧めてみたのだが・・・
>>891みたいな、「それ今知っている技術でやった方が早いよ」と思う人にはやはり勧められない。
文句言うだけなので、やめておいた方がいい。

Hpricotは、半分は「おおーすげー」って感動するためにあるようなものでし、
基本この手のライブラリは、ソース読まないとまともに使えないし、
とにかく早く(速くじゃないよ)やりたいなら、
導入コストがでかいので、gemで入るような既存のライブラリを使うことは勧めない。

897 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 05:30:32 ]
rubyでXMLを扱うのに速度の速いライブラリはありますか?
rexmlを使うと10秒近くかかるので
最低限の機能としてはXPATHが使えればいいです。

898 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 05:43:42 ]
Hpricotはここ見れば簡単にわかるだろう
mono.kmc.gr.jp/~yhara/rubyscraping/?Hpricot

899 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:38:02 ]
そんなお前らに超オススメ scrAPI
wota.jp/ac/?date=20070115#p01

900 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 10:57:19 ]
Hpricotは「抜き出したい範囲の終わりの文字列」が特徴的で自明なときは非効率
html.scan(/<table class="nested"><tr><td>(.+?)<\/tr><\/td><\/table>\r\n<div class="box1/)
みたいな感じ
「どう言っても対応する</div>だとしか言えない」とかいう場合はHpricotのようなパーサの出番

あとHpricotを使っておきながらto_htmlしたものとかを正規表現でscanしたら負けなのでよろしく



901 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:03:30 ]
>>892-893
Rubyの記事だけ抜き出してうんこpdfの段組をばらして
htmに変換してついでにHTML Help形式にもコンバートして売って欲しい・・・

902 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:08:50 ]
>>897
HpricotのXMLモードかlibxml-ruby

903 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:44:50 ]
>>897
Hpricotが拡張ライブラリ使ってるから早いんじゃね?
使ったことはないが

904 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:20:46 ]
expect.rb は標準で入っているんですか?
ActiveSriptRuby で入れた ruby 1.8.6 には入っていないようです。


905 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:55:12 ]
>>902
Hpricotインストールしてみたけどまだ5秒ぐらいかかる。
libxml-rubyはgemでインストールしようとしたらエラーが出たので挫折。
ただHipricotより圧倒的に速そうだ。

906 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 16:12:42 ]
>904
pty拡張の一部なので(ext/pty/lib/expect.rb)、
ptyのないシステムには入っていないかも知れない。


907 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:04:17 ]
Rubyをシュミで使うくらいには初心者から片足抜けたんだけど、
お勧めの面白そうな言語ある?
PerlとCとJavaは除外で

908 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:05:34 ]
Python

909 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:11:07 ]
最近はlispをたしなむのが流行らしい。


910 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:18:30 ]
Schemeあたりに触れて「面白いけど使えねー」と嘆き
Haskellあたりを食い散らかして「作れるもんねーよ」と嘆く
そしてRubyに戻ってくると…「俺こんな汚いコードや粗悪なアルゴリズム書いてたのか!」

とりあえずはLisp系列か関数型言語のどっちかだろ



911 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:58:41 ]
Pythonは変な意味で被らないか

912 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:28:38 ]
すいません、教えてください。

@one, @two, @three, @four, @five ...
とインスタンス変数をたくさん持ったオブジェクトAがあり、

@one, @two, @three
というように上の一部に対応するインスタンス変数(のみ)を
持ったオブジェクトBがあります。

Bのインスタンス変数すべてが対応するAのそれと同じ対象を
参照していればtrue、そうでなければfalseを返すメソッドが
ほしいのですが、どうすればキレイに書けるでしょうか?

913 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:29:32 ]
TOOWTDIな世界に触れてみるのは悪くないと思う

914 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:33:31 ]
>>913
なんかの書き間違いかと思ったら、パイクソかよ。

915 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:53:00 ]
>>912
そういう全比較の結果に頼らなければならないこと自体が何か非常にまずい

916 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:57:00 ]
>>912
よくわかんないけど、Object#instance_variables とか Object#instance_variable_get とか使えばいいんじゃないか。

a = A.new
b = B.new

b.instance_variables.each do |varname|
   val = b.instance_variable_get(varname)
   if val != a.instance_variable_get(varname)
     puts "b.#{varname} != a.#{varname}"
     break
   end
end

917 名前:912 mailto:sage [2008/02/17(日) 23:09:35 ]
>>915
自分もそんな気はしてたんですが、アプリの終了時に
上書き保存のダイアログを出すかどうか調べる方法として、
こんなへたれロジックしか思いつきませんでした・・・。

>>916
これ、いただきます。感謝です。リフレクション系のメソッドが
なかなか自然に浮かんできません。修行します・・・。


918 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 00:08:57 ]
>>917
もっといい方法があるはず
リフレクション無しでやれないかどうか、頭を捻って考えるべき

どうしても思いつかないなら、ここでソース(or具体的なクラス構成)を提示して
「どんな方法があるか」を質問すればいい

919 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 01:34:54 ]
AとBで共通に参照してる変数群が表す情報は
オブジェクトで表現してみるとか。比較一つでいいし。

関係ないこと纏めてもしゃーないからやっぱ
設計しだいだけど

920 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 05:45:53 ]
>>917
変更した時にフラグを立てることは出来んの?



921 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:10:09 ]
>>916
カプセル化の意味ねー。

922 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:11:50 ]
MIX-INってどうなったの。
rubyといえばMIX-INって記憶してるんだけど。

923 名前:912 mailto:sage [2008/02/18(月) 09:37:09 ]
>>918
リフレクション無しでというのが基本なんですよね。
もいっかい考えてみます。またよろしくです。

>>919
オブジェクトで表現して比較というのは考えたんですが、
どうやったら同一性を定義できるのかわからなくなって
とりあえず変数比較でお茶をにごした次第です。

>>920
undo/redoを実装していて、どっちみちオブジェクトの状態を
保存しておく必要があってフラグにはしませんでした。
でもやっぱりあったほうがいいのかも。


924 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 10:05:24 ]
同一性は==でいいと思うんだが…

925 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 10:14:38 ]
>>924

926 名前:912 mailto:sage [2008/02/18(月) 11:24:18 ]
>>どうやったら同一性を定義できるのかわからなくなって
オブジェクト自体じゃなくて変数の参照先の同一性の間違いです。

が、考えてみると普通に一個一個見ていけばいいだけですね。
そうすると面倒くさくなってやっぱり916がいいような気が。


927 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 11:42:06 ]
そんなん==を再定義すればいい。
instace_variable_get使うつもりだったのをオブジェクトにして、
アクセサつけてprotectedにして。

928 名前:デフォルトの名無しさん [2008/02/18(月) 11:42:18 ]
文字化けします。助けて


・出力結果
news23.org/pict/news7342.jpg

・環境
OS Windows 2000
使ったライブラリ raa.ruby-lang.org/project/ruby-amazon/
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

・文字コード
ソースの文字コード sjis
コマンドプロンプトの文字コード 932(sjis)

・出力メソッド
print、puts、pでほとんど同じ

・実行
ruby -Ks amazos.rb
(ソース中に文字コード指定なし)

929 名前:デフォルトの名無しさん [2008/02/18(月) 11:52:25 ]
>>928
自己解決しました

require 'nkf'

出力したい文字列.tosjis



930 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:52:14 ]
Unicode を SJIS で出力してる風な文字化けだなあ



931 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 20:13:49 ]
>>930
いやそのまんまだし

元のXMLを自力で解析してれば文字列がUTF-8のままだって気づいたんだろうけどね
初心者が一足飛びにモジュールだけ使うのも考えもんだな

932 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 20:25:26 ]
chcpコマンドを使ってる人を初めて見た

933 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:27:03 ]
Ruby/AmazonはREXML使ってるみたいだけど、REXMLってUTF-8以外の対応がいまいちだったような。

934 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:38:16 ]
UTF-8以外のXMLはレッドデータブック入りだから大丈夫

935 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:38:32 ]
UTF-8以外のXMLは要らない子だし

936 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 00:52:15 ]
質問です。
www.ruby-lang.org に置いてあるマニュアルのスナップショット版(rd形式)
を html に変換するにはどうすれば良いのでしょうか?

937 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 00:53:56 ]
RDのマニュアルとか見ればいいんじゃね?

938 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:02:01 ]
>>937
すみません。
RDのマニュアルはどこにありますか?

939 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:20:41 ]
というか普通のHTML版やHTMLヘルプ版では何かまずい?

940 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:33:24 ]
>>939
できれば最新版を参照したいので、スナップショットから
HTML版を構築したいのです。



941 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 07:10:47 ]
>>917
GUIアプリだと、変更時にフラグを立てる

Undoの実装などにコマンドパターンを使うから、
フラグ立てひとつ処理が増えたとしても影響ない

942 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:36:58 ]
VB6のような、DelphiのようなRubyがあったらなぁ

あ...言ってみたかっただけです

943 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 17:02:47 ]
「ディレクトリの中の更新済みのrbファイルだけをサーバにFTP転送する」
というのが手作業で面倒なのでrakeというものでやってみようと思いました

…ファイルから2次的ファイルが生成されるようなやり方でないと記述できない? *.cと*.oのような

944 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 17:10:49 ]
>>943
よーわからんが、

「オブジェクトファイルより新しければコンパイル実行」
という判断の元になる「オブジェクトファイル」に該当するものが
RubyスクリプトのFTP転送という仕事には存在しないから
新しいファイルだけを転送ということをさせることができなくね?

という質問でいいか

945 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 20:59:53 ]
>>943
Rakeについてる rake/contrib/ftptools.rb がそれっぽいけど
# This file is still under development and is not released for general use.
だそうな

Rake::FileTaskみたいにRake::Taskを継承して、タスクを実行する必要があるか
判定するメソッドneeded?を定義してやればできそう

946 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 21:43:21 ]
FTPは鯖にある日付がいまひとつ確実に取れないからねぇ。
相手側にシェルアカウントがあればそのまま、自宅にSSH鯖があればCGI経由で
rsync/SSHとかできるけどね。

947 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:01:26 ]
ローカルにインストール用ディレクトリとか作ってそこにコピーさせればいい
ディレクトリにあるファイルより新しければFTP転送

Rubyスクリプトが大量にある場合はちと悲惨だが…

948 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:14:03 ]
単に転送終わったときにタイムスタンプ用のファイルをtouch。
次回はそのファイルより新しいものだけを転送。
でいいじゃん。

949 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:17:50 ]
Rake使ってみたいって言ってんじゃんよ

950 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:49:55 ]

950を踏んだ訳だが




951 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 23:03:55 ]
踏む前に書いたくせに!
踏む前に書いたくせに!

952 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 23:41:46 ]
うむ

>>950
流れが速いわけじゃないし埋めるのも手間だし別に970とか980とかでもいいような気もする

953 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 23:59:39 ]
>>949
別に使わなくてもいいよ

いや真面目な話、Rakeの依存解決が使えない場面なんていくらでもある
そういう場合は無理にRakeの機能に頼らなくてもいい

954 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 01:29:52 ]
俺だってRakeの中にrsyncでサーバー(つってもsambaだがwww)と差分同期とるのを書いて
ふだんから使ってるぜ

955 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 14:01:50 ]
VB(6)はともかく、Delphiに関しては
Matzはどう思ってるんだろう?

個人的には、まともにオブジェクトを指向した
最初の環境はDelだったりする
塚越一雄著「Delphiオブジェクト指向プログラミング」
には足向けて寝られない
これが本当に役に立ったのは他でもないRubyでなんだけど

956 名前:デフォルトの名無しさん [2008/02/21(木) 18:22:25 ]
amazon API を使ったときの日本語の文字化けを直す方法を教えてください。

ttp://diaspar.jp/node/5
にある、amazon APIのサンプルを実行したら、
2008-05-28 : 0132084945 : Intro to Java Programming, Comprehensive
2008-02-29 : 4797346418 : 繧・&縺励>PHP 繧・&縺励>繧キ繝ェ繝シ繧コ
のように日本語が文字化けしてしまいます。
Windows XP, Ruby 1.8.2 なので頭に、
#! -Ks
としています。


957 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 18:24:52 ]
変換すりゃいいべ

958 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 18:44:45 ]
だから>>931だって
Amazonが何を出力してるか理解してない人は利用禁止
普通にAWSとか勉強してからおもむろに便利に使うべし

959 名前:956 mailto:sage [2008/02/21(木) 19:15:42 ]
や、こんなすぐ上にあるとは失礼しました。
require 'kconv'
Kconv.tosjis(変換したい文字列)
で解決しました。

>>958
まぁ、そう言わないでくださいよ。

960 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:00:53 ]
よくわからんけど、普通にブラウザ使っていて、文字化けしてエンコードを自分で変えたりして、
文字のエンコードの存在をしることってあると思うんだけど
ネット使わないのかな



961 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:04:32 ]
最近のブラウザは推測精度が上がってるんだよきっと

962 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:48:36 ]
AmazonのAWSって自分のID使わなくていいのか?
と思ってみたり。
hikiのプラグインにしてもライブラリ公開して自分のIDをデフォにするってなんかコスイような・・・
・・・まぁ好きにすればいいよね。






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

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

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