[#48430] WEBrick — 牛坂 博則 <ushizaka.hironori@...>
|牛坂ともうします。
8 messages
2011/10/03
[#48443] 関数の戻り値について — "Jun'ya Shimoda" <jun-shimo@...>
下田です。
7 messages
2011/10/07
[#48450] 1.8.7と1.9.2の挙動の違いについて — "Jun'ya Shimoda" <jun-shimo@...>
下田です。
13 messages
2011/10/09
[#48451] Re: 1.8.7と1.9.2の挙動の違いについて
— "Jun'ya Shimoda" <jun-shimo@...>
2011/10/09
下田です。
[#48467] net/https のproxy経由接続シーケンスについて — KASUGA Toru (春日 玄) <kasuga.toru@...>
春日と申します。
7 messages
2011/10/14
[#48468] Re: net/https のproxy経由接続シーケンスについて
— 名島太樹 <h.najima@...>
2011/10/14
名島と申します。
[#48475] Re: net/https のproxy経由接続シーケンスについて
— KASUGA Toru (春日 玄) <kasuga.toru@...>
2011/10/16
名島様
[#48480] [ANN]第13回ぐんまRubyの勉強会(guRuby)のご案内 — Yuichi NANSAI <nansai@...>
南齋と申します。
1 message
2011/10/17
[#48484] Windows で $0 へ代入すると刈り取られる — "5.5" <5.5@...>
5.5 です。
10 messages
2011/10/20
[#48485] Re: Windows で $0 へ代入すると刈り取られる
— Nobuyoshi Nakada <nobu@...>
2011/10/21
なかだです。
[#48486] Re: Windows で $0 へ代入すると刈り取られる
— "5.5" <5.5@...>
2011/10/21
5.5 です。
[#48496] IE9/Windows7(64bit)だとformをsubmitできない — 大縄亮 <onawa@...>
はじめまして。株式会社マイレージテクノの大縄と申します。
7 messages
2011/10/25
[ruby-list:48460] Re: 1.8.7と1.9.2の挙動の違いについて
From:
"KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
Date:
2011-10-10 07:22:37 UTC
List:
ruby-list #48460
> # 再帰は私も使います。 > #「はやく動く」プログラムよりも、はやく「動くブログラム」が欲しいとき > # 再帰で書くのが楽何て事はよくあります。 > > 出沢@相変わらず日本語が駄目、、、、、 最近の関数型プログラミングの本ならどれにもあると思うのですが、 (実のところ内部で再帰を使うのであっても)陽に自分の手で直接再帰を 書くのではなく、mapとかのような高階関数を使うほうがスマート、という のもありますね。 > ああ、そういうことだったんですね。 > > 回答するに当たって言語は問わないとの事だったので > > 多分Rubyでしか使えないロジックよりも一般解に導くように > > 教えるのが良いだろうと判断して彼と議論してました。 たとえば「 [1, 2, 3] という配列があって、その配列と + という 演算子から、1 + 2 + 3 を計算する」というような発想は、なにも 「多分Rubyでしか使えないロジック」ではありません。ごく一般的な ものです。Python でも reduce(lambda a, b: a + b, [1, 2, 3]) の ように、普通にできるものです。 ですがここで、一般解とはなんでしょうか? たとえば、PHPでもできること、できるやりかた、それだけに縛って Rubyを使うのなら、Rubyを使う意味は全くありません。PHPを使えば よいのです。 何のためにRubyを使うor勉強しているのでしょうか? あと「プログラム1」についてですが、プログラミングの入門を終えた なら、基礎を固めるトレーニングとして、atoi (というC言語の関数が あります) とかその逆などのような操作を、 ・単純に ・短く ・速く ・移植性を高く といったことに注意して(両立することもあればトレードオフのことも あります)書く、といったことをしますが、そういったことをやって いれば、もうほとんど考えるまでもなく反射的に出てくるコードかと 思います > str[0], str.slice(0) > です。これを私は最初の「文字」を抽出してくれるものと思い > 実際1.9.2では最初の文字を抽出してくれるのですが > 1.8.7では最初の「バイト」を得るそうです。 これは 1.8 と 1.9 の変更点にたまたまひっかかってしまったもので それはしょうがないですが、 > str[0, 1], str.slice(0, 1) > にすれば、互換性が保たれます。 > 引数によって戻り値が文字だったり数値だったりするのが予想外でした。 > 個人的にはあまり良い事だとは思えませんが・・・ 引数の数が違えばメソッドのふるまいが違う、などといったことは オブジェクト指向ではよくあることです。なにか違う所があるなら、 それは違う動作をするはず、というのが普通の予想だと思います。 また [n, m] のふるまいについては、String だけでなく、Array でも 同じように働くものですから、むしろ予想できるものです。 irb> foo = [1, 2, 3, 4] #=> [1, 2, 3, 4] irb> foo[1, 2] #=> [2, 3] rubyの場合、うっかりした時にコンパイル時の静的なエラーにならない というのは難点ですが…… また、1.8以前のふるまいは、C言語などの、文字列strに対して int c = str[3]などのようにしてその文字を整数値として取り出す、 というイディオムがそのまま使える、という利点があり、決して 全く予想外のものではありません。1.9でのm17nにより、やむをえず 変更されたものです。