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


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

Ruby 初心者スレッド Part 24



1 名前: 【大吉】 mailto:sage [2009/01/01(木) 13:13:22 ]
プログラミング言語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を読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

696 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 08:23:21 ]
>>695
ありがとうございます。すぐに確認できませんが,帰宅したら確認します!

697 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 08:27:31 ]
スクリプト作るの早いな

698 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 08:30:58 ]
>>697
過去に似たようなの作った経験があれば見当つくから
あとはサイトの特徴調べるだけでこんなもんよ
早い人はもっと早いはず

というか、このスクリプトは見たままの処理しかしてないので泣きたくなるほど遅い
なんかスゴい人がXPathとか駆使して爆速に仕上げてくれることを期待

699 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 08:32:08 ]
>>693
名前は?

700 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 08:42:52 ]
>>699
def CGI::escapeHTML(string)
string.gsub(/&/n, '&').gsub(/\"/n, '"').gsub(/>/n, '>').gsub(/</n, '<')
end

ということで CGI::escapeHTML
require 'cgi' して使ってね
シングルクオートをエスケープすることはありません

701 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 08:50:58 ]
今なら cgialt/util を薦めた方が良いのでは

702 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 08:52:46 ]
標準でなくていいのならたくさんあるよそりゃ
4つgsubするだけだから自前でやれというのもありだろうし
cgiライブラリがCGI作成に最早使われてないのは公然の暗黙

703 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 08:56:32 ]
最近は文字列エスケープユーティリティと化してるな

704 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 09:39:17 ]
ここでスモーカー抜けるのは痛いな



705 名前:704 mailto:sage [2009/01/23(金) 09:43:02 ]
ごめんなさい

706 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 10:01:47 ]
>>699
ttp://www.ruby-lang.org/ja/man/html/cgi.html
結構いろいろそろってる

707 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 10:03:15 ]
揃ってるも何も(PHPの)htmlspecialcharsの動作をするのは CGI.escapeHTML だけだぞ

708 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 10:12:43 ]
>>707
全然知らんようだからほかにもいろいろあるって紹介したのだが
URLエンコードするのありますか?とか追加質問されたらバカバカしいだろ
リロードしてなかったから>>700は気づかなかった

709 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 10:18:11 ]
Ruby1.9が入っていないと端末に「アナログ」と表示する.bashrc - aikeの日記
d.hatena.ne.jp/aike/20090118


710 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 10:24:50 ]
Rails1.2.6を使って作成しているのですが、selectを動的に変化させようとすると ActionView::TemplateError (undefined method `number_select' for #<HashWithIndifferentAccess:0xb722adf0>
というのが出てしまいます。回避策があればご教授ください。

<やっていること>
index.rhtmlの中を次のようにしています。
<div id="all">
<table>
<tr><td id="first"><%= render :partial => 'first_info' %></td id="first"></tr>
<tr><td id="second"><%= render :partial => 'second_info' %></td id="second"></tr>
<tr><td id="third"><%= render :partial => 'third_info' %></td id="third"></tr>
</table>
</div id="all">

_first_info.rhtmlには次のような selectがあります。
<%= select(:first_info, :number_select, @numbers, {:selected => @select_value}, {:onchange => remote_function(:submit => :first_info, :url => { :action => :change_select }}) %>
@numbersはコントローラー側で @numbers = ActiveSupport::OrderedHash.new してデータベースから値を格納しています。

_second_info.rhtml のテキストボックスに値を入力し、ボタンを押したら、その値をDBに登録し、_first_info.rhtmlの selectのリストに入力値を追加しようと以下のように処理しています。

1.コントローラーの_second_info.rhtmlから次の関数が呼ばれる
def second
データベースへ登録
@numbers = ActiveSupport::OrderedHash.new
@numbers へデータベースの値を格納
@select_value = 1
end

2. second.rjsは _first_info.rhtmlを更新するため、次のようになっている
page[:first_info].replace_html :partial => 'first_info'


711 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 10:28:02 ]
>>710
【Ruby】Ruby on Rails Part6
pc11.2ch.net/test/read.cgi/php/1224838013/

712 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 10:42:15 ]
instance_variable_set の 変数名に指定する文字列って、ユーザの入力そのまま渡しても大丈夫?

713 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 10:51:53 ]
>>712
そのクラスでありえそうな変数名用文字の集合(おおむね英数字とアンダースコア)にマッチしないものは
事前に弾いとくとかしておいたほうがいいと思う
あるいはアクセサの提供を条件にしておいて instance_methods に指定文字列があるかどうかチェックするとか
中のほうでevalしてるんじゃないかという疑問に答える知識はない

714 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 11:58:26 ]
>>712
既存のインスタンス変数をどうされてもかまわないなら、大丈夫。

>>713
内部でevalとかはしてない。



715 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 12:19:33 ]
>>710
>ActionView::TemplateError (undefined method `number_select' for #<HashWithIndifferentAccess:0xb722adf0>

エラーの意味は分かってる? HashWithIndifferentAccess のオブジェクトに対して number_select メソッドを呼び出して、それで undefined method になっている。

呼び出すメソッド名を間違っていないなら、呼び出す対象となるオブジェクトを確認してみてはどうだろうか。
もしそれであっているなら、Railsのバグかもね。


716 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 19:59:53 ]
継承したクラスのオブジェクトの配列で困ってるんだけど
class SuperClass
 def <=> other
  true
 end
end

class Class1 < SuperClass
end

class Class2 < SuberClass
end

arry = []
array << Class1.new
array << Class2.new

