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

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

103 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 13:08:23 ]
>>100
難しいこと考えずに出力後にShift_JISに変換すれば用は足りると思われ



104 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 13:32:02 ]
>>103
そんな方法があるのか? あるなら俺も知りたい
Windows環境だとShift-JIS以外の出力が文字化けするのが……

105 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 13:33:57 ]
出力後->出力直前?

106 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 13:36:00 ]
C:\>ruby -r 'nkf' -e "puts NKF.nkf('--euc','日本語です')"
ニ・ワク・ヌ、ケ

C:\>ruby -r 'nkf' -e "puts NKF.nkf('--euc','日本語です')" | nkf -s
日本語です

標準出力に関してはこういうことでは…
ファイルに書き出したのがShift_JIS以外だってのはファイル探して変換かけるとか

107 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 13:49:35 ]
そういう時にこそIO.writeを書き換えるんだ

108 名前:デフォルトの名無しさん [2008/01/20(日) 16:23:03 ]
Structのvalueに対してmap! { |n| n[/\d+/}みたいなことをするにはどうしたらいいんでしょう?
#<struct
report="3件(3人)",
inheritor="1品",
comment="4件のコメントを読む">
上を下のようにしたいのですが。
#<struct
report="3",
inheritor="1",
comment="4">

109 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:05:52 ]
dog = Struct.new("Dog", :name, :age)
class Struct::Dog
  def map!(&block)
    if block
      size.times {|i| self[i] = block.call(self[i]) }
    end
    self
  end
end
d = dog.new("taro", 9) #=> #<struct Struct::Dog name="taro", age=9>
d.map! {|m| m*2} #=> #<struct Struct::Dog name="tarotaro", age=18>

110 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:25:02 ]
最近、StructがEnumerableだという事を初めて知った

dog = Struct.new("Dog", :name, :age)
d = dog.new("taro", 9) #=> #<struct Struct::Dog name="taro", age=9>
mapped = d.map {|m| m*2}
d = dog.new(*mapped) #=> #<struct Struct::Dog name="tarotaro", age=18>

111 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:39:01 ]
>>99
今のIEは、アクセスしたサイトからのクッキー以外はデフォでブロックしますね

112 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:41:50 ]
>>100-104
Windowsなら、UTF-8対応のターミナル使え
俺のお勧めは Poderosa
たぶん、puttyもいけるんじゃね?

113 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:57:23 ]
業者乙
.NETの2.0入れないと動かないようなターミナルなんぞ問題外のさらに外



114 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 18:08:01 ]
putty ってローカルで使えるの?
リモートでしか使ってない

115 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 18:18:11 ]
>>113
.NET 2.0入れてないプログラマなんぞ問題外のさらに外

116 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 18:18:51 ]
>>113
Poderosa 3 なら、.NET 1.0で動くよ

117 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 18:19:45 ]
113は.Net2.0が入らない環境しか利用できないんだよ。


118 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:05:36 ]
>>108
余計なお世話だけど
それらの値はStructに代入する前に数値型に直しておく方がいいと思う

119 名前:108 mailto:sage [2008/01/20(日) 19:13:48 ]
>>109-110
ありがとうございます。勉強になりました。

120 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:44:50 ]
Rubyist Magazine出張版 Ruby on Windows
ttp://www.amazon.co.jp/dp/4839926689
ちょっと気になる

121 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:49:20 ]
この人のるびま記事はすごく良かった
どの程度加筆されるかにもよるけど期待大

122 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:51:36 ]
ちょっとまて、もう発売されてるみたいじゃないか・・・
漏れのバカバカバカ

123 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:01:01 ]
立ち読みした限りでは「WindowsでRubyを使って楽をしたい」と考える人の最初の本として申し分ないように見える
載ってる例以外の事をしたいと考えたときに頼りになるかどうかはわからん

あとこれはどうでもいいんだが

def method_hoge arg

end

ってdefで引数カッコ省略の書き方をしてるのがどーにも性に合わん



124 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:02:43 ]
>>120
> Javaや.NET CLRなどの膨大なソフトウエア資産を活用する方法まで
mjsk

125 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:03:28 ]
JRubyとRuby.netか

126 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:15:59 ]
>>124
ttp://book.mycom.co.jp/support/e1/ruby_windows/
> 第1回 Win32OLEことはじめ
> 第2回 Excel
> 第3回 ADODB
> 第4回 Outlook
> 弟5回 Web自動巡回
> 弟6回 Windowsアプリケーションの自動操作
> 弟7回 他の言語でのCOM
> 弟8回 WMI
> 弟9回 iTunes
> 弟10回 Exerb
> 弟11回 RubyCLR
> 弟12回 RjbとApache POI
> 弟13回 JRuby

