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


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

RUBYの宿題教えてください。



1 名前:RUBY [05/01/24 22:17:37 ]
私は、ある大学の1年生です。今、情報処理の講義でRUBYを習っています。
その講義で、期末テストとして課題が出たのですが、プログラミング初心者の私には
全然歯が立ちません。締め切りは1/31です。プロも皆さんには簡単な
問題かもしれませんがどうか教えてください。
課題は以下の通りです。


75 名前:デフォルトの名無しさん mailto:sage [05/02/08 02:33:09 ]
入門用ならIDE無い方が良いと思うよ

76 名前:デフォルトの名無しさん mailto:sage [05/02/08 02:35:45 ]
>>73
HSP

77 名前:デフォルトの名無しさん mailto:sage [05/02/09 01:37:25 ]
>>76
HSPもいいのかも知れないなあ、と一瞬思ったけどgotoを使うのが基本の言語はダメだろ。
関数定義はないし構造体も無いのは無理。


78 名前:デフォルトの名無しさん mailto:sage [05/02/09 12:36:48 ]
関数定義はあるんじゃなかったっけ

79 名前:デフォルトの名無しさん mailto:sage [05/02/09 13:01:07 ]
目的しかないやっつけHSPと目的のないオナニー言語Ruby

80 名前:デフォルトの名無しさん mailto:sage [05/02/09 13:15:10 ]
Rubyに目的が無いんだったらJavaにもCにも無いと思われ

81 名前:デフォルトの名無しさん mailto:sage [05/02/09 13:51:44 ]
>>79
目的がないのではなく、多目的なのでは?

82 名前:デフォルトの名無しさん mailto:age [05/02/09 18:14:33 ]
もなさんRubyをどのような目的で使ってますかー?

83 名前:デフォルトの名無しさん mailto:sage [05/02/09 20:05:17 ]
CGIスクリプトとテキスト処理
あとはApolloを使ってGUIアプリケーションとか



84 名前:デフォルトの名無しさん [05/02/09 21:37:05 ]
無知蒙昧な2ちゃんねらにRubyのよさを知らしめるために日夜勉強しています。

85 名前:デフォルトの名無しさん mailto:sage [05/02/09 22:24:35 ]
>>84
Rubyを使うことが目的なのか?あふぉか?


86 名前:デフォルトの名無しさん [05/02/22 21:23:13 ]
[1]授業単元:Ruby
[2]問題文:オセロを作れ
[3]環境
 [3.1]OS:
 [3.2]コンパイラ:
 [3.3]言語:Ruby
[4]期限:23日昼
[5]その他の制限:CPU対戦は不要

87 名前:デフォルトの名無しさん [05/03/02 12:45:21 ]
age

88 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 02:25:44 ]
[1] byte code化
[2] M17N
[3] native thread対応

89 名前:デフォルトの名無しさん [2005/07/17(日) 16:31:23 ]
問題文自動生成システムを作りたいんだけど。。
熟語辞書の中から熟語をランダムに選択して、その語彙を含む問題文をコーパスから拾ってきて生成するシステム。
ちょっと手がつかないです(*_*)

90 名前:デフォルトの名無しさん mailto:sage [2005/07/17(日) 16:48:40 ]
大学の講座にRubyがあるのですか。

91 名前:デフォルトの名無しさん mailto:sage [2005/07/17(日) 22:33:49 ]
幸せな大学だなぁ。うちはPrologだったぞ。

92 名前:デフォルトの名無しさん mailto:sage [2005/07/21(木) 12:12:27 ]
Rubyももう十年ですから、大学講座に取り上げられて不思議は
ありませんね。

93 名前:デフォルトの名無しさん mailto:sage [2005/08/14(日) 08:22:48 ]
(1) test/ruby/test_lambda.rbのsyntax errorを直せ。 (20点)




94 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 08:01:08 ]
まだなんかヘンな気がするな…

95 名前:デフォルトの名無しさん [2005/09/18(日) 19:13:13 ]
age

96 名前:デフォルトの名無しさん [2005/10/12(水) 00:31:12 ]
学籍番号 名前 点数
の順に書かれているファイルを読み込んで、平均点と学籍番号順に並べ替えて表示するプログラムを作れといわれました。

