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


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

Ruby 初心者スレッド Part 22



1 名前:730 [2008/09/15(月) 17:25:21 ]
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。

   【Ruby1.9 は不安定な開発版であり初心者には全く向きません】
   【最新安定版の Ruby1.8.7 の使用をお勧めします】
    ※1.8.7 は1.8 と 1.9 の橋渡しをするためのリリースです。
      1.9 の新機能の一部が利用可能なので初学者にお勧めです。
    ※ただし十分安定しているとは言えないので
      プロダクション環境での利用にはお勧めしません。

関連スレやURLは>>2-8あたりを見てください。Ruby on Railsの質問は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を読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

231 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 14:28:43 ]
>>230
あなたはC++、Python、Javaを10年くらいやりこんで、
それで今回、rubyに入ってきたような人なの?

かなりプロフェッショナルな印象を受けるが。

232 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 14:42:40 ]
>>228-230
主張はだいたい合ってるし、正しい。
ただ、この問題がRubyで簡単に解決できるかというと、たぶん実装の都合で難しいんじゃないかな。
Pythonのmanglingだっけ、あれが欲しいとは思うんだけど、class_evalとかinstance_evalとかあるRubyでPythonと同じように実装可能かと言われると、分かんない。
ただ、manglingは(不細工ではあるけど)手動でできるので、mangling程度の隠蔽でよければ、手動で頑張ればできるということになる。手動だとほんと不細工だけど。

あとは、Rubyに限らずスクリプト系はどれもそうだけど、「問題があったら直せばいい」という精神をもつしかないと思うよ。
たしかにかぶる可能性はあるけど、そんなにしょっちゅうかぶることはないし、かぶったらかぶったで直せばいい。そんな感じ。


233 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 14:53:42 ]
質問です。

rubyを始めようと
ttp://rubyforge.org/frs/?group_id=167&release_id=26150
からデスクトップにダウンロードしようとしたところ、99%でなぜか止まってしまいます。
cpuが100%になり、ブラウザが固まってしまいます。
186-26を落とそうとしても止まって「応答なし」の状態になってしまいます。
ダウンロードツールでもツールが固まってしまいました。
試しに他のサイトでダウンロードを試すと出来ました。

ruby186-27_rc.exeが取れません。

ブラウザはsleipnir2.8 OSはxp sp3です。
これは僕のPCの問題なのでしょうか?よろしくお願いします。


234 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 15:26:38 ]
RoRってwebrickを作動させておけば
アパッチいらないんじゃん。

なんでアパッチインストールさせたのさ?

235 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 17:26:47 ]
>>233
exeファイルをダウンロードしたから、それをアンチウィルスソフトがチェックしているんじゃない?
アンチウィルスソフトを一時的に無効にしてみるとか。

236 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:17:17 ]
>>227
Java の IDE とアプリケーションサーバがいくつあるか調べてから文句言ってくれ。

237 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:21:36 ]
>>229
以下を守れば大丈夫。
・自分の足を打ちがちな馬鹿にはコードを触らせない
・Railsのフレームワーク部分のコードは一通り読む

238 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:26:43 ]
「エディターが3つ」の意味がわからない

239 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:31:05 ]
>>238
エディターズレビューとかあんじゃん



240 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:37:20 ]
音声データをデジタル化するときに
周波数16kHzだから
".unpack("s*") をつかって数値化はできたんだけど
数値が25000くらいあって。

その単語は1.3秒くらいなんだけど
単位がわからなくて。わかるひといますか?

241 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:41:32 ]
> 周波数16kHzだから.unpack("s*") をつかって数値化
日本語でおk
てか周波数と整数のBit数ってなんか関係あるん?
書いててなんかありそうな気もしてきたが、たぶん関係ないんじゃね?

というかそういうバイナリ扱うのはRubyは不得意なんだが外部プログラム使えないのか

