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

2 名前:デフォルトの名無しさん [2008/01/16(水) 17:42:03 ]
Q: Rubyの勉強をはじめようと思うのですけども、
  一からRubyをはじめる初心者向けのRuby入門書は何がお薦めでしょうか?

A: プログラ自体の初心者だったら「たのしいRuby 第2版 Rubyではじめる気軽なプログラミング」
  他の言語経験があるんだったら「プログラミングRuby 第2版 言語編」

3 名前:デフォルトの名無しさん [2008/01/16(水) 17:45:20 ]
■前スレ
Ruby 初心者スレッド Part 16
pc11.2ch.net/test/read.cgi/tech/1197120980/

■関連スレ
Rubyについて Part 30
pc11.2ch.net/test/read.cgi/tech/1200106073/

Rubyの宿題教えてください。
pc11.2ch.net/test/read.cgi/tech/1106572657/
pc11.2ch.net/test/read.cgi/tech/1200175247/

【ActiveScript】RubyをWindowsで使うスレ【GUI】
pc11.2ch.net/test/read.cgi/tech/1155031689/

Ruby on Rails
pc11.2ch.net/test/read.cgi/tech/1191381506/

Rubyについて(アンチ専用) Part002
pc11.2ch.net/test/read.cgi/tech/1200210768/

4 名前:デフォルトの名無しさん [2008/01/16(水) 17:47:27 ]
■公式/非公式関連リンク
Ruby Home Page
www.ruby-lang.org/ja/

Rubyリファレンス(よくサーバーエラーになります)
www.ruby-lang.org/ja/man/
www.ruby-doc.org/ (英語)

リファレンスのHTMLヘルプ版配布
elbereth-hp.hp.infoseek.co.jp/ruby.html
# Windowsで便利

Ruby FAQ
ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ

Programming Ruby - The Pragmatic Programmer's Guide
www.ruby-doc.org/docs/ProgrammingRuby/
# 好評書籍をWebで公開中、ただし英語

逆引きRuby
www.namaraii.com/rubytips/

5 名前:デフォルトの名無しさん [2008/01/16(水) 17:53:42 ]
RAA - Ruby Application Archive
raa.ruby-lang.org/

RubyForge
www.rubyforge.org/
# Rubyのアプリやライブラリが検索できる

日本Rubyの会 公式Wiki
jp.rubyist.net/
# メニューに表示されていない埋もれた情報ページ多数

Rubyist Magazine - るびま
jp.rubyist.net/magazine/
# コードレビューが好評

Matzにっき(Ruby作者の日記)
www.rubyist.net/~matz/

Ruby hotlinks 五月雨版(日記やblogのアンテナ)
www.rubyist.net/~kazu/samidare/

Rubyの本一覧
www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Ruby%A4%CB%B4%D8%A4%B9%A4%EB%BD%F1%C0%D2

<rubyXML/>
www.rubyxml.com/

6 名前:デフォルトの名無しさん [2008/01/16(水) 17:54:46 ]
■最近できたWiki
Ruby 初心者スレッド Hiki
starlet.s145.xrea.com/ruby/hiki/

Ruby Portal
ruby.morphball.net/portal/

7 名前:デフォルトの名無しさん [2008/01/16(水) 18:02:44 ]
■Ruby1.9について
未だバグが多く、不安定です。
正式な日本語ドキュメントも出ていません。初心者は手を出さないように。
安定版リリースの1.8.xを使いましょう。

Changes in Ruby 1.9(英語)
eigenclass.org/hiki.rb?Changes+in+Ruby+1.9

8 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 18:08:10 ]
テンプレ少し整理しました
間違いとか重要なのに入ってないURLとかあればよろしく

9 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 18:27:06 ]
>>1

10 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 20:03:39 ]
>>1