array.sort

で、『Class1 と Class2 は比較できねぇよゴラ!』 といわれてしまうんだけど。
どうにかなんないかな?
C++の
SuperClassVecter* array = new SuperClassVecter()
Class1* c1 = new Class1()
array.push((SuperClass*)c1);
Class2* c2 = new Class2()
array.push((SuperClass*)c2);
みたいなことがやりたいんだけど、よくわからんちん。

717 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 20:10:23 ]
エラーメッセージを勝手に訳す人間に発展の未来はないのでよく覚えておくとええぞ

あとマニュアルくらい見れ
ttp://www.ruby-lang.org/ja/man/html/String.html#self.20.3c.3d.3e.20other
> self <=> other
> self と other を ASCII コード順で比較して、self が大きい時に正、等しい時に 0、小さい時に負の整数を返します。

ということで、<=> メソッドは整数を返すように作らなければ sort で比較できない

718 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 20:13:46 ]
>>716
Comparableメソッドをインクルードしましょ

719 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 20:42:21 ]
というか、基本的にはクラスが違うと比較はできないよ
でもそれだと困るので
(10 < 11.1 だとエラーで、いちいち明示的に 10.to_f < 11.1 しなければならないとか超困る)
Rubyではcoerceのようなメソッドを作って汎用的なデータ構造に変換を依頼するというのが普通らしい
でもめんどいので、スーパークラスで自分のデータの大きさを規定するというのはどうだろう

class SuperClass
def initialize(data); @data=data; end
def <=>(other); self.length - other.length; end
def length; @data.length; end
end
class Class1 < SuperClass; end
class Class2 < SuperClass; end

arr = [Class2.new('second'), Class1.new('first')]
p arr.sort

結果
[#<Class1:0xb7c415f0 @data="first">, #<Class2:0xb7c41618 @data="second">]


720 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 20:53:57 ]
>>719
標準の配列に入ってる状態で標準の sort をすると Class1 のオブジェクトが Class2 より前に出るとか
そういうほのかに邪悪の香りがする処理をしたいのでは

class SuperClass
def <=>(other); self.class::PN - other.class::PN; end
end
class Class1 < SuperClass; PN=1; end
class Class2 < SuperClass; PN=2; end
class Class3 < SuperClass; PN=3; end

arr = [Class3.new, Class2.new, Class1.new]
p arr.sort


[#<Class1:0xb7d0ce94>, #<Class2:0xb7d0cea8>, #<Class3:0xb7d0cebc>]


721 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 21:04:30 ]
rubyのスレって親切に教えてくれるよね。

PHPは気持ち悪い連中ばっかりで寒気がする

722 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 21:15:30 ]
どの言語も人気が出て使う人が増えてコモディティに接近するとああなるよ
このへんの待遇は単にユーザーの数の少なさの裏返しというだけに過ぎない

723 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 21:36:47 ]
ドキュメントが完備されていないから、まだまだまともな質問が来るので、
答える方もまだブチ切れてなわけだ。

724 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 21:49:05 ]
でもオンラインリファレンスに乗ってることでもみんな寛容に答えてるよね。
新規参入促進にはいいのかな?

俺はまだ初心者だけどrubyは書いてて楽しいね



725 名前:716 mailto:sage [2009/01/23(金) 22:55:11 ]
みんなありがとう。
継承クラスのどっからでも比較できるようになったよ!

あと、ドキュメントって読みにくいよね。
せめて単語で引けるインデックスがあれば・・・

月曜にRuby始めたばっかりなんだけど

ドキュメント調べてる時間が9割以上ってどういうことなのさ!

しかも知りたいことにはほとんどたどり着けない。

726 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 22:58:55 ]
ソース嫁ってことなのか。

727 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:04:07 ]
プログラミングなんて8割くらいは調べものだと思うよ
始めたばかりならなおさら

でまあそれとは別にRubyのドキュメントは機能的に非常に貧弱だ
どうにかしないといけないという話は出るが、本当にマシになったことはまだ一度もない

728 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:21:48 ]
>>727
> プログラミングなんて8割くらいは調べものだと思うよ
> 始めたばかりならなおさら

おまいは時代に追い付け

729 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:25:03 ]
>>728
打鍵時間以外はほとんど全部調べ物だと思うんだが
仕様書読んだりマニュアル読んだりRFC読んだりネットの事例読んだり

730 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:27:03 ]
>>725
>ドキュメント調べてる時間が9割以上ってどういうことなのさ!
初心者はまず入門書から始めることをオススメする
Webのドキュメントだけで済まそうとするのは、他の言語に精通している人だけにしとけ

731 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:30:16 ]
半分はテストじゃないのか?

732 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:32:38 ]
そんな時間かかるか?
っていうか、テストやらデバッグってプログラミング作成時間とは別にとって考えるもんなんじゃね?

733 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:36:59 ]
Rubyのドキュメントががっかり品質なのはどう言い訳しても事実

734 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:44:52 ]
どこに言い訳が?



735 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:47:03 ]
思春期後期の症例の一つです<言い訳してる人を見出したい

736 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:52:26 ]
じゃあ>>733は見えない人を相手してるだけか、失礼

737 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:55:50 ]
>>732
「テスト駆動開発(TDD)」「振る舞い駆動開発(BDD)」「継続的インテグレーション」あたりでぐぐれ。

738 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 00:57:16 ]
>>725
ドキュメントはchm版を見るのがおすすめ
ちゃんとキーワードでインデックスされてるのでメソッドを調べたりするのが早い