242 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:43:38 ]
まあこれ完全に専門的な内容だから
知らない人かなり多いのかな。。。

243 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:46:22 ]
まあRubyをメインにやるような人はふつう知らない
外部プログラム使えというアドバイスはけっこう正しいかと

244 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:47:27 ]
デジタル化されてんじゃん

245 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:48:43 ]
このデータをフーリエ変換しないといけないんだけど
単位がわからなくてはね。

246 名前:デフォルトの名無しさん [2008/09/24(水) 21:49:30 ]
240はアホすぎて自分が何をやりたいのか説明できてない

247 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:52:22 ]
スレ違い

サウンドプログラミング4
pc11.2ch.net/test/read.cgi/tech/1185340076/

248 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:53:39 ]
音声データから
特徴抽出したい。
これは普通ツールによって行われるが
今自分で作ってる

以上

249 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:55:39 ]
247のスレで聞くからもういいです。
アホ扱いされるのなら



250 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:56:41 ]
RIFFだったら www.kk.iij4u.or.jp/~kondo/wave/ の通りかと。
フォーマットの仕様読んでわからないなら諦めたほうが。

251 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:57:16 ]
まあ Ruby はあんま関係ないな
そのファイル形式の構造の問題だ

252 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 22:58:25 ]
Rubyとは関係ないかもしれないのですが、Rubyで実装しているのでここで質問させてください。

普通、ウェブアプリで検索とかのリクエスト送って、リクエストの結果を
送ったページと同じページに表示させる場合、リクエストを送るのは同じページのメソッドにしたほうがいい?

なんか一緒に作ってる人が
Aページ⇒Bメソッド⇒Aページのメソッドって感じにしててどうなのかな?って思ったんです

なんかわかりにくくてごめん

253 名前:50 mailto:sage [2008/09/24(水) 22:58:28 ]
>>231
プロフェッショナルとは恥ずかしくてとても言えませんが、経歴と年数はだい
たい当たっています。


>>232
大変参考になりました。ありがとうございます。

instance_eval等ですか。なるほどこれがあると、マングリングとの両立は難
しい気がします。念のため確認しましたが、Pythonには instance_evalに当た
る機能はないようです。

内部プロパティ名のコーディング規約は、なるほど手動マングリングが、不恰
好ですが現実的ですね。

最後に、名前は早々衝突しないし、もし衝突したなら直すというのが、Rubyコ
ミュニティ(というかスクリプティング界隈)の精神なのですね。すると自動
テストが、推奨というより必須になるわけですね。当たり前のことですが、改
めて目からうろこが落ちました。

質問してよかったです。ありがとうございました。

254 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 23:00:29 ]
Rubyとは関係ないかもしれないのですが、Rubyで実装しているのでここで質問させてください。

普通、ウェブアプリで検索とかのリクエスト送って、リクエストの結果を
送ったページと同じページに表示させる場合、リクエストを送るのは同じページのメソッドにしたほうがいい?

なんか一緒に作ってる人が
Aページ⇒Bメソッド⇒Aページのメソッドって感じにしててどうなのかな?って思ったんです

なんかわかりにくくてごめん

255 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 23:01:25 ]
2回送ってしまった、スマン

256 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 23:03:32 ]
>>254
Ruby関係ないしそもそもそのへんは設計どうでもいいからわかりやすいほうにしろ
メソッドって言葉の使い方間違ってねーか?まあいいや

257 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 23:05:17 ]
>>246
どっちかというと基本から何をどうすればいいのか分かっていないのでは。

>>240
音声圧縮についてのことでもなさそうだし、普通のPCMの話だとおもうけど
音声がどのようにしてデジタルに符号化されているのかを理解していれば、
単位が分からんとか言い出すはずがないんだが。

データサイズ[bit] = 量子化ビット数[bit] * サンプリング周波数[Hz] * 時間[s] * チャンネル数

