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

175 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 14:09:24 ]
他の言語を学ぶという姿勢は賞賛に値する
Rubyしかできないとかマジ生ゴミ

176 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 14:27:08 ]
>>174
うん、だから、偽といえるかどうかではなく、そもそも型が同じであるかどうかを一緒にチェックする
PHP の ==(否定は!=) での比較は単に値が等しいことをチェックするが、 === は型も等しいことをチェックする(否定は!==)

>>148でしたい処理は

if (strpos('ABCDE', 'ABC') !== FALSE){
echo 'matched';
}else{
echo 'unmatched';
};

とか書くのが素直
!= で比較すると 0 が整数であるという情報がチェックに用いられないので常に結果が偽になってしまう

このへんは strpos のマニュアルにもサンプルコードつきで警告として載ってたりする
ttp://jp2.php.net/strpos
個人的には Ruby の gsub の挙動が極悪なのと似たような構造上欠陥じゃないかと思う

177 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 14:31:32 ]
あー、gsubも最初に用意されてる引数の構文の挙動が気難しくてブロックが推奨だったな

178 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:42:20 ]
まぁ値が数値型にも文字列型にもなるのはawkからの伝統だしな

179 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 02:23:34 ]
>>163
ありがとう。できたよ。
クッキングなんとかがうごいた。

で、次、これの開発ってどうやればいいの?

180 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 03:37:13 ]
railsのIDEは何を使えばいいの?

181 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 07:16:08 ]
いい加減、本買うかぐぐるかしようぜ。

182 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 10:27:50 ]
おっと質問の仕方が悪かったかな。
数あるIDEの中で、どれを使えばいいのかということ。

183 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 10:32:37 ]
>>182
どれも糞



184 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 10:34:30 ]
機能的にはNetBeandsがかなりがんばってる感じはするがどの程度実用に耐えるかは知らん。

185 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 10:38:09 ]
>>183でFA

186 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 10:45:14 ]
どうせ補間とか望めないからどれ使っても大して変わらん

187 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 10:48:14 ]
Emacsのような単なる単語文字列としての略語展開が一番マシという困った結論に…

188 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 10:52:09 ]
NBのコード補完はかなり強力。いつまでもema糞なんぞにしがみついてないで一度試してみるといい。

189 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 10:57:22 ]
NetBeansの補完は、まあ頑張ってるほうだとは思った
多少いい加減なのは仕方ない

190 名前:730 mailto:sage [2008/09/22(月) 11:01:46 ]
関数とかクラスが畳めるエディタが良いな。

191 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:04:19 ]
>>190
関数って何ですか???

実際上はEclipse+プラグインかNetBeansかEmacs/Vimくらいしかないんだから順に試しとけ
Javaの実行環境入れるのめんどくさい?もんくゆーな

192 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:07:51 ]
CPUが2Ghz程度しかない前時代のマシンではロクに動作しないので新しいマシン買うこと

193 名前:730 mailto:sage [2008/09/22(月) 11:09:54 ]
>>191

> 関数って何ですか???
まだそんなこと言ってるんですかw
関数と言い張りますよ。



194 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:15:51 ]
別に言い張ってて構わないと思うよ
Rubyの用語集にも書いてあるくらいだから

195 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:18:09 ]
>>193
クラスに関数があるのか?
あれは多くの言語で「いや、これを関数って呼ぶのはなんか違うな」と判断されてメソッドと呼ばれているものだと思うが
仲間外れはC++くらい?

196 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:22:19 ]
C++はメンバ関数だっけか

ともあれ、Ruby学ぶ気ないんだなと思われるのは必定
それによって起こる結果については暴れないことだ

197 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:31:56 ]
NetBeansとかは最初に何かするときに10秒くらいかかるのが切ない
同じことを2度目にするときは受忍範囲内なんだが

198 名前:730 mailto:sage [2008/09/22(月) 11:35:27 ]
わかった。
副作用があるものは関数とは呼べないのは同意だけど、
だとしたらプロシージャと呼ぶべき。

それに、メソッドという呼び方をすることがRubyを学ぶことにつながるとは言えない。
俺はもうRubyの大体のことはわかったし、
実際にRubyを使って新しいWEBサービスを稼働させている。

199 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:40:45 ]
>>198
なるほど、では君は初心者ではない
このスレから卒業し早々に立ち去りたまえ

200 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:43:59 ]
ここは純技術的な質問をするスレであって実のところレベルの高低は問わないのさ。

201 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:45:53 ]
>>197
arr = Array.new
arr.m

ここで「arrはArrayだからArray#mapでmap」という判断をして欲しい所存

202 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:48:21 ]
>>201
補完試すたびにソース全体をevalしまくりだな

203 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:51:36 ]
>>195
やっぱりAdaとかSimulaとか、あっちのほうの言語じゃ
メソッドは何が起源なんだろうか。Smaltalkとか?