739 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 01:57:46 ]
>>737
それだってカウントしないと思うぞ

740 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 06:56:49 ]
慣れないうちはchm版リファレンスマジおすすめ

つーかRubyリファレンスががっかり品質だって言われるけど
他の言語のドキュメントってそんなに充実してたっけか?

>>739
テストコード→アプリコード→テストコード→アプリコード→… の手順で進めるなら
両方ともプログラミング時間に含めるべきだろう

741 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 07:30:00 ]
Ruby ドキュメントといえば
Dave Thomas と Andy Hunt の Programming Ruby の Web 版が
見れたときは感動した。
日本語訳が出たときは、お布施のつもりで買った。

742 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 09:00:21 ]
>>721
最近、php使い始めたんでphpの質問スレもいってるんだけど、
何故かみんな少しカリカリしているイメージw

ただ、やぱphpはリファレンスマニュアルがしっかりしている(特に公式がすばらしい)
のがいいわ。
マニュアルにコメントがつけられるらしくて(細かいところは知らん)
FAQが補足されてることも多々ある

>>740
chm使ってるけど、がっかり品質ということはないな・・・
サンプルコード的なのをものとか、メソッドに関するFAQとかをもっと載せて欲しいと思うことはあるが
Rubyに慣れるまでは使いにくかったけど、慣れてからはそこそこ使えると思った。
まあ、リファレンスだしね

743 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 12:09:14 ]
見て、使い方を理解するのに時間がかかる感じだな。
書いてるほうは、こんなの一目見りゃ分かるだろ的ノリなんだろうけど、見てるほうはそうでもないギャップがある。
お腹いっぱいに成るほどにサンプル手繰れてもいいと思うけどね。
でもオブジェクト指向自体が、ある日突然閃くまでは意味不明の苦痛の日々だしなあ。

そういう意味で教典読んでも、修行の後、悟り開けないと付いて行けない感じ。
phpのほうは、思想的な物は無くてどうとでも使える節操無い所があるからな。結果的に出来りゃなんでもいいじゃんみたいな。
便利そうな機能も無節操に突っ込みまくってるし、実際便利ではある。rubyだと便利そうなライブラリを探して読み込む所から始まるし。

744 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 12:30:50 ]
>でもオブジェクト指向自体が、ある日突然閃くまでは意味不明の苦痛の日々だしなあ。

はぁ?



745 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 17:22:24 ]
>>744
閃く遥か前の段階で「自分は既に悟っている」と勘違いしてる馬鹿には
縁のない次元の話だから、無理に関わろうとしなくていいです。

746 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 18:02:39 ]
うわぁ・・・

747 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 19:12:20 ]
もうやめようぜ!おまいらの好きなアイドルはだれだ?
俺は長島海輝だぜ!

748 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 19:31:42 ]
ここ↓にあるように、数字を日本語表記にするようなモジュールはありますでしょうか?

そろそろ FizzBuzz に飽きた
blog.livedoor.jp/nipotan/archives/50985988.html

749 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 19:42:31 ]
>>748
特にないと思う
たぶん、世界中で何十回も生産されてるコードだ
どっかであってもいいのにね

750 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 20:29:35 ]
>>746
俺もネットやりたての中二病真っ盛りの頃、
グウの音も出ないけどそれでも何か「相手に痛いところがある」風に装いたいとき、
よくそういうの書き込んだなー。

751 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 20:31:30 ]
calコマンドのようにカレンダーを表示したいのですが、定石みたいなのってありますか?

752 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 20:49:58 ]
宿題スレに書き込んだのが残ってた
calコマンドのように表示するように作ったのは確かなんだが、
ぶっちゃけ表示部で何やってんだかわからん

#!/usr/bin/ruby
require 'date'
### Usage: ./cal.rb [YYYY MM]
### ./cal.rb 2007 3 #=> Mar 2007 calender
### ./cal.rb 3 2007 #=> Mar 2007 calender
### ./cal.rb #=> this month's calender
if ARGV.empty? then
t = Date.today
else
argv = ARGV[0,2].map{|s| s.to_i}
t = Date.new(argv.max{|a,b| a <=> b}, argv.min{|a,b| a <=> b}, 1)
end
(d_one, d_last) = Date.new(t.year, t.month, 1), Date.new(t.year, t.month, -1)
cal = "#{Date::MONTHNAMES[d_one.month]} #{d_one.year}".center(3*7) << "\n"
cal << Date::ABBR_DAYNAMES.inject(''){|days,name| days << name.chop.rjust(2) << ' '} << "\n"
(d_one-d_one.wday).upto(d_last+6-d_last.wday) do |d|
(cal << ' ';next) unless d.month == d_one.month
cal << d.day.to_s.rjust(2) << ' ' << "\n"*(d.wday / 6)
end
puts cal


753 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 20:55:45 ]
>>749
自分で作ってみて、宿題スレにでも行きます

754 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 20:55:53 ]
>>752
ありがとうございます。
読んでみますね。



755 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:02:39 ]
>>754
要は、 String#rjust ってのがあるんだよ
これは指定数で右詰めする
"A".rjust(2) は "+A" を返すし(+は本来は空白)
"AB".rjust(2) は "AB" を返す
この2バイト確定の文字を空白で挟んで7つ表示して1週間を作ってる

756 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:04:28 ]
joinでいいじゃんね、これ

757 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:38:17 ]
>>748-749
文字を音声で読んでくれるソフトは結構出回ってる
Ruby 的には不評な Windows 系なら
Microsoft Windows Speech っつーソフトが無料だから試してみれ