ここまではRubyと何の関係もないのでもう一つ言っとくと、packでの"s"は
その環境のエンディアンに依存しているので、よそでは動かないかもよ。
ちゃんとフォーマットにあわせて"n"とか"v"を使うように。

258 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 00:42:13 ]
>>253
>最後に、名前は早々衝突しないし、もし衝突したなら直すというのが、Rubyコ
>ミュニティ(というかスクリプティング界隈)の精神なのですね。すると自動
>テストが、推奨というより必須になるわけですね。当たり前のことですが、改
>めて目からうろこが落ちました。

いちおう補足しておくけど、エラーはテストで見つかるけど、もしコンパイル時に見つかるならそれにこしたことはない。そっちのほうが作業効率いいしね。
ただ、実はコンパイル時の検査は必須ではなく、テストで見つけるというアプローチでも十分実用的というだけ。
いままで「コンパイル時にできるだけエラーを見つけないといけない」「名前の衝突による思わぬバグを防ぐような仕組みを用意してないといけない」と
思いこんでいたんだけど、実はそうでもなかったよ、慣れればなんとかなるよ、という経験をしてほしいなー

というおっさんのひとりごとでした。

259 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 00:46:04 ]
>>254
>普通、ウェブアプリで検索とかのリクエスト送って、リクエストの結果を
>送ったページと同じページに表示させる場合、リクエストを送るのは同じページのメソッドにしたほうがいい?

送信先は同じメソッド、ただし中身は別メソッドとかでいいんじゃないの?

def index
 if params['q'] # q パラメータがあれば検索結果を表示
  show_search_result()
 else
  show_items()
 end
end

とか

def index
 if ENV['REQUEST_METHOD'] == 'POST' # postメソッドなら検索結果を表示
  show_search_result()
 else
  show_items()
 end
end

とか。
しかし日本語下手だな。なんとかしてくれ。



260 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 00:58:11 ]
>>252
PRGってやつ?

261 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 07:30:35 ]
>258
ある程度慣れた人だと、shebang や require 以外で最初に書くのは
module になる気がする
要るか判らんが、とりあえず空間切っておくか、みたいな

262 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 09:05:11 ]
アホばかりでやんなっちゃうよ

263 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 12:11:04 ]
表示端末の文字エンコードを自動判別して変換することはできますか?
ファイル内容を puts した瞬間に
「しまったこれShiftJISかようわ矢印キー効かね」
というようなことを大多数の端末で避けたいです


264 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 12:21:02 ]
>>263
ENV に情報がなければ無理だろな
Windowsのコマンドプロンプトでは特に情報がないようだ

265 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 15:36:52 ]
あー、スクリプト例で文字列を puts とかさせるときちょっと困るね
toeuc 決め打ちしておくのも変だし

266 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 16:08:59 ]
rubygemで特定のパッケージをupdate対象から外すことはできる?
要はholdしたいんだけど

267 名前:デフォルトの名無しさん [2008/09/27(土) 01:13:27 ]
TkcItem.newはrequire 'tk' だけでできるのに
TkcItemのサブクラスを作ろうとするとrequire 'tk/canvas'が必要になるのはなぜ?

268 名前:デフォルトの名無しさん [2008/09/28(日) 03:56:41 ]
rubyをつかって刑務所からプログラミングしてるんですか?

269 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 14:35:51 ]
Rubyでバイナリを16進数文字列に変換するのはどうしたらできますか。
packとかunpackがわかりくすぎて、理解できません



270 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 14:55:34 ]
packとか使え
packはC参考にしれ

271 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 15:22:39 ]
open(ARGV[0], 'rb'){|f|
while bin = f.read(16)
bin.each_byte{|byte|
print '%02X ' % byte
}
puts
end
}

272 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 15:46:05 ]
class XY
attr_reader :x, :y
def xy=(x, y=nil)
@x = x
@y = y || x
end
end

a = XY.new
a.xy=(1, 2)