5回目から弟になってるのはコピペ検知用の罠か何かか

127 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:31:21 ]
弟に吹いた

Win32APIはあんまり書いてなさそうなのが残念だけど買っちゃおうかな
OLEとか情報集めるの大変だしね

128 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:06:13 ]
目次見て俺でも書けるような気がしてきた

129 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:24:29 ]
目次よりもサンプルスクリプト見たほうがいいな

130 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 22:06:51 ]
インスタンス変数が設定されているかどうかを調べるために
class Object
 def instance_variable_exist?(name)
  self.instance_variables.include?(name)
 end
end
としているんですけど、効率が悪いので、なんかもっといい方法あったら教えてください。



131 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 22:13:38 ]
instance_variable_defined? 使えばいいんじゃない?

132 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:10:07 ]
>129
そう思う奴のうち実際に書ける奴は半分以下
さらにそのうち本当に書く奴は1割以下
俺? もちろん最初の書ける奴、の上限で除外orz

133 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:10:33 ]
上限てなんやorz
条件な



134 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:15:48 ]
>>127
発売日に買って斜め読みした俺がコメント.
ExcelやOutlook,IEについては筆者セレクションによるメソッドやプロパティが
ちょろっと紹介されてる.ちょっと便利.

ただ,基本は限られた紙面に広範囲な情報を詰め込んでいて
個々のトピックについてはビックリするほどに紹介レベル.
ExerbRuntimeモジュールなんてメソッドすら載ってないよ.
でも,いつもexe化するのにしか使って無くて,そんなモジュールの存在を知らず
普通にdl/win32使ってexeのパス取得してた俺ショック.

WMIもPowershellの紹介とかで名前は聞いたことがあったし
デフォルトで実行パスにwbemが含まれているので気にはなっていたけど,使えるねこれ!
NICのIPアドレス取得するのにipconfig使ってて,一瞬,DOS窓が表示されるのがウザかったんだけど
WMIで解決しました.

上級者は必要ないかもしれないけど,初心者は買って損のない本.

135 名前:88 mailto:sage [2008/01/20(日) 23:40:34 ]
>>99
おとなしく同一サーバにcgiを置く事にしました。
お騒がせしてすんまそん。

136 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:46:14 ]
>>131
1.9からじゃないか?

137 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:59:07 ]
>>136
1.8.6 から追加されてる

138 名前:127 mailto:sage [2008/01/21(月) 00:02:51 ]
>>134
何という親切なコメント。ありがとね
そのあたりの知識も不足してる気がするし買うことにするよ

139 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:10:10 ]
>>134
何という親切なコメント。ありがとね
そのあたりの知識も不足してる気がするし買うことにするよ

140 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:12:50 ]
>>137
安定版という意味では変わらないか

141 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:41:00 ]
>>137
ホントだすまん。
Refeでしか確認してなかったよ。

142 名前:デフォルトの名無しさん [2008/01/21(月) 04:30:38 ]
は!

143 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 04:40:53 ]
503 対応してくれたみたいでありがとうございます><



144 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 09:10:19 ]
>>131
そんなのあるんだ。それってどのバージョンから定義されているかわかりますか。
わしがもってるマニュアルには載ってなかったので。

145 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 16:14:08 ]
1.8.6でこっそり追加だと思った
マニュアルには反映されてない可能性が


Emacs上でRubyスクリプト書いてる人はいる?

・rbファイルをruby-modeで読み込む
・普通に全部手書きする
・普通に別窓のコンソールでスクリプトを実行しエラーを目測
・普通に方向キー連打で該当行に到達
・普通に別起動のHTMLヘルプを見ながら修正

という、よく考えたらかなり無駄っぽい動きをしてる気がする俺をたしなめてくれ

146 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 16:43:12 ]
>>145
めっ

147 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 17:10:38 ]
> 普通に全部手書きする
Emacs自体に動的略語展開があるから、
一度読み込んだファイルに書いてある単語は2回書く必要はないかと
> 方向キー連打で該当行に到達
M-x goto-line

148 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:33:42 ]
Rubyを使って大量のファイルに置換作業を加えたいんだけどどんなことを勉強すればいいですか?


149 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:46:23 ]
>>148
それの期限を限りなく引き延ばすための技術や話術

普通に学んでる限りはそんなことをとりたてて聞いたりしないもんだ
聞かなきゃならないってことはRubyの基本やコンピュータの知識がなってないってことだから

150 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:51:43 ]
>>148
すばらしいアイディアがあるよ
itpro.nikkeibp.co.jp/article/COLUMN/20080104/290425/