日本語・ドイツ語あたりまでならなんとかなるんだが
フランス語だと死にそうだな


758 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:40:18 ]
ja.wikipedia.org/wiki/Speech_Application_Programming_Interface
これをRubyから叩けば良いかも

759 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:47:44 ]
…?

760 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:52:55 ]
松本教信者のみなさん今日は。

761 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 22:44:08 ]
>>757-758
Rubyの練習として、NabeAtzz問題を解いてみたかっただけなんすよ

762 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 09:14:59 ]
Rubyのrequireという命令が、使う頻度の高い割に
すごくタイプしづらい文字なので困っています。
COBOLに慣れているので、copyというキーワードで
代替できるようにRubyを改造する方法があれば教えてください。

763 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 09:19:01 ]
copyという文字列をrequireに置換するスクリプトをかけばいいやん

764 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 09:21:28 ]
alias copy require

ただし、他の人がいじるスクリプトではお奨めしない
タイプしづらくてもrequireに慣れるべき



765 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 09:23:42 ]
>>762
COBOLやれ

766 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 09:30:57 ]
ちょっとしたbotを書いてみましたが、何か変なところがあったら教えてください。
なんか定数まわりで警告が出てますがあまり気にしないでください
ダウンロードキーは2000、2時間で消えます
www1.axfc.net/uploader/He/so/186680

767 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 10:01:25 ]
ワロタ

768 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 10:03:57 ]
>>762
補完系使えよ

769 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 10:19:02 ]
require は COPY ではないので、それやりたいなら COBOL やれとしか

770 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 10:44:01 ]
>>762
copyって入力したらrequireと変換されるように辞書に登録してしまえば

771 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 10:50:49 ]
def copy arg
 require arg
end

772 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 11:57:24 ]
if then →if {
end → }

に置換するC言語のマクロ思い出したww
さすが、COBOLerは発想が一味違う

773 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 11:59:45 ]
COBOLer に限った話ではないぜ
ttp://www.kojima-cci.or.jp/fuji/computerbooks/c/c.modula2.html

774 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 12:04:59 ]
天下の元祖B shellだってそういう風に書かれていたんだけどな



775 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 12:05:55 ]
B shell は if 〜 then; ...; fi だ

776 名前:デフォルトの名無しさん [2009/01/25(日) 12:15:51 ]
ふぃ〜

777 名前:762 mailto:sage [2009/01/25(日) 12:22:01 ]
アドバイスありがとうございます。
いろいろ検討したのですが、
あらかじめ先頭行にreqireと打ち込んだ
ひな形テキストファイルを用意しておき、
ソースを書き始める時はそれを読み込む
ことにしました。

778 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 12:25:22 ]
ほんとにrequireって打つのが苦手なんだな・・・。

779 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 12:29:39 ]
q以外は、人指し指と中指を単純に動かすだけなんだけど、
まぁ、指の仕様も人それぞれってことなんだろうな。

780 名前:デフォルトの名無しさん [2009/01/25(日) 12:34:00 ]
require

781 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 12:36:57 ]
キーボードを見ずにrequireって打てたら神 その3
gimpo.2ch.net/test/read.cgi/toilet/1200207879/

782 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 12:38:17 ]
>>775
こういう意味だよ。
minnie.tuhs.org/UnixTree/V7/usr/src/cmd/sh/mac.h.html

783 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 12:56:40 ]
requireとloadを逆にしておけばよかったのになあ

784 名前:デフォルトの名無しさん [2009/01/25(日) 13:14:08 ]
>>781
requrie



785 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 13:17:21 ]
余裕だろ。

require

786 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 13:18:01 ]
require なんてキーの配置と流れは簡単じゃん

req→右から左。キーは隣+一つ飛ばし
ui→左から右。キーは隣
re→右から左。キーは隣

3回にわけてリズムをつかめばすぐに慣れると思う
って全然Rubyの話じゃないな

787 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 13:19:31 ]
QWERTY

788 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 13:20:21 ]
英単語的に、qのあとはuが来ることが多いので、その部分はほとんど間違えなく指が勝手に動くな

789 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 13:23:48 ]
test
require

790 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 13:36:28 ]
ていうか、スクリプトの一番最初にまとめて、
またはライブラリ追加の必要性があるときにファイル先頭に移動して改めて書くようなもんだから、
その時だけゆっくり(手元見ながら)打ち込めばいいじゃんね
キーボード全体から強い光が発せられていて注視できないような構造になってるとかそういうのですか?

791 名前:デフォルトの名無しさん [2009/01/25(日) 13:37:17 ]
私の好きなフィギュアスケートの澤田亜紀ちゃんの名前は打ちにくい

792 名前:デフォルトの名無しさん [2009/01/25(日) 13:43:48 ]
      | │                   〈   !
      | |/ノ二__‐──ァ   ヽニニ二二二ヾ } ,'⌒ヽ
     /⌒!|  =彳o。ト ̄ヽ     '´ !o_シ`ヾ | i/ ヽ !   Require ...
     ! ハ!|  ー─ '  i  !    `'   '' "   ||ヽ l |

793 名前:772 mailto:sage [2009/01/25(日) 14:19:58 ]
>>773
それそれw そのことだよまさに

>>777
俺ならエディタのスニッペにrequire登録しておいて、
r(スニペット補完キー)
でrequrieを補完するな

794 名前:772 mailto:sage [2009/01/25(日) 14:20:39 ]
スニッペってなんだww
「スニペット」な「コードテンプレート」とかエディタや開発環境で呼び名は違うと主ウケ緒d