というのを実行すると、
SyntaxError: compile error
syntax error, unexpected ',', expecting ')'
となってしまいます。
普通にメソッド呼んでいるだけなんですが、何が悪いんでしょうか。。
=のつかないメソッド名だと大丈夫なんですが…

273 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 17:00:00 ]
www.ruby-lang.org/ja/man/html/_A5AFA5E9A5B9A1BFA5E1A5BDA5C3A5C9A4CEC4EAB5C1.html#a.b1.e9.bb.bb.bb.d2.bc.b0.a4.ce.c4.ea.b5.c1
リファレンスマニュアルによると、代入演算子は次の形で再定義できるという
def foo=(value) # obj.foo = value

なので、xy=(x, y=nil) のメソッドを呼ぶには次のようにする
a.xy = 式
そのエラーは式の部分が (1,2) なので文法エラーになっているということ。
value = (1, 2) という式はRubyでは解釈できない。

という話だと思う。 たぶん。 信用度 80% くらい。

274 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 18:47:03 ]
RoR動くレンタルサーバーって
高いところしかないの?

さくらのライトプランで動かないの?

なるべく月500円以下のところを
紹介してほしいんだけど。

275 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 18:58:38 ]
500円以下はありえない

そもそものRoR動かすこと自体がかなりサーバ負荷の高い行為だから、
収容人数の多い安いレンタルサーバでは実用的な速度ではまず動作しない

専用サーバと呼ばれる、少人数あるいは自分たちだけの買い取りサーバを使うんだね

276 名前:272 mailto:sage [2008/09/28(日) 19:02:27 ]
>>273
ありがとうございます。

a.xy=(何か)
という形は単なるメソッド呼び出しだと思っていたのですが、
実際には代入用の特別な呼び出しで、「何か」の部分は代入の右辺に
使えるような式である必要があり、普通のメソッドと同じようには
いかない、ってことなんでしょうか。

結局、調査の末これならできるということがわかりました。。
a.send(:xy=, 1, 2)
実際は ActiveRecord::Base#attributes= なんですが。

277 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 19:09:56 ]
a.xy=1, 2とかa.xy=*[1, 2]でもよさそうに思う

278 名前:272 mailto:sage [2008/09/28(日) 19:41:41 ]
>>277
それだと @x が [1, 2] になっちゃうんです…
ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin8]

279 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 20:17:45 ]
class XY
  attr_reader :x, :y
  def xy=(v)
    @x, @y = v
  end
end

a = XY.new
a.xy = 1, 2



280 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 20:55:34 ]
Rubyで、パイプのようなものを実現するにはどうしたらいいですか
input = "aaa¥nbbb¥nccc¥n"
output = open("|cat -n", "r+b") do |io|
 io.write(input) if input
 io.read
end
でいけるかなと思ったのですが、io.read()でブロックされるようで、うまくいきません。

281 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:06:48 ]
>>280
io.close_write()をいれるとできました。
input = "aaa¥nbbb¥nccc¥n"
output = open("|cat -n", "r+b") do |io|
 io.write(input) if input
 io.close_write() ## 追加
 io.read
end


282 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:17:08 ]
popen

283 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:29:15 ]
じゃあ俺はreadpartialを推しておく

284 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:41:56 ]
windows版のrubyが起動に物凄く時間がかかるんですがなぜでしょうか・・・?

285 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:57:46 ]
rubygems読み込んでるんだろ

286 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 22:18:04 ]
>>276
www.ruby-lang.org/ja/man/html/_B1E9BBBBBBD2BCB0.html
>プログラミングの利便のために一部のメソッド呼び出しと制御構造は演算子形式をとります。
>ほとんどの演算子は特別な形式のメソッド呼び出しですが、(後略)

ということだそうだから、普通のメソッド呼び出しとは違うんだろう。
だいたい2項演算子の引数が複数だったりすると混乱の元にしかならんしな。
f( a + 1, 2) と書いたら、実は f( a+(1, 2) ) でしたとか。