11 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 20:05:11 ]
pc11.2ch.net/test/read.cgi/tech/1197120980/988
:デフォルトの名無しさん:2008/01/16(水) 15:05:44
質問です。2つの文字のコマンドラインで入力された2つの文字列のレーベンシュタイン距離(編集距離)を求めたいです。
ただし、kakasiとtakasaは通常なら距離が2になるのですが、3にしたいです。
要するに母音に対して変換が行われたときのみ距離を2倍にしたいです。
できれば〜倍かはコマンドラインから指定できるとなお良いです。
扱う文字はaiuなどではなく、kakisuなど子音を含むものとします。nnやnya等も考えません。
つまり配列にいれるなら奇数のとこに必ず母音が入るというものです。
通常の距離を求めるコードは以下にソースはっておくので、どなたか改造、アドバイスお願いします。


12 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 20:05:37 ]
pc11.2ch.net/test/read.cgi/tech/1197120980/989
:デフォルトの名無しさん:2008/01/16(水) 15:07:31
class String

def levenstein(other, ins=1, del=1, sub=1)
# ins,del,subは重みつきコスト
return nil if self.nil?
return nil if other.nil?
dm = [] # 距離行列

# 最初の行の値を初期化する
dm[0] = (0..self.length).collect { |i| i * ins }
fill = [0] * (self.length - 1)

13 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 20:09:32 ]
pc11.2ch.net/test/read.cgi/tech/1197120980/993
pc11.2ch.net/test/read.cgi/tech/1197120980/988:2008/01/16(水) 17:33:21
続きです。
#重要な比較
dm[i][j] = [
dm[i-1][j-1] + (self[j-1] == other[i-1] ? 0 : sub),
dm[i][j-1] + ins,
dm[i-1][j] + del].min
end
end


#行列の最後の値が文字列間のレーベンシュタイン距離となる
dm[other.length][self.length]
end
u1 = gets
u2 = gets

yyy = u1.levenstein(u2)
puts yyy
#yyyが距離になります。

end
よろしくお願いします。

14 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:15:57 ]
Syntax Error

15 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:36:05 ]
質問です。
マルチスレッドを使用して非同期のP2P形式チャットプログラムを作りたいのですが、
クライアント側から送信しないとサーバ側で送信できません(同期通信になってる)
非同期にする方法がイマイチわからないので、できればサンプル等を用いてご指導お願いします。
最終的に作りたいものは、ユーザ1がユーザ2に接続し、任意のタイミングで文字列を送受信する
プログラム(メッセンジャーみたいな感じ)です。よろしくお願いします。

Windows XP(mswin32)/1.6.8



16 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:43:11 ]
なんかRubyってよりプログラミング一般の質問ばっかりだな

17 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:43:43 ]
>>15
こんなのがある。
blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/123789
short codingになってて読みにくいので、自力でわかりやすく整形してくれ。

18 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 02:00:33 ]
Windows・Ruby1.8.6にて、指定EXE(notepad.exe等)のプロセスが一つ以上存在していたら、
それら全てを(正常)終了させる、といったコードはどうなりますか?


19 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 02:13:18 ]
tasklist taskkill

20 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 07:04:04 ]
質問させて頂きます。

実行環境:
 ruby: 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
 OS: Windows XP Professional Version2002 SP2
サーバ:






21 名前:20 mailto:sage [2008/01/17(木) 07:10:21 ]
すいません、間違って途中で書き込んでしまいました

実行環境:
 ruby: 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
 OS: Windows XP Professional Version2002 SP2
 サーバ:Apache2

内容:
 特定のURIから画像をひっぱてきて表示したいのですが、
 うまくいかない場合があります。

うまくいくURI
 requri = "www.google.co.jp/intl/ja_jp/images/logo.gif"
うまくいかないURI
 requri = "mt1.google.com/mt?v=ap.66&x=3&y=2&n=404&s=Gal&zoom=15"

上記URIに対し下記の処理を実行して画像を表示します。
require 'open-uri'
uri = URI.parse(requri)
str = uri.read
print 'Content-type: '+ str.content_type + "\n\n"
STDOUT.binmode #これやらないと画像などのバイナリ系が勝手に文字列エンコードされました。
print str