795 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 14:25:24 ]
落ち着け。


796 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 16:12:24 ]
require よりも、elsif の方が、打ちにくい。
エディタの設定で、*.rb ファイルで、elseif と書いたら、
elsif に置換しているけど。

797 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 16:13:27 ]
ZAQ のうちにくいこと

798 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 16:28:50 ]
ZAQは小指の爪を使ってキーボードの下から上へすべらすように

z
za
zaa
z
za

・・・できねえ

799 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 16:32:16 ]
そんなん右手薬指で右Shift押さえながら左薬指でzaw押せばいいじゃん
ホームボジションなにそれ

800 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 16:42:36 ]
>>799
押せてねぇw
ホームポジションなにそれは同意で、小指薬指中指で順にZAWと押せば

( ゚Д゚)・・・。

ところで>>771みたいなことするよりは>>764のほうがいいよね?
>>771みたいにラップしたほうがいいときってある?

801 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 17:49:11 ]
requireは上段に集中してむしろ打ちやすいような。
どうしても打てないなら、つ 最終兵器dvorak

802 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 18:47:55 ]
req(単語補完(ry
だろ、JK

803 名前:デフォルトの名無しさん [2009/01/25(日) 19:13:48 ]
ttp://www.sanspo.com/sports/images/090125/spf0901251746010-p2.jpg

804 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 19:17:12 ]
>>803
誰もそんなんrequireしとらん。



805 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 19:50:19 ]
word = ["apple", "orange", "lemon"]
を検索のキーとして
sentence = ["apple is red","orange is not blue","lemon is yellow","apple is not orange","lemon is not red"]
から何個、検索結果が出てきたか知りたいのですが、どうすればいいでしょうか?



806 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 20:03:10 ]
>>805
配列要素をeachで枚挙することを厭ってはいけない
特にRubyではね

words = ["apple", "orange", "lemon"]
sentence = ["apple is red","orange is not blue","lemon is yellow","apple is not orange","lemon is not red"]

counts = {"apple"=>0, "orange"=>0, "lemon"=>0}
sentence.each do |s|
words.each do |word|
if /#{word}/ =~ s then
counts[word] = counts[word]+1
end
end
end

p counts


結果:
{"orange"=>2, "apple"=>2, "lemon"=>2}


807 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 20:14:18 ]
counts = {}
words.each do |word| counts[word] = 0 end

808 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 20:15:04 ]
>>807
スレタイ6回くらい読め

809 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 20:43:13 ]
unko

810 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:52:42 ]
久しぶりにスレみたら>>747で吹いた。
男じゃん。と思って検索したら、こんなに可愛い子が女の子なわけないじゃないか

811 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 22:18:03 ]
ググってしまったじゃないかww

812 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 23:26:45 ]
調べたらショタアイドル。ぐぐr必要なし

813 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 23:38:45 ]
>>812
ぐぐってしまったじゃないか

814 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 23:45:15 ]
密林で注文したじゃないかw



815 名前:デフォルトの名無しさん [2009/01/26(月) 03:25:48 ]
puts "文字"
puts "文字"
puts "\n"
srand
require 'readline'
def try_answer(prompt)
while buf = Readline.readline(prompt, true)
yield buf
end
end
difficulty = ($*[0] || 1).to_i
difficulty >= 1 or raise "#{difficulty}: Invalid difficulty direction"
answer = rand(30 * difficulty + 1)
judge_table = ["文字1","文字2","文字3"]
try_answer("文字 > ") do |line|
try = line.to_i
result = try <=> answer
puts "#{try}#{judge_table[result]}"
break if result.zero?
end

プログラミングに興味が出て、いろいろさがしてたら
学校の過去の資料にこんなプログラムがありました。
これはどんなプログラムなんでしょうか?
一文一文の意味を教えていただけないでしょうか?よろしく
おねがいします。

816 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 03:31:54 ]
マルチは感心しないな

817 名前:デフォルトの名無しさん [2009/01/26(月) 03:32:21 ]
ruby経由でwgetしつつ出力を表示しつつ、log.txtにもはきつつってことをやりたいのですが、上手くいきません。
画面には表示されますが、log.txtには何も書き込まれないという・・・
これは何がおかしいものなんでしょう

Dir::chdir("/work") do
 system("wget example.com/ | tee log.txt")
 puts "read log.txt"
 puts File.read("log.txt")
end


818 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 03:45:55 ]
>>817
wget の出力は標準エラー出力に表示する
tee は標準出力を取り込むことしかできないから、そもそも log.txt にはなにも書き込まれない
wget localhost/ 2>&1 | tee log.txt
Ruby あんま関係ないな

819 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 03:57:25 ]
>>818
いけた!そっかwgetエラー出力だったのか・・・
基本的なところをうたがうべきなのにすっかり忘れてた

820 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 04:00:33 ]
これを意識してる人はまずいないよ
これはむしろ wget の欠陥だと思う

821 名前:デフォルトの名無しさん [2009/01/26(月) 05:47:44 ]
Rubyでwebサーバーにアクセスしたとき
そのサイトにどんなファイルがあるか調べる方法はありますか?

822 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 06:03:15 ]
index許可してあればリスト取り出せるけど
そうじゃなければ_

823 名前:デフォルトの名無しさん [2009/01/26(月) 09:16:34 ]
robotでも作るつもりなのかな