287 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 04:05:45 ]
ちょっと質問なのですが、Vistorパターンがいまいちわかっていません。
サンプルコードを見ても実際にどんな時につかうのかが?

Rubyのライブラリなんかで、Vistorパターンを実際に使っているソースはありませんでしょうか?

288 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 04:09:01 ]
>>274
安いRailsのホスティングサーバー - Core
d.hatena.ne.jp/core/20080906/1220715811#c

野ログはノロキュアMaxHeart - SlicehostでそれなりにRailsを使っている感想 , Rails動かす環境が欲しい人必見
cureblack.com/20080909.html#p01

まともに動かすには、VPSぐらいでないと無理くさいです。

レンサバでRamaze動かしている人(CGI駆動でw)はいた。

rubyの軽いWebアプリケーションフレームワークを試してみた - NAT’s Programming Champloo
d.hatena.ne.jp/NAT_programming/20080817/1218957113
さくらのレンタルサーバでramazeを動かしてみた - NAT’s Programming Champloo
d.hatena.ne.jp/NAT_programming/20080817/1218962624


289 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 04:14:09 ]
>>227
C/C++とか触れそうにないなw
あなたには選択肢が少ない、ひまわりとかDelphiがオススメ



290 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 08:23:51 ]
>>287
Visitorははまるときはピッタリはまるんだけどね。

Visitorパターンの例題として見るだけなら少し大きめだが、RDのパーサとか
rubyforge.org/projects/rdtool/


291 名前:デフォルトの名無しさん [2008/09/30(火) 00:28:47 ]
Mac OSXにRails環境を作ってみたのですが、プロジェクトを作成すると
ファイルの文字コードが全て iso-2022-jp-3で作成されてしまいます。

プロジェクト作成時にutf8でファイル生成するオプションなどはありますか?

292 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 08:23:04 ]
railsコマンドが作る初期プロジェクトに使われる文字の範囲では
ISO-2022-JP-3(初期ASCIIでスタート)とUTF-8は同じだと思うんだが。

293 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 10:00:53 ]
どんなソフトやらでISO-2022-JPでなくISO-2022-JP-3だと判定されたのかはちょっと気になるな

cat > hoge.txt とかで作ったファイルも同じ判定ならコンソールか何かの設定の問題か、その判定ソフトの癖だな

294 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 11:52:43 ]
RoR のフォームヘルパには Smarty でいう html_options みたいなヤツはないの?

295 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 14:09:23 ]
>>294
html_optionsみたいなのがなにかを説明しないと、わかるわけがない

296 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 14:20:57 ]
>>295
ttp://www.smarty.net/manual/ja/language.function.html.options.php

297 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 15:39:13 ]
まずは「rails select option」でぐぐろうぜ

298 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 17:10:47 ]
うぉーあった。ありがとうございます >>297
Rails入門(本)には text とか radio は載ってたのにこれは載ってない。
でもないのはおかしいなと思ってた。date_select まであるじゃんかよ…。

299 名前:287 mailto:sage [2008/09/30(火) 17:21:04 ]
>>290
thanx 見てみます。



300 名前:デフォルトの名無しさん [2008/09/30(火) 23:36:49 ]
>>292
特に気にする必要はないっていうことですか?
今のところ特に問題はないですが、聞いたことない文字コードだったので
そのうち何か問題がでないかと心配です。

>>293
vimに読み込ませた時の文字コードがiso-2022-jp-3で表示されてます。
linux上で作成したutf8のファイルは、問題なくutf8で表示されていますし
他の文字コードに関しても作成時と同じように表示されてるので
ファイルの認識自体は特に問題ないと思いますが。。。
catで作成したファイルもiso-2022-jp-31で作成されているようですし
FInder上で作成したファイルもiso-2022-jp-3なので、たぶんMacOSXでは
指定がない限り、その文字コードで作成してしまうのではないでしょうか。
なにぶん昨日Macにはじめて触りまして。。。詳しいことが。。。