97 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 01:07:08 ]
data = File.read(ファイル名).split(/\n/)
puts data.inject(0){|a,b| a+b.split[2].to_i}
puts data.sort_by{|a|a.split[0].to_i}


98 名前:デフォルトの名無しさん [2005/10/19(水) 09:08:52 ]
これだと平均じゃなくて合計じゃないですか?

99 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 01:00:36 ]
そうか。なら2行目は、
puts data.inject(0){|a,b| a+b.split[2].to_i} / data.length.to_f
といったところか。

100 名前:ハーピィ mailto:sage [2005/10/20(木) 01:06:07 ]
E・∇・ヨノシ <100ゲット♫

101 名前:デフォルトの名無しさん [2005/10/22(土) 21:44:51 ]
クラスNumericに引数なしのメソッドinteger?を再定義して
例えばp 5.0.integer?ならtrue、p 5.01.integer? はfalse
と整数を判別して出力するのを作れといわれました。
ほんの数行で出来るらしいのですがよろしくお願いします。

102 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 20:07:47 ]
Integer と Float で定義すりゃいいんじゃない?

103 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 20:47:56 ]
こんな感じ?"ほんの数行"かどうかは分かりませんが。
"判別する"というのを条件文で実装する必要はないんですよね?

> class Integer
> def integer?
> return true
> end
> end
>
> class Float
> def integer?
> return false
> end
> end




104 名前:デフォルトの名無しさん mailto:sage [2005/10/28(金) 11:17:45 ]
>102-103
それって 5.0.integer? が false になるし。

class Numeric; def my_int?; self.ceil == self; end; end
てところだろう。本質的には一行。

ちなみに Ruby にもとからある integer? は、 Numeric が常に偽を返し、
Integer でオーバーロードして常に真を返すようにしている。つまり103と同
じようなものになっている。


105 名前:デフォルトの名無しさん mailto:sage [2005/11/12(土) 20:10:44 ]
誰か簡単な宿題を出してくれよ

106 名前:デフォルトの名無しさん [2005/11/21(月) 21:15:42 ]
こんばんは、今日Rubyを学んでいる授業で課題を出されたのですが
完成しなくて困っています。
自分はプログラムではRubyが始めて学ぶ言語であり、
プログラミングに関しては全くの初心者です。
↓の詰まっているところに答えて頂けるとありがたいです。

魔方陣をHTMLの表形式で出力
各行、各列の和もその表の中に納める←ここが出来ません…


原文が長いので先に結果
21 39 8 33 2 27 45 175
30 6 24 49 18 36 12 175
46 15 40 9 34 3 28 175
13 31 7 25 43 19 37 175
22 47 16 41 10 35 4 175
38 14 32 1 26 44 20 175
5 23 48 17 42 11 29 175
175 175 175 175 175 175 175
Completed(0)

そして…
f.print "<table border=1>\n"とf.print "</table>"の間で四苦八苦です。
175の和の列を表に納めたいのですが、やり方が分かりません・・・。
教えていただければ幸いですm(_ _)m

107 名前:原文 [2005/11/21(月) 21:16:55 ]
n=7
a=Array.new
for i in 1..n
a[i]=Array.new
end
for m in 0..n-1
for k in 0..n-1
i=(k+m)*2+(n+1)/2+2
j=k-m+(3*n+1)/2
a[(i-1)%n+1][(j-1)%n+1]=n*m+k+1
end
end
f=open('g:\kadai.html',"w")


108 名前:原文続き [2005/11/21(月) 21:17:48 ]
f.print "<table border=1>\n"
for i in 1..n
f.print "<tr>\n"
x=0
for j in 1..n
printf "%4d",a[i][j]
f.print "<td>",a[i][j],"</td>\n"
x+=a[i][j]
end
printf "%4d\n",x
end
for j in 1..n
x=0
for i in 1..n
x+=a[i][j]
end
printf "%4d",x
f.print "</tr>\n"
end
print "\n"
f.print "</table>"
f.close