824 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 11:26:53 ]
>>820
wget の場合、標準出力は -O - で取ってきたものを出力するためにあるので
(他のツールにパイプで直接流し込んだりとか)、そういう時にも一貫性を保てる
ように、メッセージは標準エラー出力というのは理にかなっている。
メッセージをファイルに取りたいなら -o filename オプションを使うという手もあるが。

Ruby 関係ないな。



825 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 11:30:37 ]
>>822
Ruby関係ないよね
っていうか、HTMLやHTTPの勉強はしてもらってるのかね
Rubyは魔法じゃねえぞ

826 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 11:39:31 ]
Ruby関係ないということがわかるだけでも勉強としては前進だから、どんどん聞くだけ聞いてもらってもいいけどな
回答としても「ちげーよRuby関係ねーよ」と答えるだけでいいから楽だし

Ruby内でwget使ってログ管理しようとして嵌るというのは順調なテンプレの範囲だと思う

827 名前:817 mailto:sage [2009/01/26(月) 12:24:18 ]
そもそも、コマンドラインで
 wget example.com/ | tee log.txt
ってやってみてRubyの問題なのか、そうじゃないのか切り分けるべきでしたね

なにあれ、解決したので助かりました。

828 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 13:40:37 ]
Ruby 1.8でDir.globに複数のパターン(というか拡張子)を指定する方法は
ありませんでしょうか?

(Dir.glob("**/*.css") + Dir.glob("**/*.html")).each do |file|
 :
end
のようにするしかない?


829 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 13:44:36 ]
>>828
マニュアルに初心者お断りな感じできちんとわかりにくく書いてあんじゃんよ
irb> Dir.glob("*")
["002.txt", "001.txt", "aaa.jpg", "bbb.jpg"]
irb> Dir.glob("*.txt")
["002.txt", "001.txt"]
irb> Dir.glob("*.txt\0*.jpg")
["002.txt", "001.txt", "aaa.jpg", "bbb.jpg"]



830 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 13:49:16 ]
あれわかりにくいよね
素直に第一引数は配列受け取るようにすればよかったのに

831 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 15:37:35 ]
ネットワーク上にあるExcelファイルを、
open-uriを使わずにnet/httpを使ってFileオブジェクトに格納する方法はあるでしょうか

832 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 15:52:09 ]
>>831
bodyをそのままwriteするだけじゃダメなんだっけ?

833 名前:828 mailto:sage [2009/01/26(月) 15:52:40 ]
>>829
本当だ!

> パターンを "\0" で区切って 1 度に複数のパターンを指定することもできます。
>
> p Dir.glob("f*\0b*")
> => ["foo", "bar"]

マニュアルみたつもりで見落としていました。
ありがとうございました。

834 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 15:57:50 ]
>>832
bodyメソッドを実行すると「string contains null byte」とエラーが出てしまいます・・



835 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 16:05:54 ]
めんどくへえ
イントラ限定のサーバかなんかで変な形式で送られてきてると予想
ヘッダはなんて言ってる?

836 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 16:10:15 ]
レスポンスのヘッダでしょうか?

HTTP/1.1 200 OK
Date: Mon, 26 Jan 2009 07:08:59 GMT
Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) mod_ssl/2.8.12 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.1.2 mod_perl/1.26
Last-Modified: Mon, 26 Jan 2009 00:11:23 GMT
ETag: "3f1629-48000-497cffab"
Accept-Ranges: bytes
Content-Length: 294912
Content-Type: application/vnd.ms-excel

こんな感じです

837 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 16:10:22 ]
>>834
エラー箇所どこ?
win32なのにバイナリモードでFile.openしてないとかいうオチはない?

838 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 16:14:04 ]
>>837
さすがにそれはないと思いたい

839 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 16:23:08 ]
>>837
orz おさわがせしました

840 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 16:29:17 ]
>>838-839
初心者スレだしこんなミスもいいんじゃね?w
解決したならなによりだし(あのエラーを見たことは無いから自信はなかった)
騒がせたと懲りてるようなら、もう同じミスをしてもすぐ自分で気づくだろうから。

841 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 17:16:29 ]
>>833
glob 構文だけを純粋に使って、*.{css,html} これでもいんじゃない。

842 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 17:29:56 ]
>>833
・{ } コンマで区切られた文字列の組合せに展開します。

Dir.glob("**/*.{css,html}") do |file|
puts file
end


1.9だと配列で複数のパターンを渡せるようになった


843 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 17:39:27 ]
あらら、かぶっちゃった

Dir[pattern] 形式だと1.8でも複数のパターンを指定できるよ

Dir["**/*.html","**/*.css"].each do |file|
puts file
end


844 名前:828 mailto:sage [2009/01/26(月) 17:40:13 ]
>>841-842
おお、便利だ!

> { } コンマで区切られた文字列の組合せに展開します。
> 例えば、 foo{a,b,c}はfooa, foob, foocに展開されそれぞれに対してマッチ判定を行います。

> 括弧は入れ子にすることができます。例えば、 {foo,bar{foo,bar}} は
> foo, barfoo, barbar のそれぞれにマッチします。

これですね。ありがとうございました。




845 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 20:20:17 ]
>>843
完全に単なるエイリアスだと思い込んでた…
glob構文めんどいから

["**/*.html","**/*.css"].inject([]){|r, i| r.concat Dir.glob(i) }

こんなことしてたぜ…横から感謝

846 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 22:36:34 ]
>>843
すげー。知らんかったわw globとは別なのね

847 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:20:28 ]
>>843はオレも知らんかったので助かるんだけど、でもこれっておかしいよね。
ほんとはglob()と同じにすべきだよな。わざわざこんなふうにしている意味が分からん。