とりあえずOS側の問題のような気もするので、そっちで聞いてみます。

301 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 08:21:11 ]
>>300
とりあえずodなどで問題のテキストをバイナリダンプしてみては?



302 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 11:09:10 ]
>>300
文字エンコード自動評価の順が iso-2022-jp-3 が最初なんだろう
vimrcの文字エンコード推測設定がMacOSX向きじゃないんだと思う
きっとどっかのサイトのを意味もわからず丸コピペしたのだと推測

303 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 12:05:42 ]
>>298
書名をさらして著者に改善を要求しよう

304 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 12:13:37 ]
バージョンアップ後のフォローを求めるアホもいるので注意
ちゃんと冒頭に「バージョン○○を対象にします」って書いてあんじゃんよ

305 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 15:00:25 ]
>>304
今回の select option に限って言えば、どのバージョンでもあるわな

306 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 19:14:46 ]
ruby gemsでdescriptionで検索することってできないのでしょうか?

 gem search --details --both --all hoge

とやっても、名前でしか検索ができません。
説明欄も検索したいのですが・・・

307 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 21:24:06 ]
searchは最終的にSourceIndex#searchに処理を委譲してて、
そこでは名前がマッチするモノを探しているだけのようだ。
rubygems/source_index.rbの

spec.name =~ gem_pattern and

というところ(手元だと272行め)を

(spec.name =~ gem_pattern or spec.description =~ gem_pattern) and

のように変更すればdescriptionも検索対象にできる。
他にsummaryなども、orで連結して探すようにできるはず。

残念ながら、--detailは出力をkwskするためのオプションだな。


308 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:44:41 ]
OSはXP Home SP3、Rubyは1.8.6(最終版)です。
以下のプログラムを実行してもうまく動かず、何がいけないのか分からず困っています。

sum =0
puts "点数を入力してください。"
a=0                     ←なんとなく初期化してみた。あってもなくてもダメ
for i in 1..5
  print i, "番:"
  a = gets.chomp
  sum += a                ←ここが鬼門。ためしにforのiにするとちゃんと動く
 # print a,"\n"
 # sleep 1
end
print "sum=#{sum}"

おそらく7行目のsum += aが問題なのですが何がいけないんでしょうか・・・?
助言頂けるとありがたいです。

309 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:49:49 ]
"うまく動かず"を出し惜しめせずに書けw



310 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:51:06 ]
sum += a.to_i
かな

311 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 12:07:40 ]
>>309
コマンドプロンプトだと1つ目の数値を入れたとたん終了・・・
>>310
できた!thx!
getsで入力した数値を文字列だと思ってたのか・・・orz
ほんとありがとう、数値ひとつ入力するのに1時間奮闘してた・・・

312 名前:311 mailto:sage [2008/10/02(木) 12:26:45 ]
またすぐに聞きに来てごめんなさい・・・orz
aを配列にしたとたん動かなくなりました・・・
実行しても「点数を入力してください」すら表示されず終わります。

sum =0
puts "点数を入力してください。"
a[]              ←いらなそうだけど一応宣言
for i in 1..5
  print i, "番:"
  a[i] = gets.chomp   
  sum += a[i].to_i      
end

.to_iの使い方がおかしいのかもと思い、その行をコメント化してみたりしましたがうまくいかず・・・
gets辺りで躓いてると思います。
お手数ですがどなたかアドバイスください。
入力で躓きまくってる私はRuby向いてないのかなぁ・・・orz


313 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 12:34:11 ]
sum = 0
ary = []
puts "点数を入力してください"
for i in 1..5
    print i, "番: "
    ary[i-1] = gets.chomp.to_i
end
sum = ary.inject(0) {|a, x| a + x }
print "合計: ", sum, "\n"