204 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 11:59:10 ]
>>201
え、そういう状況に即した判断をするのがIDEの便利なとこなんじゃないの?
そこで「mのつくメソッド全部から選んでね」と表示するんじゃEmacsと変わらんぞ

205 名前:730 mailto:sage [2008/09/22(月) 12:02:49 ]
>>203
アランケイじゃない?
アランケイごときがsmalltalkを考えて、言語をわかりやすく庶民(笑)に伝えるために
オブジェクトにメッセージを送るという考えかたで説明したのが起源じゃないかな。
で、オブジェクトにメッセージを送る「方法」をそのままメソッドと呼んだだけ。
だから、別に「メソッド」は学術的に意味がある言葉ではない。

206 名前:730 mailto:sage [2008/09/22(月) 12:12:21 ]
アランケイがもてはやされるようになったのはC++が出てから。
それまでは普通の胡散臭いタイプの学者のおっちゃん。
ただ単に運良くオブジェクト指向が流行ったからアランケイがもてはやされるようになったというだけ。
オブジェクト指向は流行るべくして流行ったというわけでもないから、
本当に運が良かっただけと言うべきだね。
アランケイの言葉を未だに使い続ける理由はそれだけだね。

207 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 12:26:13 ]
はいはい初心者スレでつまんない自説自慢はやめてね

208 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 12:31:01 ]
アランケイがもてはやされるようになったのはMacが出てから。
それまでは普通の胡散臭いタイプの学者のおっちゃん。
ただ単に運良くGUIが知られてアランケイがもてはやされるようになったというだけ。
SmalltalkタイプのGUIは流行るべくして流行ったというわけでもないから、
(ジョブズがたまたまAltoで動くSmalltalkシステム=暫定Dynabookを見て感動しただけで、
Alto向けにはSmalltalk以外にもStarとかのいろんなタイプのGUIがあったから)
本当に運が良かっただけと言うべきだね。
アランケイの言葉を未だに使い続ける理由はそれだけだね。

209 名前:730 mailto:sage [2008/09/22(月) 12:37:54 ]
ともかく、メソッドをプロシージャと呼ぼうが、C言語的な意味で関数と呼ぼうが問題ないわけ。
メソッドと言わないと通じないというわけでもないしね。

210 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 12:52:54 ]
>>209
どう呼んでもいいのならメソッドと呼べ
Rubyではそれをメソッドと呼ぶ

211 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 12:58:27 ]
うむ、結論が出たな

212 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 14:22:12 ]
>>210
どう呼んでも良いことを認めたら、それこそ自由に呼んで良いんじゃないの?w

213 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 17:38:14 ]
じゃあ俺は各ソースファイルのことをモジュールと呼ぶことにしよう
どう呼んでも問題ないんだよな?

…とまあ、そういう話があるので

「Rubyで def や define_method で定義するのは全てメソッド
 一部メソッドは関数と呼ばれることがあるが
 それらも全てメソッドであることをお忘れなく」

程度にしておこうな
まあ、モジュールほど紛らわしい単語ではないから
関数と書かれていても解るが



214 名前:730 mailto:sage [2008/09/22(月) 18:30:43 ]
うざいから消えてくれないかな

215 名前:730 mailto:sage [2008/09/22(月) 18:31:48 ]
おまえがな

216 名前:730 ◆KL6EsW0z.s mailto:sage [2008/09/22(月) 18:32:32 ]
これで満足か

217 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 18:37:29 ]
自覚してんじゃんwww

218 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 18:50:38 ]
netbeansいれてみたんだが。

新規railsプロジェクト、で、
サーバーのところで
webrickってのしか選べないんだが、
これってなんなの?

WEBサーバーって言ったらアパッチじゃないの?

219 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 18:52:04 ]
netbeansいれてみたんだが。

すでにinstantrailsで、railsはインストール済みなのだが、
「railsがインストールされていません」
というメッセージが出てきて、勝手にまたrailsをインストール
された。つまり、今パソコンにrailsが2つ入っているわけで
無駄このうえない。どういうこと?

instantrailsのrailsと、
netbeansのrailsと、使い分けろってこと?

220 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 19:16:13 ]
「実行」ってやったら勝手に
ブラウザ起動して、
localhost:3000がアドレスに入って、
サンプルのページが出てきたんだが、
これってもしかして、netbeans起動中は
勝手にWEBサーバーも起動しているということか?

221 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 19:53:18 ]
そろそろ解決してる頃だな
自分で調べりゃ早いのに

222 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 09:18:36 ]
www.thinkit.co.jp/cert/article/0605/2/2/4.htm

このページに書いてあるとおりにやっても
うまくいきません

223 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 09:19:45 ]
RadRailsの右下ペインの「Servers」を選択して
「AddressBookServer」を起動します。
ステータスが「Started」になれば、Web
サーバの起動は完了です。