848 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:24:54 ]
> ほんとはglob()と同じにすべきだよな
いまさらglobを変えるわけにいかないからせめて関数的メソッドDir[]は配列を受け取るようにしたという流れだと思った
よく覚えてない

849 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 02:16:31 ]
Dir[]とDir.globの違いはなんだろ(引数以外)
Dir[]全部列挙で、Dir.globはブロック渡すと逐一処理可能ってことか?

850 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 03:32:53 ]
glob2とか作ってコンパチ目指したほうが。
なんか先に作った香具師の実装がアレでみんな迷惑してるの多いよね。cgiとかwww



Content-Transfer-Encoding: base64とか付いてるとか?

851 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 09:23:26 ]
>なんか先に作った香具師の実装がアレでみんな迷惑してるの多いよね。cgiとかw
あほか
それは事実だが結果的にそうなった
つまりそういう開発ポリシーだからそうなる必然
文句云うな

852 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 09:25:48 ]
日本語でおk

853 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 09:37:46 ]
まぁ文句あるならもっと良いもの自分で作れってことだろ
そうやってMatzんは煽って北

854 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 11:11:36 ]
「開発ポリシー」で互換性を残したままにするから、
結果的に古いのが残っているってことでしょ



855 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 11:36:22 ]
Rubyのコアライブラリ近辺って「1つ目」を作る人は大量にいるけど「2つ目」を作る人がいないんだ
全部自前でクラスやメソッド改造してしまうから

Ruby1.2くらいで「このライブラリの存在は大きいので、では本格的なものを添付しましょう」という流れにならないのがRuby

856 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 13:16:40 ]
cgi2chとかいうライブラリができたら楽しいなw

857 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 14:00:45 ]
>>844
シェルのワイルドカード展開と一緒だよ。コマンドラインで多用しない?
diff -c nagainamaenofairumeiwonandomoutitakunai.rb{.orig,}とか。

858 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 14:16:40 ]
確か次世代cgi.rbは、候補はあるけど決定的なものがないという理由で今のままなんだよね


859 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 14:24:55 ]
cgi.rbをとりあえずな感じで添付したらそのまま数年維持されて癌になったという経験が尾を引いてるな

860 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 15:40:24 ]
互換性なんかどこに残ってんだよ

861 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:26:19 ]
クラス CGI2ch::BBS
クラスメソッド
CGI2ch::BBS.new([index])
最新の板一覧取得用URL(複数候補可)を指定

インスタンスメソッド
menu()
板一覧を取得
戻値 (cat, host(FQDN), board, name) のリスト
例:
[('', 'www.2ch.net', '', '2chの入り口'),
('', 'info.2ch.net', 'guide', '2ch総合案内'), ...,
('ニュース', 'mamono.2ch.net', 'newsplus', 'ニュース速報+'), ...,
('PC等', 'pc11.2ch.net', 'unix', 'UNIX'), ...
('PC等', 'pc11.2ch.net', 'tech', 'プログラム技術'), ...]

board(name)
CGI2ch::Boardのインスタンスを生成



862 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:26:43 ]
クラス CGI2ch::Board
クラスメソッド
CGI2ch::Board.new(host, board)

インスタンスメソッド
subject()
スレ一覧を取得
戻値 (key, title, res) のリスト(スレッドキー, タイトル, レス数)
例:
[(1223709050, 'Rubyについて Part 33', 624),
(1233033091, '愛国Ruby', 14), ...]

thread(key)
CGI2ch::Threadのインスタンスを生成



863 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:27:07 ]
クラス CGI2ch::Thread
クラスメソッド
CGI2ch::Thread.new(key)

CGI2ch::Thread.create(name, email, body)
新スレを立ててインスタンスを生成

インスタンスメソッド
read(key)

write(name, email, body)



864 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:27:32 ]
>>856
こんな感じで計画中だけど
どう?



865 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:32:48 ]
クラスメソッド
CGI2ch::Thread.new(board, key)

CGI2ch::Thread.create(board, name, email, body)
新スレを立ててインスタンスを生成

boardが必要かな

866 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 16:42:18 ]
>[(1223709050, 'Rubyについて Part 33', 624),
> (1233033091, '愛国Ruby', 14), ...]

なにこれ

867 名前:710 mailto:sage [2009/01/27(火) 17:22:38 ]
>>711
Railsのスレあったんですね。
気づきませんでした。

>>715
コメントありがとう。
結局原因がわからなかったので、rjsの中でhtml(<option></option>)を組み立てて、selectボックスに
対してreplace_htmlしたら回避できました。



868 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 17:29:56 ]
>>864
計画倒れにならんようにがんがれ

869 名前:デフォルトの名無しさん [2009/01/27(火) 17:42:31 ]
2chの仕様なんて面倒だぞ。
専用ブラウザ開発者はマゾヒストとしか思えない。

870 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:00:13 ]
>>864
スレ違い
2ch専用ブラウザの作り方
ttp://pc11.2ch.net/test/read.cgi/tech/1180406037/

871 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:14:12 ]
>>862
愛国はかんべんw

872 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:17:05 ]
>>871
はいはい面白いね至高のギャグだね

873 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:18:57 ]
リファレンスマニュアルの使いにくさをどうにかしてください。
例えば、タイムアウトさせたい処理について調べたい場合、目次を見てもどこを見ていいのかさっぱりわかりません。

874 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:26:10 ]
あ、オフィシャルサイトは検索休止中なんだっけ
timeoutで全文検索すると出てくるぞ