109 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 23:24:14 ]
# 足し算の結果もresultに入ってるなら以下のようにやるのが楽かなー
puts '<table>'
result.each{|row|
puts '<tr>'
row.each{|cell|
puts "<td>#{cell}</td>"
}
puts '</tr>'
}
puts '</table>'



110 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 23:34:17 ]
# >>107-108のを活かすならこんな感じ。
# 動作確認はしてないので悪しからず御了承を。
File.open("result.html"){|f|
f.puts '<table border="1">'
a.each{|row|
f.puts '<tr>'
sum = 0
row.each{|cell|
sum += cell
f.puts "<td>#{cell}</td>"
}
f.puts "<td>#{sum}</td>"
f.puts "</tr>"
}
f.puts "</table>"
}

# 変数名はとりあえず意味のわかるように単語で付けた方がいいよ。
# アルファベット一文字の変数名はかなり読みにくいので。

111 名前:106 [2005/11/22(火) 00:42:43 ]
>>109-110
ご親切にありがとうございましたm(_ _)m
とっても参考になりました。

最初、手続きオブジェクトというものを知らなかったために
書いてあることが分かりませんでしたが、授業の教科書の先読んで
理解出来たように思います。

変数名を単語でというのは、
お二方のrowやcellと書いてある部分の事ですよね?
伝える時はそう書くのですね。
勉強になりました(^^;A

112 名前:デフォルトの名無しさん [2005/11/28(月) 22:02:26 ]
>>106と同じ…(略)
自分もrubyが良く分かっていなくて参考書を買って1からやり直している途中です。
ですが課題の締め切りに間に合わなそうなのでどなたかお願いしますm(__)m
下のプログラムでa-zすべてのアルファベットの頻度を調べなければならないのですが、
for c in "a" .. "z" do
end
を最初、最後に入れ、bをcに変えても正しくされないのですがどこがおかしいのでしょうか。

t = File.read( "test.txt" )

u = t.split(//) # tを文字に分解
w = t.split # tを単語に分解

# 文全体にに文字B又はbが含まれる頻度
countc = 0
for x in u do
countc += 1 if x =~ /b/i
end

# 単語の先頭に文字B又はbが含まれる頻度
countw = 0
for x in w do
countw += 1 if x[0,1] =~ /b/i
end

113 名前:デフォルトの名無しさん mailto:sage [2005/11/28(月) 22:45:12 ]
何はともあれおまえの言っていることがそもそもわけわからん。なにをどう試したんだ。




114 名前:デフォルトの名無しさん mailto:sage [2005/11/28(月) 22:49:27 ]
アフォには聞いてませんから

115 名前:デフォルトの名無しさん [2005/11/28(月) 23:14:55 ]
>>112です。

t = File.read( "test.txt" )

u = t.split(//) # tを文字に分解
w = t.split # tを単語に分解

for c in "a" .."z" do


# 文全体にに文字B又はbが含まれる頻度
countc = 0
for x in u do
countc += 1 if x =~ /b/i
end



# 単語の先頭に文字B又はbが含まれる頻度
countw = 0
for x in w do
countw += 1 if x[0,1] =~ /b/i
end

# 出力する
printf "B又はbが本文に含まれる頻度は%4d回、単語の先頭に含まれる頻度は、%4d回でした。\n" ,c.upcase, countc , countw

end


…としたんですがエラーが出てしまいます。。

116 名前:113 mailto:sage [2005/11/28(月) 23:25:24 ]
んじゃ説明すると、

全てのアルファベットの頻度を調べなければならないのだから、結果を保持す
るのに52個の配列を用意する必要がある。ふつうは26要素の配列かハッシュを
2つ使うだろう(112の例で、文字用と単語用の2つの変数を用いたように)。

マッチするのに必要な正規表現は、112ではベタ書きしているが、これもa-zの
それぞれで書換えなければならないだろう。

当然、a-zで「カウントアップする変数」と「マッチさせるための正規表現」
をそれぞれ切り替えるように適切に繰り返しをしなければならないだろう。


このどれもやっていないようだから「何をやってるかわからん」と思ったんだが、まあいいや。

117 名前:113 mailto:sage [2005/11/28(月) 23:31:51 ]
おっと入れ違った。

115はそもそも、 for c in "a" .. "z" do に対応する end がないので実行で
きない。

115の方針を貫く場合、結果を保持する変数は2つで良いままの可能性が高い。
しかし相変わらず b の数しか数えてないのだから、このままでは結果が正し
く表示されない。正規表現をそれぞれで(cに依存するかたちで)書き換える必
要がある。

それから結果の出力では「Bまたはb」がべた書きだから printf がヘン。%表
記の箇所と引数の数が一致してないよ。

……というところかな。


118 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 09:29:36 ]
答えてやりたいが今から大学だ

119 名前:504 [2005/11/29(火) 21:37:25 ]
printfが良く分かっていないのですが、
t = File.read( "test.txt" )

u = t.split(//) # tを文字に分解
w = t.split # tを単語に分解

for c in "a" .."z" do

# 文全体
countc = 0
for x in u do
countc += 1 if x =~ /c/i
end


# 単語の先頭
countw = 0
for x in w do
countw += 1 if x[0,1] =~ /c/i
end

# 出力する
printf "%4d又は%4dが本文に含まれる頻度は%4d回、単語の先頭に含まれる頻度は、%4d回でした。\n" , c , c.upcase, countc , countw

end

でもおかしいですよね(^_^;)

120 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 22:45:43 ]
cとかc.upcaseは文字列なんだから%sを使え
まぁしかし Ruby では埋め込み式を使う方が一般的な気はするけど


121 名前:504 [2005/11/29(火) 22:59:05 ]
エラー出ませんでした!
しかし全部0回でした(笑)
勉強しなおしてきますm(__)m

122 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 23:11:04 ]
あーだからさ、/c/i が「cという一文字に(大文字小文字は気にせず)一致する」
正規表現なわけだよな? /b/i なら「bという〜」。そこのところはいいか。

今の君のコードは26回、毎回「c」だけカウントしているわけだ。それじゃ意味がない。
1回目は「a」、2回目は「b」、3回目は「c」……26回目は「z」になるように、しないといけない。

どうやってそれを実現するかはさすがに自分で考えてくれい。やり方はいろい
ろあるけど、何が授業内容に則した方法なのかまではオレは知らん。


123 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 02:17:24 ]
プログラミングの入り口でループで躓いて諦めるひとを何人も見てきた