↑こう書いてあるのですが、
ステータスが
starting...
で10秒たって、
stopped
になってしまいます。

なんでサーバーがスタートしないんでしょうか?



224 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 12:06:26 ]
www.rubylife.jp/rails/erb/index2.html

とりあえずここまでできた。
IDEを使わずコマンドラインでやるのが
結局一番早かった。

225 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 12:57:46 ]
うごいたーーーーーーーーーーーーーーー
ファイヤーウオールで
アプトナの通信をブロックしてたのが
原因だった

アプトナの通信を
「すべて許可する」
にしたら、マニュアルの通りに動いたーーーーーーーー
ガオーーーーーーーーーーーーーー

226 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 13:18:38 ]
なんでwebrickとモングレの2つの
サーバーがあるの?

227 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 13:19:23 ]
ルービーっておかしいわ

まずインストーラーの段階からして3つあるし、
エディターは3つあるし
IDEは3つあるし
サーバーは3つあるしで、

いいかげんにしろっての。

228 名前:50 mailto:sage [2008/09/24(水) 14:12:41 ]
すみません。大変遅くなりました。都合でネットにアクセスできなかったもの
で。もう少しここで話をさせてください。

>>71
> local visibilityとかいう新機能とは違うのかな。
ちょっと調べてみたのですが、2006年ごろで話は止まっているのではないでしょ
うか?

>>74-76
すみませんが、私が問題視しているのはevalではないのです。evalを持つ言語、
オープンクラスを持つ言語に共通する点ではなく、Ruby固有のクラス実装を私
は問題視しています。

具体的には、以下のようなことです。

・あるクラスを継承するときに、親クラス名.methods などを頻繁に実行して、
存在するすべてのメソッドやインスタンス変数の名前を確認して、衝突を避け
なければならない。

・あるクラス内だけで使う、公開しないツールのようなメソッドを作れるよう
な名前空間がどこにもない。

これらを解決する方法が、コーディング規約によるプレフィックスのみという
のは、ずいぶん原始的で、JavaやC++に慣れた人なら不自由を感じると思うの
ですが。しかもRuby の大クラス主義で、既存のプロパティの数は膨大です。

そこで、皆さんがどのように感じておられるのか、お聞きしてみたいと思いま
したが、このスレの反応を見てもやはりあまり問題視されていないようで、こ
れはやはり意外でした。


229 名前:50 mailto:sage [2008/09/24(水) 14:13:55 ]
>>76-78
私が言及していた、継承を必要とするフレームワークとは Rails のことです。
継承が危険だとはよく言われますが、、継承を多用しなければ Railsの簡潔さ
はかなり損なわれたことでしょう。

継承そのものが悪という視点には、あまり賛同できません。例えばプロトタイ
プベースの言語なら、委譲でも同様の問題が起こるからです。継承にせよ委譲
にせよ、他のオブジェクトへのプロパティの探索が自動的に行われる仕組みが
ある限り、この問題は必ず起こるでしょう。それは簡潔さとのトレードオフです。

しかしここでは、継承の善悪にはこれ以上踏み入りたくないのです。私は、
Rubyにおいては継承がいっそう危険になっているという点に、話を絞りたいです。

そもそも、継承の良し悪しや好き嫌いにかかわらず、私たちは業務でRailsを使
わざるを得ません。


>>76
トップレベルにメソッド定義というのは、フレームワークが強制するという話
ではなく、初心者プログラマが知らずに作ってしまう危険性を言っています。

トップレベルの関数がObjectクラスのprivateメソッドだというのは確かにう
まい仕組みだと思いますが、これを知っている人は、Ruby利用者の半数以下だ
と思います。これは直感的に予想しづらい、危険な仕様ではないでしょうか?

何も知らないでトップレベルに def object_id; 0 end などと書けば、すべて
のオブジェクトインスタンスのidが0になってしまうのです。そしてこれを書
くことは、プロジェクトに関わるどの人間にも可能なのです。


230 名前:50 mailto:sage [2008/09/24(水) 14:15:25 ]
最後に、自分の印象ですが、

C++ ... アクセス、改変してはいけないものには、ユーザがアクセスする方法
が決して存在しない。

Python, Java ... アクセス、改変してはいけないものは、ユーザが意図しな
ければアクセス、改変されないが、意図すれば誰もが自由にアクセス、改変できる。

Ruby ... アクセス、改変してはいけないものを保護する方法が乏しく、ユー
ザが意図せずにアクセス、改変してしまうことがある。

つまり、私が問題にしているのは、アクセス、改変が可能かどうかではなく、
それを意図していないのに誤ってアクセス、改変してしまう危険についてなの
です。

この二者は、Rubyはフレキシブルな言語だという主張によって、しばしば混同
されがちだと思います。フレキシブルなのは結構ですが、自分の足を撃ちたく
はないのです。


以上です。長々と失礼しました。

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

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






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

前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