うまくいくURIの場合はCGIとして呼び出すと画が表示されますが、
うまくいかないURIの場合、 str = uri.read のところで
c:/ruby/lib/ruby/1.8/open-uri.rb:287:in `open_http': 403 Forbidden (OpenURI::HTTPError)
とエラーが返ってきます。
ブラウザのアドレス欄に うまくいかないURIを直接入力してジャンプした場合はFobiddenになりません。
cgi経由だとうまくいかないようです。

以上です。よろしくおねがいします。

22 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 07:49:36 ]
str = uri.read("User-Agent" => "unko")

23 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 08:07:21 ]
>>21
ttp://www.studyinghttp.net/status_code

24 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 08:40:40 ]
>but your query looks similar to automated requests
>from a computer virus or spyware application.

恐らくヘッダが足りないと見た

25 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 09:05:59 ]
>>21
あんまRuby関係ないな
HTTPステータスコードと「サーバから拒否される理由」を勉強するべき
アクセルとブレーキを物理的に踏めるからといって交通標識を知らずに車を公道で運転することはできない

26 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 09:14:50 ]
ユーザーエージェント付けてないだけでひどい言われようだな

27 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 09:21:02 ]
車の例が適切だけど、アクセルとブレーキの使い方を知ったからって言ってそのまま公道走られると迷惑だからな。
小手先の迂回方法だけ教えてもゴミ増やすだけだ。ステータスコードとその意味を知らないなんて致命的。
どうせどっかで学ばないといけないんだし早いほうがいい。

28 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 09:48:43 ]
>25,27
別にRFC2616見たからって、そこからヘッダが足りない、
という答えを導き出すことはまず不可能だと思うがね。
RFC的にはクエリ自体は合法なわけだし。
 

29 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 10:00:33 ]
>>21 の「403 Forbidden」からどうやって >>22 を導き出したのか知りたい。

30 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 10:01:24 ]
その通り。



31 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 10:22:13 ]
>>28
RFCを出すまでもなく、おまえは話の本質が分かってないわけだがw

32 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 10:38:11 ]
おいおい、こいつ話の本質とか言い出したぞ

33 名前:デフォルトの名無しさん [2008/01/17(木) 12:28:44 ]
こいつ話?

34 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 12:33:52 ]
>>28
何しに来たんだこいつは?

35 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 12:34:50 ]
ある種の勘違い君が、賢いことを書こうと背伸びすると
あんな風になる。

36 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 12:57:41 ]
>>35
たしかに >>25 >>27 あたりは本当に酷いな

37 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 12:58:58 ]
2chの程度の低い罵りあいは先に引いた方が勝ちだと思うんだぜ

38 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 13:12:55 ]
じゃあ俺が先に引く

39 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 13:14:58 ]
ざけんな俺の方が先に引く。

40 名前:デフォルトの名無しさん [2008/01/17(木) 13:15:13 ]
いや俺が先に弾く



41 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 13:16:25 ]
これが初級ネット板クォリティ

42 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 13:34:44 ]
>>37
ただ困ったことに、程度の低い罵り合いの多くは
「本人達は自分のレスが賢さの反映だと思っているから」続くんだよね。
俺は頭が良くて性格が悪い人間なんだ、そんな俺のレスは馬鹿の目から見れば
程度が低い罵りに見えるのだろう、でも本当は賢いから俺は言葉を巧みに操れるんだ俺にはわかる、ってね。

43 名前:デフォルトの名無しさん [2008/01/17(木) 13:43:37 ]
>>42
日本語で書き直してもらえませんか?

44 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 13:53:56 ]
そのまま読めずにいたほうが幸せだよ。
都合の悪いものを避けようとする君の本能は、いま凄く正しく動いた。

45 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 13:55:21 ]
>>43,44

>>42の例

46 名前:デフォルトの名無しさん [2008/01/17(木) 13:57:04 ]
めどくさがらずに書き直してもらえまんせか?

47 名前:デフォルトの名無しさん [2008/01/17(木) 13:57:13 ]
罵ってるようにはみえんが

48 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 14:02:15 ]
むしろ、じゃれあってる

49 名前:デフォルトの名無しさん [2008/01/17(木) 14:17:58 ]
めんどぐざらずに書き直しらほうがいいと思います?

50 名前:デフォルトの名無しさん [2008/01/17(木) 14:21:37 ]
実にRubyスレらしい流れ



51 名前:デフォルトの名無しさん [2008/01/17(木) 14:24:02 ]
>>42
そういうことを考えないとrubyを覚えることはできないのでしょうか?
難しそうで残念です。

52 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 14:31:54 ]
>42
最後の行が特に意味不明だ…
俺は…できる、俺にはわかる。って、自分のことが自分でわかるってなにそれw

53 名前:デフォルトの名無しさん [2008/01/17(木) 14:41:06 ]
>>52
おまえみたいなサル程度の脳じゃ理解できないんだろ

54 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 14:44:13 ]
>>52
--yydebug というオプションをつけると、構文解析の過程が表示されます。

55 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 14:47:23 ]
>>52
馬鹿が見ればこうなんだろうが実際はこうなんだ、という構図が、俺にはわかる、ってことだろ。
そもそも下の2行は、自分で一方的に自分の賢さを認めて完結しちゃってる自称おりこうさんの思考を
書いてるんだから、基本的に自己完結であるのは当然だ。

56 名前:デフォルトの名無しさん [2008/01/17(木) 15:23:06 ]
>>55
おまえがキモイのは分かったからw

57 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 15:45:27 ]
いいかげんこのRubyスレらしい流れってのも邪魔くさいよな。
S/N悪くなるだけで。
本気で言い争いしてるんだったら氏んでくれ。
煽り合いで退屈を紛らわしているんだったら他の場所へ行かないかな。

58 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 16:00:33 ]
>>57
そういうこと言うからいつまでも続くし、やめてもらえませんか?

59 名前:デフォルトの名無しさん [2008/01/17(木) 16:14:08 ]
結局、RFCがどうとかいうのは自慢だったんだなw

60 名前:前スレ988 mailto:sage [2008/01/17(木) 16:34:02 ]
>>14エラーはなかったです。。。



61 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 16:37:18 ]
>>59
kwsk

62 名前:前スレ988現11 mailto:sage [2008/01/17(木) 16:38:04 ]
と見せかけて12と13のスレの間にこれいれるの忘れてました。
すいません。
# 最初の列の値を初期化する
for i in 1..other.length
dm[i] = [i * del, fill.flatten]
end

# 行列に値を入れる
for i in 1..other.length
for j in 1..self.length


63 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 16:48:04 ]
>>11が何言ってるか解読できないのは俺がゆとりだから?

64 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:16:28 ]
自分が関係ないなということを瞬時に判断できないのはまあゆとりだからかもしれん

大学の授業とかで専門的に学ぶような事柄だから
そもそも知らないって人が見ただけで理解できなくても桶

65 名前:デフォルトの名無しさん [2008/01/17(木) 18:19:56 ]
恐らく63は専門的なことが分からないのではなく、11の日本語そのものが理解出来ないと言ってるのだと思う

66 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:23:53 ]
俺は分かったけど

たったひとつの専門タームが理解出来ないために
文章全体が意味不明のように感じるのはよくあること

67 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:26:21 ]
英語長文や古文読解のセンター試験みたいなもんだな

68 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:26:39 ]
$ hoge kakasi takasu
2

$ hoge takasu clinic
6

っていう結果が欲しいだけだろ


69 名前:前スレ988現11 mailto:sage [2008/01/17(木) 19:44:41 ]
>>68さま
その通りに近いでございます。sagu sageだったら”1”ってゆー結果が得られますが”2”ってゆー結果にしたいです。
この場合だとeを置換してuにしますが、母音を扱うため2になるということです。
母音は必ず偶数文字目に出るとします。(sasasaはありえるが、asaはありえない)

おそらく僕がゆとり世代だからというのがすべての原因です。。。すいません。

70 名前:前スレ936 mailto:sage [2008/01/18(金) 00:00:43 ]
>>>897 >>899
>Ruby関係なく、リソース開放などの処理するときはGCに依存しちゃダメだろwww
>明示的に書かないと・・・
>C#とかJavaとかでもそうだぜ?
>C#で言えば、Disposeみたいなの

すまん、おれがアホすぎる理由を教えてくれ。

Dispose なんか使わん。IDisposable 実装して、 usingでRAII だろ常考ということ?



71 名前:デフォルトの名無しさん [2008/01/18(金) 04:48:18 ]
下のコードをローカル環境で実行すると、必ず10桁で
某サーバにアップして実行すると、時々20桁になってしまいます。。。
ちなみにローカルとアップ先のサーバのRubyバージョンは1.8.5で同じです。
何故でしょうか?

cgi = CGI.new
cgi.out{sprintf("%010u", Time.now.to_s.hash)}

72 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 04:56:24 ]
いいじゃん別に20桁でも
オブジェクトIDは10桁でなければならないって決まってるわけでもないし

73 名前:71 mailto:sage [2008/01/18(金) 04:56:52 ]
あっ、今調べたらサーバのCPUがAthlon64でした。
これが原因でしょうか??

74 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 05:08:08 ]
8進数

75 名前:71 mailto:sage [2008/01/18(金) 05:35:31 ]
訳あって、10桁に揃えたいんです…
とりあえず、無理やりこんな感じで解決した事はしたのですが…
sprintf("%010u", [Time.now.to_s.hash].pack('L').unpack('L')[0])

76 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 07:12:17 ]
二回実行されてんじゃないの?

77 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 08:35:00 ]
String#hash再定義したら?


78 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 12:06:59 ]
x86-64版rubyとみた

79 名前:71 mailto:sage [2008/01/18(金) 18:04:42 ]
>>76
う〜ん、二回実行されている事はないと思うのですが…
>>77
とりあえず、>>75の方法で解決出来たので、これでやってみます。
>>78
そういうのがあるんですか。
もしそうならそれが原因でしょうね。

80 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 18:23:17 ]
Time.now.to_s.hashが時折返す負数が問題ならば
sprintf("%010u", Time.now.to_s.hash % 10000000000)
のようにすれば一応は収まるような気がする。




81 名前:デフォルトの名無しさん [2008/01/18(金) 19:12:19 ]
ちょっと確認させてください。

正規表現スレかプログラム初心者で問う事かもしれないと、
思ったんですが特定の書籍の記述についての質問なので
こちらでさせてくだされ。
「オブジェクト指向スクリプト言語Ruby(まつもと氏/石塚氏 共著)」の
78ページと81ページにある

/\w\w\w+,?\s*(\w\w\w)\s*[\d:]+\s*(\d{4})/

最初の英数字三文字の一回以上の繰り返しのあとにカンマがあります。
これはメタ文字ですか?
それとも「+と?」と「+?」を書き分けるためのものですか?

82 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:32:52 ]
>>81
メタ文字関係ない。まごうかたなき "," という文字。

メールヘッダなんかに使われる時刻文字列にマッチする正規表現だね。
"Fri, 18 Jan 2008 19:30:43 +0900"
みたいな文字列で、最初の部分に曜日があるんだけど、そこにマッチする。

83 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 20:14:23 ]
むしろカンマの後の?がメタ文字だな。

84 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 20:21:56 ]
>>82-83
つかえが取れました。感謝!

85 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 23:05:33 ]
つかえとっちゃいかんだろw

86 名前:11 mailto:sage [2008/01/19(土) 00:47:43 ]
わかりにくかったので・・・もう一度・・・
class String

def levenstein(other, ins=1, del=1, sub=1)
# ins,del,subは重みつきコスト
return nil if self.nil?
return nil if other.nil?
dm = [] # 距離行列

# 最初の行の値を初期化する
dm[0] = (0..self.length).collect { |i| i * ins }
fill = [0] * (self.length - 1)

# 最初の列の値を初期化する
for i in 1..other.length
dm[i] = [i * del, fill.flatten]
end

# 行列に値を入れる
for i in 1..other.length
for j in 1..self.length

87 名前:11 mailto:sage [2008/01/19(土) 00:48:21 ]
dm[i][j] = [
dm[i-1][j-1] + (self[j-1] == other[i-1] ? 0 : sub),
dm[i][j-1] + ins,
dm[i-1][j] + del].min
end
end


#行列の最後の値が文字列間のレーベンシュタイン距離となる
dm[other.length][self.length]
end
u1 = gets
u2 = gets

yyy = u1.levenstein(u2)
puts yyy
#yyyが距離になります。

end
よろしくお願いします。

88 名前:デフォルトの名無しさん [2008/01/19(土) 18:39:10 ]
クッキーを設定するcgiをhtml中にimgタグで記述して
そのcgiを、htmlと同一サーバ内に置いてhtmlにアクセスした場合は
問題なくクッキーが設定されるのですが
cgiを別サーバに置いて、外部呼出しにした場合
Mozilla系のブラウザでは問題ないのですが、IEの場合クッキーが設定されません…

以下がクッキーを設定するコードです。
Cgi = CGI.new
cookie = CGI::Cookie::new({'name' => 'TEST', 'expires' => Time.now + 200})
Cgi.out("cookie" => cookie){''}

89 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:00:55 ]
よくわかんねーけど
dm[i-1][j-1] + (self[j-1] == other[i-1] ? 0 : sub),
の行をどうにかすればいいような気がする


90 名前:11 mailto:sage [2008/01/19(土) 19:09:21 ]
>>89さま
dm[i-1][j-1] + (self[j-1] == other[i-1] ? 0 : sub),
dm[i][j-1] + ins,
dm[i-1][j] + del
のところをいじれば良い・・・
多分sub.ins.delそれぞれがij行列の奇数要素で行われた場合
sub * g1
gi = gets
みたいにできればいいかなって思うんですが、、、
うまくかけません。。。



91 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 23:53:36 ]
>88
Mozillaがセキュリティぶっちぎってるだけのような……
てゆーかXSSじみたことをさせようとしてるように見えるんだが
cgiを別サーバに置く理由は? 負荷とか実行権限ないとか?

92 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 00:08:33 ]
クッキーは全くの別ドメインからは読めないよね

www.example.comとhoge.example.comならできるけど、www.example.comとwww.example.jpではダメ
前者でIEが動作しないってのはIEのクッキー設定で厳しくなってるだけのような気もするが

93 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 00:17:10 ]
機種依存文字を含むファイル名のファイルを扱う方法ってありますか?

94 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 00:29:08 ]
お着せの方法はないから自前で何か考えるしかないねえ

95 名前:93 mailto:sage [2008/01/20(日) 00:42:18 ]
>>94
う〜ん、そうですか。
やっぱり機種依存文字を含んでる時点でもうよろしくないですよね。
なにかしらの回避策を考えてみます。どうもです。

96 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 00:53:34 ]
機種に依存したスクリプトでいいじゃん

97 名前:88 mailto:sage [2008/01/20(日) 01:38:05 ]
>>91
いや、別に悪意のある事をしようとはしてないです。
cgiを別サーバに置く理由は、ちょっと負荷が気になるので
メインのhtmlがあるサーバに置きたくないだけなんです。

>>92
一応、問題なく外部呼出しからクッキーが設定出来たFirefoxで見ると
クッキーのpathはcgiがあるサーバのものになってます。

もし下の様な場合
www.main.com/ck.html ←imgタグでcgiの呼び出しを記述した観覧用のhtmlがるURL
www.cgi.com/ck.cgi ←クッキーを設定するcgiのURL

"www.main.com/ck.html" にアクセスすると
Firefoxのクッキーのパスは "www.cgi.com/" になってました。

98 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 01:56:55 ]
>>91
Mozzilaは他のドメインのクッキー上書きできるのか?w

99 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 07:08:35 ]
>>97
「アクセスしたサイトからのクッキーのみ許可」が出来るブラウザって
結構あるし、自分はそれが出来るブラウザでは必ず設定してるけど、
そーゆー事する人には提供しなくてもいいサービスなの?

100 名前:デフォルトの名無しさん [2008/01/20(日) 12:37:48 ]
現在ruby.exeにスクリプトのパスを渡して実行しているのですが、
スクリプトをutf8で書いているため出力がutf8です。
スクリプト自体に変更を加えず、つまりruby.exeへの変数を弄くって出力を
utf8からShift_JISにすることは出来ないでしょうか?
宜しくお願いします _ _



101 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 13:04:42 ]
Ruby1.9なら、LANGをja_JP.ShiftJIS系統にすれば
default_externalがうまいこと変更されるんじゃないかな。

102 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 13:06:19 ]
>>101
>>7






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

前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