124 名前:504 [2005/11/30(水) 22:10:36 ]
cは変数で、その変数cに"a"から"z"までを代入してることにはならないんですか?orz

125 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 22:54:11 ]
だってたとえば112の元々のコードだったら /b/i は「bという変数の中身」じゃ
なくて「bという文字にマッチする正規表現」じゃん。その判断をどうやって
するわけ?

たとえばだ、「bという変数が存在したらその中身、存在しなかったらbという
その文字」と動くとしようか。すると、ちょっと変更するだけでプログラムの
挙動がえらい変わって大変なことになるし、たとえばbという変数が存在する
ときに「bという文字にマッチする正規表現」をどう書いたらいいかわからな
いじゃん。
そういう不都合があるから、ただそのまま変数名を書いてもそれを変数名とは
認識しないわけ。

で、正規表現に変数の値を埋め込むにはそれなりの書き方をしないといけない。
もしくは正規表現をやめるかだな。
教科書か何かを読み直してよく考えろ。
たとえば for x in u の x はどういうデータで何を調べればいい?とかな。


126 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 22:54:21 ]
同時に並列動作を望むなら
ベクトルコンピュータ使ひ給へ

127 名前:504 [2005/12/01(木) 01:28:05 ]
正規表現を使わない方法で出来ましたm(__)m
ホントすみませんでした(^^;)

128 名前:デフォルトの名無しさん mailto:sage [2005/12/05(月) 20:21:40 ]
北大の課題ばかりのスレだなぁ