314 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 12:37:37 ]
どういう勉強の仕方をしてるのか気になる。

315 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 12:39:51 ]
>>312
「実行」って、コマンドプロンプトから ruby hoge.rb とかしてる?
普通はこうなる

> ruby hoge.rb
点数を入力してください。
hoge.rb:3: undefined local variable or method `a' for main:Object (NameError)

あと入門書嫁

316 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 12:49:11 ]
本題に関係ないとはいえ一応書いておくが、Rubyでforはめったに使わない
普通はブロックを使う

317 名前:312 mailto:sage [2008/10/02(木) 12:50:02 ]
>>313
おお・・・ちゃんと動く・・・ありがとです。
for文の中でsumに足していかないとは・・・!
sum周りが初見なんで調べないとですね。
ともあれthxです。

>>314
Cは多少やってたのでCの頃に書いた簡単なプログラムをRubyに書き直してみてるところです。
文法がずいぶん違って躓きまくりです・・・

>>315
いや、「.rb」をそのままダブルクリックで実行してます。
だからsleep入れたりしてすぐに消えないようにしてたり・・・
基本はRDEで実行してます。
「たのしいRuby 第2版」を参考にしてますが、必要な所だけ探して読んでるのがいけないかもですね・・・

318 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 13:19:11 ]
コマンドライン実行のスクリプトをダブルクリックしてどうする
正常終了でウィンドウ閉じるだろ

319 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 13:36:57 ]
最後にsystem('pause')入れたりする



320 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 14:02:52 ]
>>317
RDE使ってるなら、プログラムを実行した後
下の出力ウインドウにエラーメッセージとか出てるんじゃないか?
それを貼り付けるべし

出ないようならコンソールから実行

321 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 14:22:57 ]
>>318
いやだからsleep入れたりしてるんですが、エラーの時は関係なく終わるんです。

>>319
Rubyの場合はスタンダードライブラリを読み込まなくても使えるんですね。(Rubyには存在しない?
活用させていただきます。

>>320
一応出ますね。以後貼り付けます。

みなさんありがとうございます。またすぐに来そうで心配ですが、その時はよろしくお願いします。

322 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 18:02:43 ]
バッチファイルにしてやればエラーが出てもポーズさせるようにできるよ。
ruby -x "%~0" || pause
と書けばエラーが出たときに限ってとまる。

test.bat
ruby -x "%~0"
pause
goto :eof

#!ruby
put "hello"


323 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 19:08:34 ]
>>322
横からだがサンクス
これを.rbに関連付けしておけばよいのか・・・
|| でエラー時だけ止まるのかいいな、これ

324 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 22:15:24 ]
rdocで#:nodoc:と指定されてる要素も無理矢理ドキュメント化するような
オプションとか方法とかってありますか?

325 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 23:44:42 ]
>>324
そんなのはないから自分で #:nodoc:を消せばいいじゃん
cp -pr src1 src2
find src2 -type f | xargs perl -pi 's/:nodoc://'


326 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 01:37:13 ]
>>325
なるほど
参考にさせていただきます
ありがとうございました

327 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 02:38:35 ]
>>325
そこでrubyでもsedでもなくperlかよw


328 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 11:54:46 ]
>>327
1 linerでの置換ならrubyよりperlのほうが便利
sedは-pオプションがない

329 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 12:52:51 ]
www.goto.info.waseda.ac.jp/~fukusima/ruby/python-j.html
これ教えてもらってpythonから宗旨替えするのを検討してるんだけど
本当にpythonのモジュールが問題なくつかえるの?
ctypes
boost.python
numpy
matplotlib
PIL
が使えるかが一番問題なんだけど



330 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:02:03 ]
>>329
現在の Ruby は 1.8.7 です

331 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:09:37 ]
(いろいろとpython側もruby側も追随してないだろうから、やめるのが吉、ってことか...)






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

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

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