151 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:03:08 ]
>>148
入門書何冊かチェックして
テキストフィルタの話してるのを買って読めばいいよ

152 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:13:18 ]
>>149
テキストエディタの正規表現を使って置換することはできるんですが、プログラミングに関してはパーです
>>150
ああ・・・でも変更を加えたいファイルはテキストベースなんです。
人間が簡単に読めるってのが売りのデータ形式なんで、データそのものを、62進数の文字列に変換 とかっていうのはいただけないです
>>151
わかりました

153 名前:デフォルトの名無しさん [2008/01/21(月) 21:05:30 ]
>>150
インデックスを使うっていうだけだよねこれ



154 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:25:14 ]
>>153
もう一度読み返してみたら”それらをファイル名の集合体として別途管理する”って書いてあることに気付きました

155 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:32:54 ]
FS(BTree系)+OSのディレクトリキャッシュで管理するか、
DBMSのテーブル(典型的にはBTree系)+DBMSのキャッシュで
管理するかの違いだけのような気がする

156 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:44:16 ]
>>150
スラドで袋だたきされてる奴だろw

157 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:46:22 ]
技術的には奇特人間大賞みたいなもんで別段問題ないっす
プレスリリースがアホっぽいので話題になってるだけ

158 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:52:33 ]
まぁでも、初心者に勧めるようなもんじゃないな。

159 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:18:02 ]
今ならPythonだな

160 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:21:27 ]
スラドの関連ストーリーがLyee関係になってて
可哀想だった・・・・そこまでひどくはないと思うし・・・・・

161 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:48:06 ]
Ruby検定がコンピュータベースで全国200個所で受験可能に − @IT
ttp://www.atmarkit.co.jp/news/200801/21/ruby.html

やったね!

162 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:50:03 ]
松江詣でをする理由が無くなったな

163 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:58:17 ]
Ruby検定なんてあったのか
そんなもん取ってなんの役に立つんだ?



164 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:02:39 ]
そりゃー、おめー、あれだー、現行の幾つか前のバージョンの仕様ならちゃんと理解してた、つーことをだな

165 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:12:17 ]
>>163
面接のときの話のネタになる、ということが言われております

166 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:26:29 ]
とりあえずここは初心者スレだ

167 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 11:25:47 ]
>>145
ruby-mode って組み込みクラスのメソッド補完とかできないの?
他のモードにはある C-c C-c での実行とか マニュアル表示とかも無理?

168 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 15:48:50 ]
すみません教えてください。
自分のIPアドレスを知るためのhttpクライアントを作ろうとしています。
普通のページは .get できるのですが、CGIの返してくるものを取れません。
以下のコードです(URLは架空)。

require 'net/http'
Net::HTTP.version_1_2
Net::HTTP.start('YourIP.com', 80) { |http|
response = http.get('/ip.cgi')
puts response.body
}

169 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 16:07:10 ]
>>168
require 'open-uri'
html = open('YourIP.com/ip.cgi').read
puts html

open-uriで逆に面倒になることが事前にわかってる場合以外はopen-uri使い続けれ
上記でhtmlが空になる、あるいはopenでエラーが出る場合はCGIが悪い

170 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:14:32 ]
>>156
URLキボンヌ

171 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:08:40 ]
# 最近rubyの質問がすくねえな
>>168
まず、以下の点について答えよ
・そのCGIはお前が書いたモノかどうか
・http.post での結果

172 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 22:12:18 ]
質問です。

Ruby 1.9以降で正規表現関係はどう変わりますか?
鬼車がどうこうというのは、あちこちで目にするのですが、
具体的な変更点が詳しく分かるサイトとかあれば教えてください。


173 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 22:50:45 ]
質問です
あるディレクトリにある全てのファイルの中身を見て処理を行いたい場合の定石などありますでしょうか?
自分は

Dir.entries("ディレクトリ名") do |file|
File.open("ディレクトリ名" + file)
なんだかの処理
end
end

とかやっているのですが、いまいちです

Dirでディレクトリ内部のファイル一覧を取得するとどうもStringにしてくれるみたいですが、Fileをうまいこと取得できたりしないのでしょうか?

ついでにCやJavaでインクリメントする場合
value++
とか書きますよね
Rubyだと++はないようですが、どうするのがいいのでしょうか?

よろしくお願いいたします



174 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 22:52:23 ]
value += 1 とするしかない

175 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 22:58:41 ]
>>173
Dir.glob("./hoge/*").each do |path|
File.open(path){|f|

}
end

おそらくこれが一番人気
他のDirもPathnameの各メソッドもビミョーに使い勝手が悪い

インクリメントは作者がやだって言ってるので>>174以外の方法はないよ






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

前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