129 名前:デフォルトの名無しさん [2005/12/19(月) 16:44:49 ]
誰かこのプログラムに注釈付けていただけませんか。何が起きてるか全くわかんないです。
def boyer_moore_search(text, pattern)
printf("text.length = %d, pattern.length = %d\n", \
text.length, pattern.length)
skip = Array.new
for k in 0 ... 256 do
skip[k] = pattern.length
end
for k in 0 ... pattern.length do
skip[pattern[k]] = pattern.length - k - 1
end
#続く

130 名前:129 [2005/12/19(月) 16:45:19 ]

i = pattern.length - 1
while i < text.length do
j = pattern.length - 1
while text[i] == pattern[j] do
printf("a: i = %d, j = %d\n", i, j)
if j == 0 then
return i
else
i = i - 1
j = j - 1
end
end
if skip[text[i]] > pattern.length - j then
i = i + skip[text[i]]
printf("b: i = %d, j = %d\n", i, j)
else
i = i + pattern.length - j
printf("c: i = %d, j = %d\n", i, j)
end
end
return -1
end

printf("Match position = %d\n", \
boyer_moore_search("irohanihoheto","ohe"))


131 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 03:42:30 ]
>boyer_moore_search
この名前から何か連想できないならアルゴリズムの教科書でも一から読み直した方が・・・

132 名前:デフォルトの名無しさん [2005/12/20(火) 11:37:17 ]
Rubyじゃないけど、こことか参考になるかも

ttp://www2.starcat.ne.jp/~fussy/algo/algo7-4.htm

Ruby で説明しているところは自分でググって。

133 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 19:02:32 ]
つーヵこのスレって存在自体おかしくね?
RUBYで宿題?ナニソレ。

>私は、ある大学の1年生です。今、情報処理の講義でRUBYを習っています。
こんな学校ほんとに存在するのか?
いきなりRUBY教えるって、その講師は真性のアホじゃないのか?



134 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 20:11:38 ]
はいはいわろすわろす

135 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 21:21:51 ]
Rubyだと何でアホなの?
自分はFORTRANだったけど。

136 名前:デフォルトの名無しさん mailto:sage [2005/12/22(木) 01:57:20 ]
>>128
に本当っぽいことが書いてある…と言ってみるw

137 名前:デフォルトの名無しさん mailto:sage [2005/12/22(木) 20:53:07 ]
北大ってどんなところなの?


138 名前:デフォルトの名無しさん mailto:sage [2005/12/22(木) 21:36:03 ]
北のほうにある

139 名前:デフォルトの名無しさん [2006/01/10(火) 21:50:54 ]
お願いします

問題
次の足し算を満足する0〜9の相異なる数
A,E,G,L,M,N,O,P,R (但し、A,L,Oはゼロではない)
の組を求めよ(答えは三通り)

  APPLE
+) LEMON
----------
 ORANGE

1.O=1
2.N=0
3.L=2から8 また、G=L+1で桁上がりはない
4.P=2,3,4,6,7,8 でM=10-P
 PもMもL,Gに等しくない
5.Eは2から9でL,G,P,Mに等しくない
6.P+E+1が10以上のとき
  A=P+E+1-10
  A+L+1 が10未満ではダメ
  R=A+1-10
 P+E+1が10未満のとき
  A=P+E+1
  A+Lが10未満ではダメ
  R=A+L-10
7.AはO,N,L,G,P,M,Eに等しくない
8.RはO,N,L,G,P,M,E,Aに等しくない

140 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 21:55:55 ]
アミノ酸配列と円周率が楽だからそんなのやめなさい

141 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 23:30:13 ]
>>139
できた。結局、なにがわからんの?
楽して書きたいとかなら、地道にひとつずつ条件を書いていくしかないと思われ。


o = 1
n = 0

a_t = 1..9
e_t = 0..9
g_t = 0..9
l_t = 1..9
m_t = 0..9
p_t = 0..9
r_t = 0..9

def different_all?(key, array)
return array.all?{|v| v != key}
end




