952 :
デフォルトの名無しさん :2009/05/15(金) 08:02:23
>>949 Google の検索では凍結されたページが上位に来るのは問題だね。
るりまに転送とかできないのかな。
Googleさんに菓子折でも持って行けばやってくれるんじゃね?
単純にリダイレクトしたら。
ここにいる全員のドキュメント嫌いも相当なものですな
ソースがドキュメントでテストが仕様書
>>953 そういうこと言うとRubyユーザーはHTTPも知らないとか思われそうなのでやめてくれ
sinatra で require 'rubygems' require 'sinatra' get '/' do "hello" end とだけの場合、/test や /xxx みたいに定義されていない URL を叩かれるとエラーになるけど、 その場合は「ページが存在しないよ」と出すにはどうしたらいいでしょうか。
>>959 Not Found
When a Sinatra::NotFound exception is raised, or the response’s status code is 404, the not_found handler is invoked:
not_found do
'This is nowhere to be found'
end
とあるね。
962 :
デフォルトの名無しさん :2009/05/15(金) 16:29:18
>>962 そのリンク先の
>○シンプルタイマー(ソースコード)
がほぼそのまんま答えなんだけどな。
というか「作りたいと思っています」なら、動かないものでいいからコード書いてみ。
添削はするし、わからない部分は具体的に聞いてくれれば答えるから。
ちなみに4行で書ける。
965 :
962 :2009/05/15(金) 17:08:54
>>963 レス有難うございます。
直後に時刻のエポック秒変換の記述を手元の本で見つけましたので
なんとか動作するコードは書けました(下記)。
# OSC01.rb
count = 0
time0 = Time.now.to_i
while true
if time0 +3 == Time.now.to_i
puts "3sec"
time0 = Time.now.to_i
count+=1
end
#
if count>10
break # 11回以上でwhileループをBreak
end
end
・・・明らかに4行は超えてますw
>>965 何回で止めるっていう条件が出てなかったしね。
while
sleep 3
puts "3sec"
end
ちなみに分岐が一文だけならこういう書き方もできることを覚えておいて。
break if count > 10
>>966 有難うございます。
sleepってメソッドだったのですね。
969 :
デフォルトの名無しさん :2009/05/15(金) 19:58:36
CRubyがMRIだから松本さんが開発されたのかと思ったのですが、 検索でトップにくるのはGCを作成している方です。 Rubyの開発とはGCを開発することなのでしょうか?
最近の言語全般で強ち間違ってないような気もするが、多分そういう話でもないんだろうな
971 :
デフォルトの名無しさん :2009/05/15(金) 20:09:51
loop {break if count > 10} 上にあるこういう書き方ってRuby的にどうなの? Integer#timesを使わない理由って何?
countが不規則に増えるとか
初心者の書いたコードになに嫌味つけてんのw
>>969 マジレスすると、一般的にCRubyとは言わず、単にrubyと呼ぶことの方が多いからそうなる
モノ教えるのに幾許かでも慣れてないとこういう時困るよな
まあ少子化だしな 関係ねえか
978 :
デフォルトの名無しさん :2009/05/15(金) 20:38:50
979 :
デフォルトの名無しさん :2009/05/15(金) 20:59:28
すみませんでした。
次スレ立てろよカス
982 :
デフォルトの名無しさん :2009/05/16(土) 04:43:41
ruby1.8.6です。 ファイルアクセスが他のソフトとぶつかる場合で質問です。 Rubyで周期的にXMLファイルを上書きしていますが、この上書きのタイミングと 他のソフトによるXML読み込みが衝突した場合(と思われる時)、 in 'initialize': Permission denied - new XML.xml (Errno::EACCES) というエラーメッセージが出ます。 そこでRubyの振る舞いとして、他のソフトがファイルアクセス中は上書きを延期するか、 あるいは別の方法で衝突を回避したく思います。 何か良い方法はありますでしょうか? なお別のソフト側で衝突回避を試みましたが、上手くいかないためRubyに望みを 託すことにしました。
Rubyあんま関係ないな ファイルロック(またはロックファイル)でぐぐれ たいていの場合両方のソフトが対応してないといけないが、 たいていの場合相手のソフトはそんなもん作ってない なお、直接 File.open(path,'w'){|f| f.write(data)} するのではなく File.open(path_v,'w'){|f| f.write(data)} File.rename(path_v, path) と、ファイル移動をOS任せにしたほうがファイル書き込みアクセス衝突の可能性自体は減る ただし、これだと rename でファイルを掴むまでに起こったディスク上の変更を検知できない このへんの衝突可能性に気を遣ってるソフトはあらゆる永続的データ保存に「別名保存→名前変更」のプロセスを使ってるので そのソフトの使ってる別名保存名がわかればもしかしたらロックファイルのように使えるかもしれない
>>984 Rubyに関するまとまった初心者向けの解説サイトまたは書籍を通読しろ
単に基礎知識が足りない
わかりました。ありがとうございます。
Rubyだけに関する知識じゃなくて、 もっと一般的にプログラミングで使用される基礎的な概念に関する知識だな。
990 :
デフォルトの名無しさん :2009/05/16(土) 10:13:56
999
991 :
デフォルトの名無しさん :2009/05/16(土) 10:15:22
1000!
いやそこまでギリギリじゃないから
あれw 1000!にだまされた
1000なら今年Ruby2.0
こんなスローなスレでそんなことしてもw
1000ならRubyは俺のもの
エッチでリッチなかーちゃん、Rubyをせしめてフランスへ。
とうきょう ルビルビ リズム ルビルビ 心ズキズキわくわくー
1000 :
デフォルトの名無しさん :2009/05/16(土) 16:02:22
10^3
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。