875 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:35:31 ]
「Ruby マニュアル」でぐぐると「ruby マニュアル 検索」が関連で出てくる現状はどうにかしたほうがよい
ttp://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=Ruby+%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB&num=10

876 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 21:08:35 ]
ttp://doc.loveruby.net/refm/api/view/search?q=timeout

るりまはいつになったら公式化するのだろうか

877 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 21:22:00 ]
>>876
MLいわく、静的HTMLを吐くツールが整備されてから

878 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 23:59:46 ]
>>864
期待してます

879 名前:デフォルトの名無しさん [2009/01/28(水) 00:01:28 ]
>>864
そんなことしてる暇あるんなら
Rubyのリファレンスマニュアルを検索出来るようにしてくれさい

880 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 03:16:09 ]
つ refe2

881 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 04:26:03 ]
Rubyラブじゃ☆

882 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 05:49:46 ]
>>879
さっさとchm版を使ってください

883 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 11:53:50 ]
require "active_support" すると、
あらゆるオブジェクトに daemonize というメソッドが付いてくるんですが、
これって ActiveSupport が意図してやってるんでしょうかね?
こうするメリットが良くわからないんですけれども。

884 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 12:03:24 ]
Kernel や Object クラスのようなものに外部モジュールがメソッドを追加するというのは議論を呼ぶ設計なのは確か
ActiveSupport::Daemon.daemonize(obj) みたいなのでいいじゃんというのも指摘としては真っ当
そこで笑ってこっち見てる YAML 君もこっち来なさい



885 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:25:11 ]
require "active_support"を使わなければ問題ない

886 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:45:39 ]
String#each_line(sep) って、中で事前に巨大な配列作ってますか?
「ちょっとずつ」改行まで読み込んで返している動作ですか?

887 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:47:17 ]
フラッグ型に保ち合ってきた。どっちかにブレイクするかもな。

888 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:50:12 ]
誤爆・・・

889 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:55:36 ]
>>886
String#each_lineだから「読み込んで」は不適当な気がするが、
改行を探しては1行作ってyieldし、という挙動ではある。

890 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:59:42 ]
str.split(/sep/).each do |line|

str.scan(/\G#{sep}/){|line|
なら、String#each_line は後者のイメージに近いと思われ
「str が 大きかったら each_line 1回のためだけにでっかい配列ができて胃が痛い」とか考える必要はないかと

891 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 14:06:07 ]
やっぱ str.to_a.each_with_index do …はあんまりよくないのか
each_line_with_index って each がえにゅめらぼーウンタラの関連でどっかのバージョンで登場してたりする?

892 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 14:19:37 ]
>>891
行番号が知りたいんだろうけど、each_lineは行ごとにループ呼ばれるから
自分でカウントアップすればいいんじゃない?

893 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:05:28 ]
str.each_with_indexじゃダメなん?

894 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:21:04 ]
String から呼ぶ Enumerable のメソッドって String をどう扱うかイマイチわからん



895 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:29:55 ]
>>892
> 自分でカウントアップすればいいんじゃない?
なにそのwith_indexの存在意義自体を土足で踏みにじる暴言

896 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:36:40 ]
>>893,895
1.9のStringってeachがなくなってEnumerable非対応に
なるんじゃなかったっけ?

>>894
Enumerableのメソッドは全てeachに依存してるから、eachに準ずる。
直観的じゃないという話なら同意。


897 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:37:02 ]
Rubyには放っておいても増える隠し定数のループカウンタとかないの

898 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:43:37 ]
>放っておいても増える

そんなもんあったら問題だw

899 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 16:59:30 ]
1.8.7以降限定ならstr.each_line.with_indexでいいんじゃないの。
それより前だったらstr.each_with_indexでいいし。

900 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 17:02:23 ]
each_with_index自体あんまり使わないから正直どうでも良い

901 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 17:06:36 ]
行志向のファイルを処理するスクリプトを書かない人には無用の長物だな

902 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 17:15:11 ]
全機能使って書いてるのはRubyを作ってるモルモンくらいでしょ

903 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 17:20:55 ]
昔どのメソッドが何するもんかは覚えても実際使わないと忘れて逝くのが人類です

904 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 17:55:08 ]
>>894
1.9でString#eachがなくなって Enumerableじゃなくなったのはそれが理由だよね
バイト単位なのか、文字単位なのか、行単位なのか一般的には決まらないので
自分で明示して each_byte か each_char か each_line を使えと

でも自分スクリプトで
Stringが行単位のEnumerableなのを利用して
いきなり文字列の sort とかuniqとかしてたんだよね

で、1.8.6以前と1.9以降の両方で動くようにスクリプトの頭で
unless String.method_defined?(:each)
class String
alias each each_line
include Enumerable
end
end




905 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 18:31:47 ]
>897-898
$.

906 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 23:19:41 ]
よいまとめがあったんでシェア

Ruby1.9をこれから使う人のためのM17Nまとめ - 福島でRailsを使って仕事を頑張る計画
d.hatena.ne.jp/xibbar/20090126/1232946944

>>887
市況2?w

907 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 03:47:31 ]
>>864
wktk

908 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 04:19:58 ]
1.9なら
str.each_line.with_index {|line, idx| ... }
でFA。でかい配列を作ったりもしない。

909 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 10:32:14 ]
1.9知りたきゃ、これ見ろってことっすかね?

日本Rubyの会 公式Wiki - 1.9 Links
jp.rubyist.net/?1.9+Links

910 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 11:02:09 ]
>>909
リファレンスマニュアル見ろよ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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