142 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 23:32:00 ]
count = 0
a_t.each{|a|
e_t.each{|e|
next unless different_all?(e, [a, o, n])
g_t.each{|g|
next unless different_all?(g, [e, a, o, n])
l_t.each{|l|
next unless different_all?(l, [g, e, a, o, n])
next if l + 1 > 10
next unless g == l + 1
p_t.each{|p|
next unless different_all?(p, [l, g, e, a, o, n])
m_t.each{|m|
next unless different_all?(m, [p, l, g, e, a, o, n])
next unless m == 10 - p
r_t.each{|r|
next unless different_all?(r, [m, p, l, g, e, a, o, n])
apple = 10000 * a + 1000 * p + 100 * p + 10 * l + e
lemon = 10000 * l + 1000 * e + 100 * m + 10 * o + n
orange = 100000 * o + 10000 * r + 1000 * a + 100 * n + 10 * g + e


143 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 23:34:47 ]
if orange == ( apple + lemon )
count += 1
puts 'A = ' + a.to_s
puts 'E = ' + e.to_s
puts 'G = ' + g.to_s
puts 'L = ' + l.to_s
puts 'M = ' + m.to_s
puts 'N = ' + n.to_s
puts 'O = ' + o.to_s
puts 'P = ' + p.to_s
puts 'R = ' + r.to_s
puts '-----'
end
}
}
}
}
}
}
}
puts count




144 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 23:36:52 ]
いんでんとなんかはてきとうに直してくれ。


145 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 20:33:59 ]
ありがとうございます
何がわからないというか、何もかもわからなくて

146 名前:デフォルトの名無しさん [2006/01/12(木) 12:22:33 ]
階乗を求めるプログラムを教えてください

147 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 20:39:37 ]
>>146
死ねマルチ

result = 1;(1..5).each{|i| result *= i}; p result

148 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 09:01:44 ]
自然数 N が与えられたとき、
1 から N までの数字を N 個並べる組み合わせをすべて
列挙するプログラムは Ruby で書くとどうなりますか?

例えば N = 3 のとき
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
となるようにです。
よろしくおながいします。


149 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 22:11:29 ]
>>148
何がわからないのかちゃんと説明できたら教えてやる。
一応、プログラムは出来た。
N=4の出力 4! = 24 なので合ってるはず。
[1, 4, 3, 2][3, 4, 1, 2][2, 1, 3, 4][1, 4, 2, 3]
[1, 3, 4, 2][3, 2, 4, 1][4, 2, 3, 1][2, 4, 3, 1]
[2, 3, 1, 4][4, 1, 2, 3][3, 2, 1, 4][1, 3, 2, 4]
[1, 2, 3, 4][4, 2, 1, 3][1, 2, 4, 3][3, 1, 4, 2]
[4, 3, 2, 1][2, 4, 1, 3][2, 3, 4, 1][3, 4, 2, 1]
[4, 1, 3, 2][4, 3, 1, 2][2, 1, 4, 3][3, 1, 2, 4]












150 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 00:06:55 ]
例えば、

1: methodA()
2: methodB()
3: methodC()

の3行からなるprogram.rbがあって、methodB()の処理が5秒たっても終わらなかったら、
methodB()の処理をタイムアウトして(飛ばして)、次行methodC()への処理へと
いくという風にするにはどうしたらよいでしょうか?
timeout()を使っても、program.rb全体が終了してしまいうまくいきません。
あくまでmethodB()だけをタイムアウトして、program.rbの処理自体は続行させたいのです。


151 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 00:21:50 ]
timeout が TimeoutError を送出するんだから rescue で受ければいいんじゃないの?

152 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 00:44:27 ]
宿題です。危機です。
ruby/tkで迷路を作成して脱出するプログラムを
どなたか作ってくださいorz

153 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 01:17:49 ]
ここは「教えてください」というスレッドであって「代行してください」というスレッドではないと思うのだが。




154 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 02:09:17 ]
勘違いしてましたorz
多分このスレを立てた人と同じ大学です、自分も締め切りが迫っててピンチです。
迷路を作成して、脱出するプログラムを作りたいのですが、
@座標(1,1)(左上隅)に最初の通路空け、
A上下左右で、2マス進んだところがまだ通路になっていない場所
(複数ある場合はランダムに選択)
B穴掘り可能な方向がなかったら、そこまでの道を2マスだけ逆戻り。
逆戻りできない場合完成。
という感じにするのは分るのですが、ruby/tkでどうやってそれを表現したら良いのかが
わからないのですが。。

155 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 07:26:48 ]
テキストベースで組んでみてから、Ruby/Tkでやれば?

156 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 11:18:09 ]
テキストベース?のは出来たんですが…orz

157 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 17:07:54 ]
アルゴリズムを聞いてるのかな

158 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 21:55:50 ]
ruby/tkでのやり方が知りたいです!

159 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 22:04:17 ]
知りたいなら自分で勉強しような。
テキストべースのままでいいじゃん。

160 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 23:23:47 ]
課題的に Ruby/tk が必須なら教科書に必要事項は絶対書いてあるからちゃんと読め。
必須じゃないなら自分である程度の勉強をしろ。
そういうことをしてもわからなかったら、必要な事項だけ質問するべし。漠然
と知りたいと言われても誰も答えられないよ。


161 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 00:40:36 ]
スレタイに宿題って入ってたら丸投げだとオレも思ってた

162 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 00:42:27 ]
問題についてもっと詳しい情報がなけりゃだれもやらんぞ。

連立方程式がわからないんですけどおしえてもらえませんか?

っていってるのと同じ。

163 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 00:48:45 ]
自分ではココまで頑張ったってとこを教えれ



164 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 00:46:34 ]
XMAX = 80
YMAX = 24
MAXSITE = (XMAX * YMAX / 4)
row = Array.new(YMAX+1).fill(0)
map = Array.new
(XMAX+1).times { map.push(row.dup) }

for j in 2..(YMAX-2)
for i in 2..(XMAX-2)
if (map[i][j] == 1)
putc(?@)
else
putc(?\s)
end
end
putc(?\n)
end
exit 0
全部入らなかったので最初と最後うpしましたが…

165 名前:デフォルトの名無しさん [2006/01/22(日) 22:58:42 ]
age

166 名前:デフォルトの名無しさん mailto:sage [2006/01/23(月) 12:14:25 ]
で、tkについてはどこまで頑張ったのか?

167 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 21:27:35 ]
きっと月曜提出だったんだよ、ということで時間切れ。
つかアルゴリズム?の宿題で画面表示必須って意味あるの?

168 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 00:08:12 ]
>>166
def draw(cw,cs,xs,ys)
for i in 1.. xs
for j in 1..ys
if @a[i][j]&0b0001!=0
TkcLine.new(cw,cs*i-1,cs*j,cs*i+cs,cs*j, "tags"=>"tag")
end
if @a[i][j]&0b0010!=0 && i !=xs
TkcLine.new(cw,cs*(i+1)-1,cs*j,cs*(i+1)-1,cs*(j+1), "tags"=>"tag")
end
end
end
TkcLine.new(cw,cs,cs,cs*(xs+1),cs,cs*(xs+1),cs*ys,"width"=>2, "tags"=>"tag")
TkcLine.new(cw,cs,2*cs+1,cs,cs,cs*(ys+1),cs*(xs+1),cs*(ys+1),"width"=>2, "tags"=>"tag")

こんな感じです(^_^;)

169 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 01:11:32 ]
きたねーコードだな。
で、何がわからないんだっけ?

170 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 01:48:02 ]
>>154
です、、
とゆーかもう完全に意味がわかりませんorz

171 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 11:13:10 ]
少なくとも意味がわかってから質問するように。

172 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 00:57:40 ]
迷路の線は描けたのですが、道順(脱出経路)の線をひくことができません。。

173 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 19:57:14 ]
足を踏みいれた格子の色を変えていく。
ただし、それぞれの格子で、どの辺から格子に入ったかを記録しておき、
その辺から再び出る(=戻る)なら格子の色を元にもどす。



174 名前:デフォルトの名無しさん [2006/02/02(木) 20:25:18 ]
a,bが互いな素であるときaxをbで割ったあまりが1になるようなxを1つ出力するプログラムを書きなさい。
という課題が出ました。
互いに素というのは作れるのですが、後半部分ができません。
だれか教えてください。お願いします。


175 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 21:00:23 ]
そのできた部分まで見せてくれるとやりやすいかもしれない






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

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

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