Rubyについて Part 34at TECH
Rubyについて Part 34 - 暇つぶし2ch650:デフォルトの名無しさん
09/03/03 00:54:15
言語仕様的にはPHPよりRubyの方がずっといいように思う。
便利は便利だが、もうPHPに戻るつもりはない。

651:デフォルトの名無しさん
09/03/03 01:17:09
禿げ堂
漏れもそう思ってPHPからRubyに乗り換えた
今はPythonを使っている

652:デフォルトの名無しさん
09/03/03 01:58:52
> UTF-8 がASCII圏の奴らのワガママ
たしかにそうかもしれんが、UTF-8は結構うまく考えられていると思うがな。

653:デフォルトの名無しさん
09/03/03 05:02:03
>>648
UnicodeではなくUTF-8?

654:デフォルトの名無しさん
09/03/03 06:23:13
他国語化考えてない古いアプリでも
UTF-8だと通ったりするからな
うまく考えられてるよ
そういう利点は素直に認めるべき

655:デフォルトの名無しさん
09/03/03 12:10:12
>>608
そんな俺は forth(というか concatenative language)に行く


656:デフォルトの名無しさん
09/03/03 18:15:20
1.9.1でしつもん
irb で1.9対応が怪しいライブラリを実行して
ArgumentError: invalid byte sequence in EUC-JP
というようなエラーが出る場合、「悪い」のは irb の設定?
それとも元のスクリプト?
それともライブラリそのもの?

657:デフォルトの名無しさん
09/03/03 18:19:12
マジックコメント入れて
ruby1.9 -E utf-8 hoge.rb
とか適当なエンコーディング指定してもエラーが出るなら、ライブラリの書き方が悪い可能性が大
マジックコメント入れてないなら、スクリプトが一方的に悪い

658:デフォルトの名無しさん
09/03/04 01:08:26
>>652>>654
うん、確かにASCIIとの互換性を保ちつつ従来の文字エンコードの
課題を克服した、とてもよい設計だと思う。UNICODEの普及に
大きく貢献してるね。
>>648は「これで Joel に興味持ってくれたらいいな」とあえて偏見
気味に書いてみたw


659:デフォルトの名無しさん
09/03/04 01:41:22
あっそ

660:デフォルトの名無しさん
09/03/04 07:12:54
ということにしたいのですね

661:デフォルトの名無しさん
09/03/04 09:06:32
void キタ! Rubyには型は無いのに!

662:デフォルトの名無しさん
09/03/04 09:55:21
型が無いわけじゃないんだけどな。

663:デフォルトの名無しさん
09/03/04 10:55:03
一般的に型と呼ばれるもので「保証」されているあれこれがRubyには存在しない、が妥当な表現?

664:デフォルトの名無しさん
09/03/04 10:57:54
プログラム言語の理論をあまり知らない初心者だけど、
一般的に型って言った場合、どういったものを指すの?

変数(入れ物)の型?中身(オブジェクト?)の型?
静的型言語って言った場合は、前者でいいのかな。

665:デフォルトの名無しさん
09/03/04 11:19:33
>>664
そう
静的な型付けでは入れ物の型を先に決めるから、結果として入れることができる中身も限定される

666:デフォルトの名無しさん
09/03/04 11:45:05
Rubyの概念的には
「変数そのものもなんらかのクラスのオブジェクトのようなもんである言語があるらしい」
だと思ってくれればそう間違ってもいない

bind_type(:str, String)

とすると str は絶対に String のインスタンスしか入らない(整数を代入するとTypeError)みたいなそんな感じ

667:デフォルトの名無しさん
09/03/04 12:40:32
>>665
なるほど。中身そのものの型を変えられるのかどうかは知らないけど、とりあえず動的・静的って
言ってるときには、それはあんまり関係ないのかな。
あくまでも変数の型についての話、でいいのかな。

>>666
これは、TypeErrorを出しているのはその「なんらかのクラス」の機能ってことだろうか。
んでこういうこともできるから、一応Rubyに型がないわけではない、っていう意味?

668:デフォルトの名無しさん
09/03/04 12:52:27
Rubyしかやらないのなら型について気にする必要は一切ない
公式には型はない
型のある言語を学ぶようになってから型について学べば十分

669:デフォルトの名無しさん
09/03/04 12:59:07
中身の方に「お前は誰だ」って聞いてやればいいんだよね
unless(String == obj)
raise ArgumentError, "イテーヨシ"
end
みたいに。

670:デフォルトの名無しさん
09/03/04 13:09:07
>>669
実行時にしか評価できないのなら型の実際的意味がない

671:デフォルトの名無しさん
09/03/04 13:12:41
>>666
横から悪いが、何を言ってるのか分からんのだけど、どゆこと?

672:デフォルトの名無しさん
09/03/04 13:27:02
静的だと値にも変数にも型がある
動的だと値には型があり変数にはない
とか

673:デフォルトの名無しさん
09/03/04 13:31:21
>>670
型を間違ってコーディングした事を、実行前に知りたい、という事?
だったら趣味ならともかく、まともなアプリにはtestは必要なんだから、型の間違いはすぐ判る。
動的に切り替えできる必要がある場合は、動的型付けの方がやり易い。

>>671
>>664
横レスだが、型には多相型(Haskellなど)、単一型(C、Java、Rubyなど)があると思ってくれ。
単一型をさらに、静的、動的に分類可。

静的--->変数と型との対応が固定。
int i=1とした後、i='a'とするとエラー

動的--->オブジェクトと型との対応が固定。 変数とオブジェクトとの対応は可変。
a=1とした後、a="abc"と出来る。

>>672
> 動的だと値には型があり変数にはないとか
Rubyはそのとおり。

674:デフォルトの名無しさん
09/03/04 13:45:38
>>673
いや、うん、そうだけど、あなたの言ってる事と>>666の内容は
およそ一致してると考えていいのかな?
俺にはそう取れなかったので

675:673
09/03/04 13:56:28
>>674
「型についての知識が、静的型付け言語の範囲内」の人に始めてRubyを説明するときには、
>>666の表現は厳密ではないが受け入れ易いと思う。

676:デフォルトの名無しさん
09/03/04 14:17:33
変数に型がないことを説明したいのに変数を型にはめることだけ例示されてもなー
という違和感が >>666 にはあるな

677:デフォルトの名無しさん
09/03/04 14:34:28
文句言うなら自分で説明する
でもスレ違いなんだけど

678:デフォルトの名無しさん
09/03/04 15:59:47
俺がよく使うたとえ話としては

「変数は入れ物じゃなくて、ラベルみたいなもん」
「代入じゃなくて名前付け。データとかオブジェクトに対して名前をつける」
「ラベルはどんなオブジェクトにも貼り付けられる。型はオブジェクトそのものの属性」
「ラベルには賞味期限と有効範囲がある」
「すべてのラベルが剥がされると、参照不能になってGC様の餌になる」

厳密じゃないが、おおむねこれで理解してもらえてる。

679:デフォルトの名無しさん
09/03/04 17:53:38
>>678
>「ラベルには賞味期限と有効範囲がある」
この辺をkwsk

680:デフォルトの名無しさん
09/03/04 18:03:07
エクステントとスコープのことだな。

681:デフォルトの名無しさん
09/03/04 18:04:54
Rubyに型がないという話なんて誰もしてないと思うんだが

682:デフォルトの名無しさん
09/03/04 18:10:52
>>681
>>668

683:デフォルトの名無しさん
09/03/04 18:17:44
>>673
型testのコードは自動で生成されるの?
でなかったら結局人間による抜けがでそうだけど...


684:デフォルトの名無しさん
09/03/04 18:26:03
便利さ・柔軟さのトレードオフとして危険性はある。

でも、プログラムは仕様通りの動作をすれば内部の変数にどんな型のオブジェクトがあるのかは関係ないし、
ライブライリーのpublicメソッドの引数なんかは型チェックをしてるよ。

685:デフォルトの名無しさん
09/03/04 18:34:44
Ruby的にはオブジェクトの種類はどうでもいい
メソッドさえ動作すれば、引数のクラスは全く問わない
文字列の代わりに、Stringと同じメソッドが定義されてる別のクラスのオブジェクトを渡しても普通は動く

ただ、ぶっちゃけこの考え方は柔軟だが動作の保証が非常に面倒なので、勢い

raise ArgumentError unless param.is_a?(String)

とか書く

686:デフォルトの名無しさん
09/03/04 18:37:55
bind_typeってどのバージョンから使える?

変数のエクステントって概念は知らなかった。
スコープの延長で、可視範囲から外れればだれからも見えなくなるから
忘れ去られると考えてた。これだと静的変数の説明がしにくいんだよな。

687:デフォルトの名無しさん
09/03/04 18:39:58
>>686
bind_type は説明用の擬似的なメソッドだろう
あれば楽しそうだが

688:デフォルトの名無しさん
09/03/04 18:45:01
respond_to?のお役立ち度の微妙っぷりは異常

689:デフォルトの名無しさん
09/03/04 18:56:33
>>683
自動testはHaskell以外は知らない。
言語によらず、型に合った(or意図的にエラーを起こさせる)テストデータを与える必要があるんでは?

690:デフォルトの名無しさん
09/03/04 20:02:44
>>680
そうかなーとは思ったのだが、「ラベル」の賞味期限とエクステントとがうまく結びつかない。
「オブジェクトには賞味期限があり、ラベルには有効範囲がある」なら納得なのだが。

691:デフォルトの名無しさん
09/03/04 20:19:30
オブジェクトの賞味期限は貼るラベルによって変わってくるからいいんじゃない?
もうちょい気を利かせると「ラベルには賞味期限と有効範囲が書いてある」とかだろうか

692:デフォルトの名無しさん
09/03/04 21:03:27
Smalltalkには、 Objectにbecome: というのがあった気がする。



693:デフォルトの名無しさん
09/03/04 21:28:13
# v1.9.1
require 'prime'
Prime.instance.each_cons(2).select {|x, y| y - x == 2 }.first(10)

最初の10組の双子素数を求めようと、このようにすると、当然のように
selectから帰って来れません。ループ組んで10個見つけたら打ち切るみ
たいにするしかないでしょうか。


694:デフォルトの名無しさん
09/03/04 23:08:20
仕方ないように見える
遅延評価があれば似たような書き方ができそうだが、
Rubyではサポートされていない

695:デフォルトの名無しさん
09/03/04 23:11:44
selectってなんだっけ

696:デフォルトの名無しさん
09/03/04 23:17:53
>>695
find_all

detect が find で
select が find_all で
collect が map だ

697:デフォルトの名無しさん
09/03/04 23:32:04
うへ、Enumeratorが無限なのか
変なの作ったなあ

>>693
ループ組んで10個見つけたら終了、という使い方を想定していると思われる

698:デフォルトの名無しさん
09/03/04 23:38:16
Ubuntu で Ruby1.9.1 をコンパイルしたんだけど irb で矢印キーが効きませぬ
readline5 の devel は入ってたのになあ

699:デフォルトの名無しさん
09/03/04 23:42:55
クト類はわかりにくい

select が find_all で
collect が map で
detect が find で
inject が 特になしで
reject! が delete_if

700:デフォルトの名無しさん
09/03/04 23:48:14
たぶん散々既出だと思うが、
select → grep
collect → map
にしなかったのはなぜなんだろ?(まあmapはあるのか)

701:デフォルトの名無しさん
09/03/04 23:53:12
detect と select は意図的に使わない
というか detect は true か false を返すべきだと思う

702:デフォルトの名無しさん
09/03/04 23:55:59
>>700
お前んちのgrepはマッチしなかった行を空行で返したりでもするのか?
てかあのへんは既存の言語の関数をRubyのメソッドに持ってきただけだからどうにもならん

703:デフォルトの名無しさん
09/03/05 00:06:06
>>702
うん?
[0,1,2].select {|i| i == 1} #=> [1]
空行なんて返ってこなくていいよ

find_allって何から来てるの?
grep, map はPerlからなら素直に覚えやすいんだが。

704:デフォルトの名無しさん
09/03/05 00:15:02
おそらく>>700は矢印をオレオリジナルで使っててなおかつ自覚がない

705:デフォルトの名無しさん
09/03/05 00:20:17
全角矢印のム板汎用的な用法なんてあるのか?
意味は通じると思うが

706:デフォルトの名無しさん
09/03/05 00:33:26
Prime.instance.each_cons(2).enum_for(:select, &->(e){e[1]-e[0]==2}).first(n)

first(3)まで見て出来た気になったがfirst(4)を見て全然意味を成していないことに気づく。
enum_for(*args)にはブロック渡せないぽいなぁ。


707:デフォルトの名無しさん
09/03/05 00:35:52
1のとき[2,3]が返る時点で気づこう。


708:デフォルトの名無しさん
09/03/05 00:36:38
>>705
断言しても言いが、経験上たぶん通じてない

709:デフォルトの名無しさん
09/03/05 00:50:56
>>693
module Enumerable
def select_by(block)
return to_enum(__method__, block) unless block_given?
each {|e| yield e if block.call(*e) }
end
end

require 'prime'
Prime.instance.each_cons(2).select_by(lambda {|x, y| y - x == 2}).first(10)

でどう?

710:デフォルトの名無しさん
09/03/05 01:26:31
>>709

>>Prime.instance.each_cons(2).select_by(lambda {|x,y| y - x == 2}).first(10)
=> [[3, 5], [5, 7], [11, 13], [17, 19], [29, 31], [41, 43], [59, 61], [71, 73], [101, 103], [107, 109]]

なるほどね。


711:デフォルトの名無しさん
09/03/05 02:34:18
Prime.instance.each_cons(2).select {|x, y| $. > 10 ? raise 'sine': y - x == 2 }

712:デフォルトの名無しさん
09/03/05 12:03:00
おおむねスレ違いなんだけどさ、github で「今の状態のライブラリをZIPでくれ」ということはできない?

713:デフォルトの名無しさん
09/03/05 13:18:30
せめてLinux板のgitスレで聞け

714:デフォルトの名無しさん
09/03/05 13:44:10
downloadsに用意されてなけりゃできないんじゃねーかと思う
素直に git インストールして git clone git://hoge.github.com/... するのが一番
カレントディレクトリに、たとえば rubygems のライブラリなら hoge/lib ができる

715:デフォルトの名無しさん
09/03/05 16:12:18
もっと英語の作文勉強しておけばよかった
そんだけ

716:デフォルトの名無しさん
09/03/05 16:15:31
Rubyって普及こんな特集記事が載せられるほど普及しているんですね

すっげー、かっけー

URLリンク(itpro.nikkeibp.co.jp)

717:デフォルトの名無しさん
09/03/05 16:20:21
>>715
「書いてみたが、伝わるんだかどうだか不明」という場合は、既出だが自動翻訳サイトを通してみるといい
自動翻訳でなんとなく意味が通じる場合は、外人さんにもなんとなく意味が通じる可能性が高い

訳して何がなんだかわからない場合は、翻訳サイトがへぼい可能性ももちろんあるが、
そもそもの英文がかなり微妙な出来である可能性もかなり高い
日本人であることが相手に伝わってる場合、下手に凝る文章よりも
翻訳サイトで結果が出るようなプレーンな英文のほうが好ましく思われる傾向にある

スピーチとかサイトへの寄稿文とか書いてるという話なら失礼

718:デフォルトの名無しさん
09/03/05 21:49:47
まつもとさんになんてことを

719:デフォルトの名無しさん
09/03/05 21:58:51
どこの翻訳サイトはレベルが高いのがありますか?

720:デフォルトの名無しさん
09/03/05 22:03:06
niftyが結構マシ

721:デフォルトの名無しさん
09/03/05 23:08:40
やっぱ買うのがおすすめ。IT系の辞書とかつけて。

おれは英語のサイトだとすぐに回れ右していたが、
翻訳ソフトを買ってから割と読むようになったし、苦じゃなくなった。
翻訳されてるんだから当たり前だけどな。

722:デフォルトの名無しさん
09/03/05 23:13:49
読むのはいいんだけど、書くのがねえ…

723:デフォルトの名無しさん
09/03/06 00:46:14
It's easy to read, bat hard to write.

724:デフォルトの名無しさん
09/03/06 00:59:36
そうか?翻訳ソフト使えば書く方が簡単だと思うぞ。
書くときは自分で簡単な言い回しに変更できるけど、読む方は相手次第なんだから。
元の文章を工夫するんだよ。オフィシャルな文章じゃそうはいかんだろうけど。

725:デフォルトの名無しさん
09/03/06 01:46:08
書けないと読めないって良く言われるね

726:デフォルトの名無しさん
09/03/06 02:04:16
きっちり書こうとすると前置詞とかが難しいのよね

727:デフォルトの名無しさん
09/03/06 02:13:51
難しいというか、正しく伝わってるかどうか確信が持てない。
おかしい所にも気づかない。
という不安が常につきまとう。読む方にはそれがあんまりないので、
書く方がはっきり難しいと思う。

728:デフォルトの名無しさん
09/03/06 02:34:05
冠詞も良く分からん
I am a God. は間違いらしい

729:デフォルトの名無しさん
09/03/06 02:39:40
そりゃそうだ・・・

730:デフォルトの名無しさん
09/03/06 02:42:17
go to the heaven
なのに
go to hell
だったり

731:デフォルトの名無しさん
09/03/06 02:48:29
おかしいと思って調べたが「go to heaven」でいいはずだぞ。
theの使い方を覚えろよ。それにこのあたりの区別は日本語の助詞なみに難しいと思うぞ。
こんなとこ完璧にするより内容を考えろよw

732:デフォルトの名無しさん
09/03/06 03:18:33
日本語ペラペラでも文章の稚拙な外人っているじゃん
そういう人の文章見てみんなどう感じる?

733:デフォルトの名無しさん
09/03/06 03:51:52
言語的な問題なら仕方ないと思うかなあ。
でも論理的な明快さに欠けてたら、母国語でもそうなんだろうなと思う。
話せればいい文章を書けるなら、
日本人は日本語ならみんないい文章を書けることになってしまう。

って、Rubyの話じゃないじゃん。

734:デフォルトの名無しさん
09/03/06 05:26:21
in the heaven
in hell
らしい

735:デフォルトの名無しさん
09/03/06 09:12:50
1.9のEncodingのエンコード名称って大文字限定?

736:デフォルトの名無しさん
09/03/06 09:24:21
>>735
まず自分でirbでも使って試してみるのがいいと思うよ!
Encoding.findオススメ

737:デフォルトの名無しさん
09/03/06 09:43:53
>>735
1.8でも値だけ作っておくとかそういう時は大文字で書いておくのがいいと思う

738:デフォルトの名無しさん
09/03/06 11:48:30
URLリンク(twitter.com)
ふざけんな!
1.8.6と心中せざるをえない数万のプログラマーを見殺しにするのか!!

739:デフォルトの名無しさん
09/03/06 11:51:56
1.8.6は今存在してるんだからそれ使ってればいいじゃない。

740:デフォルトの名無しさん
09/03/06 11:58:35
PHP5が出た時と全く同じ騒ぎに見える。
PHPの場合は、本格移行の流れになったのは4のサポート停止が"されてから"だから大体3~4年かかってる。
RubyはPHPほど実運用されてないので移行はもう少し早かろうが、逆にそのまま放置される恐れもあるよな。
Perl5.0や5.6も結構しぶとく残ってたし。

741:デフォルトの名無しさん
09/03/06 12:07:24
>>738
> 1.8.6と心中せざるをえない
具体的にはどんな人?

742:デフォルトの名無しさん
09/03/06 16:02:12
移行なんかしなくていいじゃん。

743:デフォルトの名無しさん
09/03/06 16:06:30
>>741に回答が無い時点でたいしたもんじゃないな

744:デフォルトの名無しさん
09/03/06 16:38:30
>>743
まあ1.8.7にアップグレードできないのも1.8.7向けに改修できないのもほとんどは契約の問題だと思う
個々のプロジェクトの契約の問題の責任をRubyに負わせるとかお前何様って感じだ

745:デフォルトの名無しさん
09/03/06 18:47:41
このテストスクリプト間違ってる…

746:デフォルトの名無しさん
09/03/06 19:23:35
1.8.6とかで放置でも問題ないケースも多い
スクリプトの寿命よりサーバーの寿命の方が先に来る


747:デフォルトの名無しさん
09/03/06 19:26:33
> スクリプトの寿命よりサーバーの寿命の方が先に来る

だからなんだというのだろうか?

748:デフォルトの名無しさん
09/03/07 02:12:04
1.8.7用に書いたスクリプトが1.8.6で動かない事はあるかも知れないけど
1.8.6で動くスクリプトが1.8.7で動かない事ってあるの?

749:デフォルトの名無しさん
09/03/07 02:34:09
そりゃあるだろうが、割合的にはかなり稀

750:デフォルトの名無しさん
09/03/07 13:51:10
>>745
悪いね、正しい結果を出すのが明らかな代表的なのしか書いてないんだ

751:デフォルトの名無しさん
09/03/07 14:15:03
RailsのMultibyte拡張でStringにcharsというメソッドを定義してたのが
1.8.7のcharsと衝突したってのは結構知られているはず。
これは、Railsがmb_charsという名前に変更した。



752:デフォルトの名無しさん
09/03/07 14:50:22
あれは組み込みクラス拡張するほうが一方的に悪いから、仕方ないな
利便性と引き換えの非互換リスク

753:デフォルトの名無しさん
09/03/07 19:21:12
>>748
rubyは1.8.6用に書いたスクリプトが1.8.6で動かなくなったことだってあるwww

754:デフォルトの名無しさん
09/03/07 19:27:05
>>753はパッチの意味を理解していない

755:デフォルトの名無しさん
09/03/07 19:28:48
RDoc フォーマッタで attr 系列が別待遇なものが多いのはなぜ?
あれ他のと混ぜて一律にメソッドとして説明すればいいじゃんね

756:デフォルトの名無しさん
09/03/07 19:35:32
>>755
俺もそう思ってるんだけど、

 ・ プロパティ厨
 ・ attr で書いたものはそれ自体に意図があるよ説

が結構根強い

attr_accessor :hoge



def hoge
 @hoge
end

def hoge=(v)
 @hoge=v
end

には違いがないと思うんだけどねえ

757:デフォルトの名無しさん
09/03/07 21:01:19
初めまして。
webkeepersにgemを入れました。その後、rubyが1.8.5だったので、1.8.7にupdate。
install時特になにも環境変数?を指定などしていません。
gem -v => 1.3.1
ruby -v => 1.8.7
とどちらも正常なようですが、require 'rubygems'にすると、"no suck file to load"と怒られます。
whereis gem => /usr/bin/gem だったので、export GEME_HOME = /usr/bin/gem
と余計な事までしてしまいました。どうしたもんでしょう?お願いします。

758:デフォルトの名無しさん
09/03/07 21:02:46
such がsuck になっていて申し訳ございません。。。

759:デフォルトの名無しさん
09/03/07 21:15:53
初心者スレかと思った

>>757

 ・ レンタルサーバのユーザー領域に自前でRubyをインストールしたが、gemが動かね

ということでいいか

760:デフォルトの名無しさん
09/03/07 21:32:35
ありがとうございました。解決はしませんでしたが、素人が余計なことをするなと言うことは理解出来ました。
けどvpsなので、rootで入れて、whereis ruby => /usr/bin/ruby /usr/lib/ruby /usr/local/bin/ruby /usr/local/lib/ruby /usr/share/man/man1/ruby.1.gz
まぁ素人が、vps使うなんて危ないというのも解るけど。。。
ありがとうございました。初期状態に戻します。

761:デフォルトの名無しさん
09/03/07 22:23:13
素人だから余計なことをするのか
それとも余計なことをしてしまうから素人なのか
そもそも余計なことをしてしまったときに自分で修復出来ないから素人なのか

762:デフォルトの名無しさん
09/03/07 22:24:53
自分で素人と思ってるのはまだいい

763:デフォルトの名無しさん
09/03/07 22:28:13
>>757
インストールしたものがどこに入っていったかくらいわからんものか?

普通にソースビルドで何も指定せずに入れたらrubyは/usr/localに入り、
gemもそのrubyの設定に従って/usr/localに入るはず。
あなたのgem -vで出てきたのは、最初から入っているruby(/usr/bin)に対して
インストールされているもの。
rubygemも別途いれるべし。



764:デフォルトの名無しさん
09/03/07 22:31:21
gem -v => 1.3.1
ruby -v => 1.8.5
のときはちゃんと動いていたのか?

765:デフォルトの名無しさん
09/03/07 22:59:11
764さん、それが、1.8.5の時は、ramaze,m4dbiが、動いていたんですね。
ありがとうございました。場を少し荒らしたみたいで、申し訳なかったです。
退場します。

766:デフォルトの名無しさん
09/03/07 23:10:06
CentOSだろ?
システム提供のパッケージを更新するんだから、rpmでインストールするか、
システム提供の物を抜いてから入れるべきだ。

rpmforgeのレポジトリを指定してyumでアップデートするのが楽だと思うよ。

767:デフォルトの名無しさん
09/03/07 23:16:14
うわーRubyきもい
うわーまじきもい

768:デフォルトの名無しさん
09/03/07 23:19:20
766さんありがとうございます。がんばってみます。レスをくれた人、勉強になりました。

769:デフォルトの名無しさん
09/03/07 23:46:59
gemコマンドは使っているrubyと結びついてインストールされるから、
自力でrubyを入れたのならgemコマンドもそれに併せていれること。
# 1.9系列なら一緒にインストールされるけどね。


770:デフォルトの名無しさん
09/03/08 00:30:55
なんでそんなアホな仕様にしたの

771:デフォルトの名無しさん
09/03/08 00:39:26
別にアホでもない
gemが自分を実行可能なバイナリを勝手に探して自分に勝手に登録するだけだ
Rubyは何も関与しない

772:デフォルトの名無しさん
09/03/08 03:06:59
下位互換性ことごとく無いよね。松本教信者しか使えないな。

773:デフォルトの名無しさん
09/03/08 03:30:19
>>772
kwsk

774:デフォルトの名無しさん
09/03/08 03:40:53
>>754
1.8.6のpatchで仕様変更をして、それで互換性がなくなったことがあるんだが

775:デフォルトの名無しさん
09/03/08 08:24:45
>>771
Rubyの位置が変わったくらいでgemまで再インストールしなくてもいいのに

「自分を実行可能なバイナリを勝手に探して自分に勝手に登録している」
その場所だけ1行かそこら書き換えるだけで済まないの?

776:デフォルトの名無しさん
09/03/08 12:20:46
>>775
確信があるのなら自分で試してみたら。
Rubyは成熟してないから自分で手を動かすしかないこともあるよ。

777:デフォルトの名無しさん
09/03/08 13:41:31
つまりrubyは出来が悪いと。

778:デフォルトの名無しさん
09/03/08 14:51:34
>>777
というか出来上がっていないという話では?


779:デフォルトの名無しさん
09/03/08 20:38:10
>>776
そういう意味じゃないよ
なんでそういうつくりにしなかったのっていう意味だよ

780:デフォルトの名無しさん
09/03/08 20:39:35
ドキュメンテーションが半端なライブラリ等はプロジェクトに
持ち込むべきじゃないし、ドキュメンテーション活動が活発なところ
からチョイスした方が楽が出来る

781:デフォルトの名無しさん
09/03/08 20:50:57
ドキュメンテーションが半端な言語についてはどうなんだろう

782:デフォルトの名無しさん
09/03/08 22:24:17
1.8 で動くアプリを走らせながら、1.9でも色々テスト開発したいので、1.8と1.9を共存させようと思っているんだけど、やめた方がいいですかねぇ?なんか色々面倒なことになりそうな予感が。
バーチャルマシンでOS2つ載せてそれぞれで1.8と1.9使うってのも考えてるんですが・・
同じOSに1.8と1.9共存させるってのについてはどんな印象でしょうか?ウェブ上でそいうことしてる人ちらほらとは見かけはするんですが・・

783:デフォルトの名無しさん
09/03/08 22:34:23
>>782
きちんとやれば特に問題はない
gem のライブラリを大量にインストールしてる場合は
ほぼ同じものを 1.8 用と 1.9 用にインストールしなければならないので
心情的にもディスクスペース的にも無駄なのが若干寂しいが

784:デフォルトの名無しさん
09/03/08 23:07:56
>色々テスト開発したいので
本気でそう思ってるなら 1.9 しか入っていない環境を一つ作るべき
Virtual でも Real でも何でもいいからね

出来たアプリを別のところに持っていって動かないケースが出てきたら
そっちに 1.8 が入っているのかどうかとか悩みたくないだろ


785:デフォルトの名無しさん
09/03/08 23:12:01
>>784
1.8用と1.9用で外部APIの要求バージョンが違うとか極悪なことしてない限りそういうことはまずない

786:デフォルトの名無しさん
09/03/08 23:20:36
gemは?

787:デフォルトの名無しさん
09/03/08 23:24:36
>>775
> その場所だけ1行かそこら書き換えるだけで済まないの?
先頭一行書き換えるだけ。
Rubyとは無関係な話なので、詳しくはshbangでググれ。


788:デフォルトの名無しさん
09/03/08 23:28:28
>>787はたぶん勘違いしている

789:デフォルトの名無しさん
09/03/08 23:44:27
Rubyは最近調子に乗ってって
勘違いしていると思う

790:デフォルトの名無しさん
09/03/08 23:48:17
>>787はかなり勘違いしている

791:デフォルトの名無しさん
09/03/08 23:48:48
どの言語にも取り巻きと他言語からの工作員がいるよな…

792:デフォルトの名無しさん
09/03/08 23:49:18
gemって馬鹿な子なんだってことは分かりました
本当にありがとうございました

793:デフォルトの名無しさん
09/03/08 23:49:49
>>783
1.8 用と 1.9 用ってインストールされるファイルを分けることはできる?
gem1.9 から起動されたら hoge-0.2.3-ruby19 をインストールするとか

794:デフォルトの名無しさん
09/03/08 23:51:47
rubyは関係ないとかrubyのせいじゃないって言ってる香具師いるけど
perl用のgemとかphp用のgemとかpython用のgemとかあるわけ?


795:デフォルトの名無しさん
09/03/08 23:53:44
ばかですねわかります

796:デフォルトの名無しさん
09/03/09 00:04:45
おれEclipseを二つ入れて使い分けてるが
開発オンリーでWindowsだけど

797:デフォルトの名無しさん
09/03/09 20:05:45
はぁ?

798:デフォルトの名無しさん
09/03/09 21:55:18
なにが「はぁ?」なのかわからんのだが
はっきり書いてくれよ

799:デフォルトの名無しさん
09/03/09 22:53:34
>>797
息が臭いです

800:デフォルトの名無しさん
09/03/10 00:29:31
統合開発環境とか使いこなせないんだろ。
そういうのは争いのもとだから相手にする必要なし。

801:デフォルトの名無しさん
09/03/10 19:57:40
万人には使えないとか。単に使いにくいだけだろ。

glibc並の酷いバージョン問題発生か。
進歩無いねえ。下位互換性ぐらい確保して当然だろ。
0.8とか0.9でリリースし直して徹底的に枯れてから1.xの安定板をリリースしろよ。

802:デフォルトの名無しさん
09/03/10 20:14:41
あん、何が何のdownward product だって?

803:782
09/03/11 17:32:25
むーやっぱバーチャルマシン立てようかな・・
レスありがとうございましたm(_ _)m

804:デフォルトの名無しさん
09/03/12 18:58:43
円周率を計算するプログラムを見かけたのでRuby用にしてみた
元はhaskellで、それを十進BASIC用にしたもの
多倍長整数で計算するらしい
何をどう計算してるのか内容についてはさっぱりわからんが
1万桁計算する時間を計ってみることに
require 'benchmark'
limit = 10000
Benchmark.measure do
q,r,t,i = 1,180,60,2
u,y = 3*(3*i+1)*(3*i+2), Integer((q*(27*i-12)+5*r)/5/t)
#print y
(limit-1).times do
q,r,t,i = 10*q*i*(2*i-1), 10*u*(q*(5*i-2)+r-y*t), t*u, i+1
u,y = 3*(3*i+1)*(3*i+2), Integer((q*(27*i-11)+5*r)/5/t)
# print y
end
end.display


805:デフォルトの名無しさん
09/03/12 19:06:50
Windowsにて実行
Ruby 1.8.7-p72 Mingw32 17.20s
Ruby 1.8.7-p72 mswin32 25.02s
をぉ、かなり違いますな
てっきりVCの方がGCCより速いのかなと思ってたけど
最適化の封印とかされてるのだろうか

Ruby 1.9.1-p0 Mingw32 19.89s
Ruby 1.9.1-p0 mswin32 28.90s
がびょーん、1.8より遅くなってる…

Mingw32版は自前でビルド(configure と make しただけ)
mswin32版は(う)さんの


806:デフォルトの名無しさん
09/03/12 21:13:25
>>805
お察しの通り、mswin32版は最適化封印されてるぞ。
最近のVCを使えば大丈夫、らしい。
それでもGCCの方が速いことが多いらしいけど。

807:デフォルトの名無しさん
09/03/12 21:17:04
封印てw バカじゃないのかしらw
オープンソースなんだからサポートしてるコンパイラに最適化するのは当然。
そもそもVCてw せめてiccと比較しろよなw


808:デフォルトの名無しさん
09/03/12 21:18:48
>>807
そのへんの「事情」はMLアーカイブ読んでこい。


809:デフォルトの名無しさん
09/03/12 21:21:49
へたなコンパイラにへたな最適化させるとGCで必要な情報を「最適化」しちゃう?


810:デフォルトの名無しさん
09/03/12 21:22:00
「w」の数が多いやつはバカが多い法則は健在だな

811:デフォルトの名無しさん
09/03/12 21:39:58
AquesTalk/Ruby クソワロタw

812:デフォルトの名無しさん
09/03/12 23:22:09
>>806
やはりそうでしたか
バイナリの互換性でいまだVC 6.0でコンパイルされているのは知ってました
本体や拡張ライブラリからリンクされてるランタイムライブラリが一致してないと駄目とかなんとか

あと、なにか不味いことがあって最大限の最適化もされてないとか以前どこかで見たような記憶があったので


813:デフォルトの名無しさん
09/03/13 00:13:04
pythonはVC8に移行したよね

814:デフォルトの名無しさん
09/03/13 00:33:01
VS2008(VC9)だな

815:デフォルトの名無しさん
09/03/13 06:51:25
1.9.1の時点でVC9に移行しちゃっても良かったんじゃないかと思うんだがな
VC6とかインストールするのもめんどくせえ

816:デフォルトの名無しさん
09/03/13 10:14:32
勝手にすればいいのでは

817:デフォルトの名無しさん
09/03/13 10:16:28
確かにな。mswin32版も、あくまでも有志サイトでの配布って形を崩してないしw

818:デフォルトの名無しさん
09/03/13 14:25:14
あちこちでmswin32向けにバイナリ配布されている拡張ライブラリは
VC9でコンパイルしなおした場合、使えなくなる可能性が高いということですか?
gcc版のrubyを使う場合は、拡張ライブラリは基本的に
自前でコンパイルしてインストールする必要があるとかそういうことですか?
mswin32版しか使ったことないから考えたことがないな。

819:デフォルトの名無しさん
09/03/13 14:39:40
1.8の安定版スナップショット(2009/03/13 04:15:48)のwin32/resource.rbがバグっぽい。
make時に作るrcファイルがwindresでsyntax error。
rcファイルのFILEVERSIONとPRODUCTVERSIONの末尾が「,」になってるわ。0でも足しとけ。

820:デフォルトの名無しさん
09/03/13 14:40:32
>>819
mingwでの話

821:デフォルトの名無しさん
09/03/13 23:44:17
>>818
mingwとVC6でコンパイルしたruby本体と拡張ライブラリは互換性があるんで互いに使える
それ以外のcygwin、VC7/8/9、bccなんかでコンパイルしたruby本体では
同じコンパイラでコンパイルした拡張ライブラリしか使えないし逆もまたしかり

822:デフォルトの名無しさん
09/03/14 03:40:11
過疎w

823:デフォルトの名無しさん
09/03/16 10:03:01
ruby厨ってrubyしか使ったことないかあるいは使えないんでひたすら布教するんだろうな
複数の言語を使いこなせないとは哀れな

824:デフォルトの名無しさん
09/03/16 10:06:23
教祖が多数の言語に精通した言語ヲタなのにねぇ…

825:デフォルトの名無しさん
09/03/16 10:13:21
>>823
彼らはRuby使えてないよ
実際に聞いてみるといい

826:デフォルトの名無しさん
09/03/16 10:18:50
ことRubyユーザーで、Rubyしか使えない層ってのはごく少数だと思うが
そもそも、複数使えないと(相対的に)良い悪いなんて判断できんだろ……

827:デフォルトの名無しさん
09/03/16 10:23:09
なんか想像力の豊かな人がいるみたいだなw

828:デフォルトの名無しさん
09/03/16 11:52:14
教祖の教えだけに従うから宗教なんだろ。
教祖がこうだと言えば、反論せず賞賛するだけ。反論したら異教徒として火あぶりにされる。

plやpyの採用例に比べると、rbの採用例って驚くほど少ないから、実用面では厳しいよね。
学術研究ユーザが多いのかもしれない。

829:デフォルトの名無しさん
09/03/16 11:55:59
MLとか読んでる?たまにmatzもぼこられてたりするぞ
ただ最終決定権(の多く?)がmatzにあるのをみんなが認めてるってだけじゃないのか

830:デフォルトの名無しさん
09/03/16 11:59:29
イメージで言ってるだけだろ。不満なら完全民主制の言語でも作ればいい。

831:デフォルトの名無しさん
09/03/16 13:37:50
>>829
matzが「コミット権取り上げますよ?」て言われたこともあったな

832:デフォルトの名無しさん
09/03/16 17:36:49
>>831
マジですか?w

833:831
09/03/16 17:57:01
>>832
今探しなおしてきた
URLリンク(blade.nagaokaut.ac.jp)
微笑ましい一幕です(悪い意味じゃなくね)

834:デフォルトの名無しさん
09/03/16 18:22:27
ワロタ

835:デフォルトの名無しさん
09/03/16 18:23:20
その後の言い訳がまた笑えるw

836:デフォルトの名無しさん
09/03/16 18:24:46
>>833
ワロタw
サンクス

837:デフォルトの名無しさん
09/03/16 18:26:10
ていうか、開発MLみたいなとこでも草生やしたりすんだなw

838:デフォルトの名無しさん
09/03/16 18:29:46
基本的にはしない
無くても議論はできるからだ


が、草生やすのが最適だと思われれば躊躇うことはない

839:デフォルトの名無しさん
09/03/16 20:52:55
えーと、いわゆる優しい独裁者モデル? なんか違う肝。


840:デフォルトの名無しさん
09/03/17 00:30:47
1.9.1のtrunkは6日から進んでないけど、なんか大きな変更をやってるの?

841:デフォルトの名無しさん
09/03/17 00:37:39
コンビニ増えすぎだよな

842:デフォルトの名無しさん
09/03/17 08:58:45
>>840
trunkはとっくに1.9.2devだよ。今見たら昨日も更新してた。
それともbranches/ruby_1_9_1のこと?

843:デフォルトの名無しさん
09/03/17 09:45:19
>>842
そなの?
ホームページの最新版スナップショットとやらが(2009/03/06 04:13:00)から更新されてないので気になったんだけど。
1.8.8devの安定版スナップショット(2009/03/17 04:19:26)は毎日更新されているから。

844:デフォルトの名無しさん
09/03/17 10:13:24
>>843
ああ、そっち見てたのね。
こっちはSubversion見てたもんで。

845:デフォルトの名無しさん
09/03/17 22:16:57
>>843
smn

846:デフォルトの名無しさん
09/03/18 08:52:33
>>843についてIRCの方で報告があった
今は直ってます

847:デフォルトの名無しさん
09/03/18 09:59:27
>>846
サンクス

848:デフォルトの名無しさん
09/03/19 11:21:20
配列をN個に(ほぼ)等分する必要があって、
グネグネしたコードを書いた。
で、気に入らないのでちょっと書き直してみた。
Ruby神、リファクタリングよろ。
メソッド名は堪忍してくんろ。

def equally(a, n)
sizes = [].fill(a.size / n, 0, n)
(0...(a.size % n)).each {|i| sizes[i] += 1}
#p sizes
sizes.inject([]) {|r, size|
sub = a.slice!(0, size)
break r if !sub || sub.size < 1
r << sub
}
end

(1..20).each {|i|
a = (1..i).to_a
p a
p equally(a, 3)
puts
}


849:デフォルトの名無しさん
09/03/19 11:31:06
Enumerable#each_slice では用が足らんのか
面倒じゃのう

850:デフォルトの名無しさん
09/03/19 11:41:56
リファクタリングとかいうレベルじゃないくらい別モンだけど
def equally(a,n)
 result = []
 div,mod = a.size.divmod(n)
 until a.empty?
  result << ( 0 < mod ? a.shift(div+1) : a.shift(div) )
  mod -= 1
 end
 result
end

851:デフォルトの名無しさん
09/03/19 12:01:16
def equally(a, n)
sizes = [].fill(a.size / n, 0, n)
(0...(a.size % n)).each {|i| sizes[i] += 1}
sizes.map {|size| a.shift(size) }
end

852:デフォルトの名無しさん
09/03/19 16:24:32
aは破壊しちゃっていいのか?

# 非破壊バージョン
def equally(a, n)
 result = []
 div,mod = a.size.divmod(n)
 (Array.new(mod, div+1) + Array.new(n-mod, div)).inject(0) do |i, m|
  result << a[i, m]
  i + m
 end
 result
end


853:848
09/03/19 17:02:41
>>849 Enumerable#each_sliceは1.9からは組み込みですか。使ったことなかったです。
>>850 なるほど。modを減らしていくほうが、自分の元の思考ともあってます。
>>851 なるほど。breakさせないほうがメソッドの動作としては自然かも。その発想頂きます。
>>852 非破壊のほうが使いやすいですよね。その発想いただきます。

shiftに引数渡せるの知らなかったんで…、
などといいつつ手元の1.8.6では使えないのでやっぱりslice!

def equally(a, n)
tmp = a.dup
(0...n).inject([]) {|r, i|
r << tmp.slice!(0, a.size / n + (i < a.size % n ? 1 : 0))
}
end

くっ…。見にくくなっただけのような。
さらにメソッド名がいかんともしがたい。

854:デフォルトの名無しさん
09/03/19 17:06:33
はうっ。mapでよかったんだった。

def equally(a, n)
tmp = a.dup
(0...n).map {|i|
tmp.slice!(0, a.size / n + (i < a.size % n ? 1 : 0))
}
end

855:デフォルトの名無しさん
09/03/20 21:24:14
Rubyでothelloをつくりたいのですが
何から始めればよいでしょう

856:デフォルトの名無しさん
09/03/20 21:25:38
スレリンク(tech板)

857:デフォルトの名無しさん
09/03/20 21:31:56
>>855
とりあえずCUI版tic-tac-toe作れ。
出来たらそれのGUI版を作って基礎固め。
Reversiはその後だな。

858:デフォルトの名無しさん
09/03/20 21:46:42
間にGUI版を作るのはなぜ?

859:デフォルトの名無しさん
09/03/20 22:28:27
>>855
すでに誰か作ってないかあるものを探すところから

860:デフォルトの名無しさん
09/03/20 22:49:32
勉強のために作りたいんだろ

○×ゲームを先に完成させてから考えろというのは妥当だ

861:デフォルトの名無しさん
09/03/20 22:55:37
マジレスするとオセロはかなり難しい
段階踏んで作るのが間違いない
最初からオセロだけ目指したら絶対挫折する

862:デフォルトの名無しさん
09/03/20 23:09:34
初心者スレか宿題スレに誘導するのが一番妥当かつ親切じゃないかと思うんだが。
スレリンク(tech板)
スレリンク(tech板)

863:デフォルトの名無しさん
09/03/20 23:11:48
話すこと終わっちゃった感もあるな

864:デフォルトの名無しさん
09/03/20 23:19:34
オセロって作った人のレベル以上に強くならないって言うけどどうなんだろ

865:デフォルトの名無しさん
09/03/20 23:21:03
「Rubyで」という部分を除けば完全にスレ違い

866:デフォルトの名無しさん
09/03/20 23:27:51
まず、質問した人はオセロ盤を作りたいのか、思考モジュールを作りたいのか
はっきりしたほうがいいな。後者はRuby向きじゃないと思うが。

867:デフォルトの名無しさん
09/03/20 23:43:32
>>865
「Rubyに関する部分」を除いたらあらゆるものがスレ違いなんだが

868:デフォルトの名無しさん
09/03/20 23:50:26
そしてMatzに関する部分だけが残った。

869:デフォルトの名無しさん
09/03/21 00:08:10
初心者であればあるほど、言語固有の事情と言語非依存な部分の切り分けは出来ないからのう。


870:デフォルトの名無しさん
09/03/21 00:12:02
ありがとうございます
移動します

871:デフォルトの名無しさん
09/03/21 00:12:49
>>867
Ruby自体がいろんな他の言語のいいとこどりだから
すべての話題がスレ違い扱いされても文句言えない

872:デフォルトの名無しさん
09/03/21 01:35:48
実はRubyは初めてでも、
アルゴリズムはめちゃくちゃすごい奴だったりしてな

873:デフォルトの名無しさん
09/03/21 01:52:43
>>872
大丈夫
すごい人は放置されても自力で出てくる

874:デフォルトの名無しさん
09/03/21 01:54:04
誘導しても結局ゴミみたいな雑談してるだけという

875:デフォルトの名無しさん
09/03/21 03:04:44
オセロの対戦アルゴリズムは大変だろうな。

876:デフォルトの名無しさん
09/03/21 11:36:12
古典的なα-β法とかでシンプルに作ってやれば、
とりあえずそれなりに動く思考ルーチンは簡単に作れるyo!
強くするのはその後の課題になるけどな。

877:デフォルトの名無しさん
09/03/21 12:12:26
全部で60手のうち
序盤20手くらいは定石がある
終盤40手くらいからは読み切れるんだろうけど
中盤20手~40手をどうするかが課題
あとはすれち

878:デフォルトの名無しさん
09/03/21 14:44:48
オセロは必勝法がもう分かっているから、
いかに人間に遊ばせてあげるか、だよ。

879:デフォルトの名無しさん
09/03/21 15:18:43
>>878
初耳

880:デフォルトの名無しさん
09/03/21 16:49:03
>>878 は嘘。

ただ、完全先読みで読み切られちゃうんで、そうとうの高段者でも
劣勢になったらひっくりかえせなくなっている。

881:デフォルトの名無しさん
09/03/21 16:49:50
「終盤は」を付け忘れた。

882:デフォルトの名無しさん
09/03/21 18:00:43
読み切られて負けるの分かってる状態よりも
引き分け前後の微妙なところで終盤にもつれる方が
ゲームとして面白いのは確かだよね
苦行をしたい訳じゃなくて遊びたいんだから

883:デフォルトの名無しさん
09/03/21 18:03:01
相手がコンピュータの場合と人間の場合で戦略は違う
自分がまけそうなときに分かりやすい最善手を打ち続けるより
悪手でも相手が間違いやすいややこしい手を打った方が良いって
聞いたことはある


884:デフォルトの名無しさん
09/03/21 20:06:44
そういう変則手って、相手が人間の時こそ有効なんじゃないの?

885:デフォルトの名無しさん
09/03/21 21:04:39
そうだね

886:デフォルトの名無しさん
09/03/21 21:05:26
相手が人間の時の話なんだが

887:デフォルトの名無しさん
09/03/21 21:06:07
うほ

888:デフォルトの名無しさん
09/03/21 21:27:35
囲碁くらい複雑になると顕著だね
悪手とは言えない手でわざと難しく難しく打つやり方

889:デフォルトの名無しさん
09/03/21 22:29:26
オセロに必勝法があるなら、
先手か後手か決まった時点で勝負あったになるよな

すべての手を洗い出しても必勝法はないってことか?
やってみてなかったのか、やってないのかどっちだろう
将棋はめちゃくちゃ複雑だというが、
オセロでもすべての手を洗い出すことはできないのだろうか

890:デフォルトの名無しさん
09/03/21 22:32:23
>>889
ゼロサム完全情報の二者間のゲームには必勝法が存在する。
オセロは6x6なら後手必勝というのはすでに解析済み。
8x8は後手必勝ぽいけどまだ解析中。

891:890
09/03/21 22:35:07
> ゼロサム完全情報の二者間のゲームには必勝法が存在する。
あと、手数が無限にならないことも条件として必要だった。

892:デフォルトの名無しさん
09/03/21 22:35:25
「確定」じゃないなら必勝法はないけどな

893:デフォルトの名無しさん
09/03/21 22:40:14
まあもし必勝法が見つかったら10×10くらいにすればいいのかな
>>890
オセロには引き分けもあるが、それでも必勝法は必ずあるの?

894:デフォルトの名無しさん
09/03/21 22:42:10
>>890-891
ふおおお、なるほど。6x6までは後手が必ず勝つのか。

完全情報というのは「手の内をさらす」ということでいいのか?
たとえばじゃんけんは当然必勝法はないだろうが、
駒を隠す軍人将棋にも必勝法があるとは限らないってこと?

5x5ならおれのPC(クアッド、メモリ8G)とRuby1.9でも
現実的な日にちで計算可能だろうか。

895:デフォルトの名無しさん
09/03/21 22:44:50
URLリンク(ja.wikipedia.org)

896:デフォルトの名無しさん
09/03/21 22:55:17
>>895
サンクス、これはおもろい

897:デフォルトの名無しさん
09/03/21 23:00:01
>>896
高校生かな?
大学行くと1年生の教養の情報系の授業で習うぞ

898:デフォルトの名無しさん
09/03/21 23:06:09
いい年こいていちいちひねたレス付けないと気が済まないのかね

899:デフォルトの名無しさん
09/03/21 23:11:44
>>897に他意悪意を感じ取るのは曲芸または深刻な学歴コンプレックス

900:デフォルトの名無しさん
09/03/21 23:13:23
>>897
ゲーム理論習わないところもあるよ
実際、俺も情報系の学部で4年目だけど習ってない

901:デフォルトの名無しさん
09/03/21 23:17:26
>>900
それはなんていうか大学に抗議したほうがよくないか

俺らは選択だった
ゲーム理論という名前でテレビゲームの話だと思った人がいて半分くらいは寝てた

902:デフォルトの名無しさん
09/03/21 23:18:08
だいたい、大学生の誰もが「教養の情報系の授業」を取ってるって前提がおかしいw
一般教養の講義を選択できない大学があるんだろうか
どっちかというと、講義より「囚人のジレンマ」の話なんかから入る人が多いだろうし

903:デフォルトの名無しさん
09/03/21 23:18:56
第81回 高階関数を理解できないとRubyは理解できない
URLリンク(d.hatena.ne.jp)
うん、いや、その通りではあるんだけど、そんな大層なもんでもないかなーと
内容はブロックの話で、ある意味タイトルは釣り

904:デフォルトの名無しさん
09/03/21 23:34:50
経済学にも応用されてるよね
株の必勝法とか

905:デフォルトの名無しさん
09/03/21 23:36:23
必勝法というか負ける可能性を低くする定番な

906:デフォルトの名無しさん
09/03/21 23:36:26
>>903
馬鹿が解説するとますます分からなくなるという罠

907:デフォルトの名無しさん
09/03/21 23:38:14
てか、ナニを目的とした記事なのかよーわからん
もうちょい無難なタイトルにしたほうが吉

908:デフォルトの名無しさん
09/03/22 00:10:21
なんか内容がないな
高階関数って言いたかっただけなのか?

909:デフォルトの名無しさん
09/03/22 00:17:26
高階関数とか無名関数とか、言い換えて余計わからなくする典型的な失敗解説の例?

910:デフォルトの名無しさん
09/03/22 00:44:26
分かってないひとが無理に解説しようとするからw

911:デフォルトの名無しさん
09/03/22 01:07:50
bladeはメンテ中? MLがwebで見れなかったんだけども

912:デフォルトの名無しさん
09/03/22 04:34:41
原稿書く様な人は詳しくなかったりするのが問題。技術ネタは特に。

チェスでもスパコンで演算するレベルだしなあ。

913:デフォルトの名無しさん
09/03/22 09:25:51
Deep Blue はスパコンというより専用機

914:デフォルトの名無しさん
09/03/22 09:28:06
スパコンと専用機は互いに排他的な概念なの?

915:デフォルトの名無しさん
09/03/22 10:12:27
排他的なら「スパコンではなく専用機」という表現になると思うが

916:デフォルトの名無しさん
09/03/22 10:17:32
専用スパコン機でいいじゃない。駄目か。

917:デフォルトの名無しさん
09/03/22 10:47:53
IBMのサイトだと
「In May 1997, IBM's Deep Blue Supercomputer played a fascinating match with the reigning World Chess Champion」
ってなってるから、ディープブルーはスパコンでいいんじゃないかな
チェスしか出来ない用途の狭いスパコンだけど。

918:デフォルトの名無しさん
09/03/22 13:22:38
>>913
DeepBlueと同じ開発チームが民生用のパソコン用にソフト開発して
例のカスパロフ氏と5分の勝負をしたって何年か前にニュースになってたと思う。
DeepBlueに似たような監事の名前だったはずだけど、思いだせない。

919:デフォルトの名無しさん
09/03/23 12:57:21
Webで見られるMLの設定が変わったみたいだけどcharsetくらいはまともに返して欲しいものだ。
URLリンク(blade.nagaokaut.ac.jp)

920:デフォルトの名無しさん
09/03/23 13:11:09
>>919
動的に出力してるページはHTTP headerでちゃんと吐いてるから、HTMLページだけかな
それならサーバよりmetaタグを各ページにきちんと埋め込む方がいいかもね
というかやるならきちんとXHTMLにしてもいいよね

bladeってソースはオープンになっていのかな?

921:デフォルトの名無しさん
09/03/23 19:13:50
XHTML1.1だとmetaタグに制約があったりするけど
それ以前の問題だなぁ…

922:デフォルトの名無しさん
09/03/23 20:36:34
>>919
どう間違えたらcharset=iso-8859-1何て返すんだろうなwww

923:デフォルトの名無しさん
09/03/23 21:06:16
Apacheの初期設定を適当に使うと何でもかんでも
ISO-8859-1で返すようにするのは結構簡単にできてしまった気がする。


924:デフォルトの名無しさん
09/03/24 00:07:31
mingwで1.9をコンパイルしてるんだけど、pthreadって使った方がいいの?

925:デフォルトの名無しさん
09/03/24 01:34:09
>>923
というかiso-8859-1で返すのが正式
それ以外はオプション

926:デフォルトの名無しさん
09/03/24 01:38:05
デフォルトでUTF-8で返してくれれば楽なんだけどな
3あたりで変わらないかな

927:デフォルトの名無しさん
09/03/24 01:46:04
>>926
EUCなML書庫はそれでも文字化けするという

なんかW3Cとかが絡んでたんじゃない?>iso-8859-1
仮にXHTMLが標準となれば、UTF-8になるかもよ
URLリンク(www6.plala.or.jp)

928:デフォルトの名無しさん
09/03/24 02:16:30
AddDefaultCharset は Apache 2.0.53 から httpd.conf 初期ファイル群には書かれなくなった
ユーザーやアプリケーションごとに設定すべきということなのだろう

929:デフォルトの名無しさん
09/03/24 02:22:24
そもそも、charsetなんて文書ごとに設定するのが本筋なので、
サーバのデフォルトなんてどうでもいいってことではないのかな
XHTMLならXML宣言だろうし、HTMLならmeta要素?

930:デフォルトの名無しさん
09/03/24 02:33:00
>>929
違う
サーバーは送出するファイルのtypeとcharsetをヘッダで送信「するべき」

現行これが行われてないのは単なるサーバの怠慢
と、処理コスト無限大なことによる
本当はファイルの文字エンコードをサーバはあらかじめ知っておかなければならない
画像ファイルの type が別個であるのと同様に、テキストファイルの charset も実際の値を送信するべき
これの努力を怠ってはならない

ちなみに、 meta 要素の http-equiv は 「HTTP等価値(equivalent)」の略だ
Web ブラウザはこれを HTTP ヘッダの結果と同様に扱わなければならないという意味
だから、HTTP ヘッダが基本

931:デフォルトの名無しさん
09/03/24 02:43:57
meta の charset なんてのは、あれは

    仕
    方
    な
    く

読んでるんだよ

932:デフォルトの名無しさん
09/03/24 02:51:25
>>930
> HTTP ヘッダが基本
その仕様が、Apache等の実装者を含めあんまり意味がわからないって問題では?
良ければさらっとでも解説希望。

画像のMIME typeなんかは拡張子で判別して現状それほど問題ないが、htmlやらxmlやらで
それは(今の文化的に?)無理じゃん
サーバ側の設定でやるとしたら、charsetによってURLをわけるとかディレクトリをわけるとか
拡張子をわけるとか、とにかく意味不明なサーバの挙動・仕様の要求になるわけで。
もしくは、サーバが文書の中を読んでヘッダ吐くとかのさらに意味不明な実装が出たりw

で、仕様上はHTMLヘッダの指定が優先らしいからブラウザとかもそうなってるけど、
それでは不便すぎるので、現実的にHTTPヘッダは省略しましょうってなってるんじゃないの?

933:デフォルトの名無しさん
09/03/24 03:43:10
この辺がまとまってるか
URLリンク(www.fxis.co.jp)

934:デフォルトの名無しさん
09/03/24 03:47:36
文字符号化スキーム charset名
ISO-2022-JP(RFC1468) ISO-2022-JP
日本語EUC(圧縮形式) EUC-JP
シフトJIS Shift_JIS

なんでUTF-8載せないんだろ

935:デフォルトの名無しさん
09/03/24 03:54:24
非日本人は、HTTPの何も指定しない時はiso-8859-1でおkで困ってないというのが大きい。
個人的にはメールとの相互互換から、ISO-2022-JPに統一すべきだと思う。

936:デフォルトの名無しさん
09/03/24 04:02:54
>>934
昔だからじゃね?
RFC2616が出る前みたいだし。ただ、charsetについては仕様の変更は無いか
URLリンク(www.studyinghttp.net)

ただ、↑の3.4とか3.7.1の立場からは、>>928のApacheの初期設定は明らかに後退だな

>>935
いやいや。文字が足りないって根本の問題の解決もそろそろ・・・。
それに日本国内だけで統一しても仕方ないじゃん
メールもUTF-8でいいよもう

937:デフォルトの名無しさん
09/03/24 04:13:14
最近サブジェクトとかヘッダが
=?ut-8?B?
で来るメールが増えた


938:デフォルトの名無しさん
09/03/24 05:29:54
gmailがそうだからね
俺も使い始めのとき、文字化けすんぞゴラァって言われてあわてて直した

939:デフォルトの名無しさん
09/03/24 10:08:26
>>924
mingwではpthread関係ないというか何も指定しなくていい。
つかプラットフォームによらず1.9ではpthread関連の指定は一切不要。

940:デフォルトの名無しさん
09/03/24 12:19:16
>>939
ほーい、サンクス

941:デフォルトの名無しさん
09/03/25 00:56:12
>>938
今時、utf-8 も処理できないようなメールクライアント使ってる方が悪い
と開き直ればOK


942:デフォルトの名無しさん
09/03/25 02:10:54
うちは7ビットしか通らないよwww

943:デフォルトの名無しさん
09/03/25 07:08:36
>>937
utf-8 ならともかく ut-8 はないな。

944:デフォルトの名無しさん
09/03/25 08:05:43
ガイジンさんの文字エンコーディングわかってなさっぷりはガチ
慣れない英語で何度もバグトラッキング送るの疲れた
もうやだ
っていうかほぼ確実に、英語で書いた俺の意図自体は伝わってねえ

945:デフォルトの名無しさん
09/03/25 08:19:41
>>944
バグ報告は症状1つに対し1エントリずつに小さく分けて送れ

あんまり総合的な題目で送るとたいてい独自解釈されてたいていエンバグする
2~3行のカタマリの修正につき1エントリな感じでよろしこ

一気に3つくらい投稿が増えて正直なんか邪魔っけというか申し訳ない気もするが、
本当に不具合なのなら全く気にする必要はないし、堂々と送ればよい
バグ報告が2/2のライブラリよりも13/200のライブラリのほうが安心感があるものだ

946:デフォルトの名無しさん
09/03/25 08:25:07
>>944
次はロシア語のメールをUTF-8で送ってやるんだ

>>942
そんな化石みたいなサーバ?は今すぐ捨てて下さい

947:デフォルトの名無しさん
09/03/25 08:30:08
>>945
バグ報告の異常に少ないライブラリって使うのちょっと躊躇するよね
そういうのに限って2006年にバージョン0.2出したっきり
で、使ってみて、「あーやっぱダメだ」みたいな

948:デフォルトの名無しさん
09/03/25 11:50:05
RMagickでpathに2byte文字含んでると処理がうまく行かないのを何とかしてほしい。

949:デフォルトの名無しさん
09/03/25 21:31:21
むしろ2バイト文字のほうが世界のマイナーだし。

950:デフォルトの名無しさん
09/03/26 01:50:15
でも中国人多いじゃん。

951:デフォルトの名無しさん
09/03/26 01:56:17
マルチバイト文字に関わってる中国人は人口ほど多くはないと思う

952:デフォルトの名無しさん
09/03/26 02:09:26
中国人のコンピュータ利用人口が少ないってことか?

インド系文字は?

953:デフォルトの名無しさん
09/03/26 02:19:38
まだ支那ってインターネット十分に繋がってないと思うぞ。
繋がってたら、とっくにIPアドレス売り切れてる。

954:デフォルトの名無しさん
09/03/26 07:33:05
ipv6の普及には支那の一般家庭のネット開通で十分ということか

955:デフォルトの名無しさん
09/03/26 11:21:53
あれ?ruby-coreがあぼーんしてる
URLリンク(blade.nagaokaut.ac.jp)

956:デフォルトの名無しさん
09/03/26 20:57:33
>>953(とその周辺)
URLリンク(wbb.forum.impressrd.jp)

957:デフォルトの名無しさん
09/03/26 21:06:30
MLアーカイブの番号順リストって何でいきなり無くなったの?
ML入ってなくても毎日追っかけられて重宝してたのに。。。

なんか文字化けもしてるしやる気ない感じ

958:デフォルトの名無しさん
09/03/26 21:21:41
やる気ない

959:デフォルトの名無しさん
09/03/26 21:22:36
リニューアルしようとして失敗してとりあえず稼動だけしておくというのがとてもRubyらしくてよい

どのへんが問題なのかぬ

960:デフォルトの名無しさん
09/03/26 22:00:38
そういう管理者を管理する管理者

961:デフォルトの名無しさん
09/03/27 13:16:24
まだルビーも公開β版みたいな物だしな。
枯れて来てから使うのがいい。

962:デフォルトの名無しさん
09/03/27 17:01:24
枯れる前に廃れる罠

963:デフォルトの名無しさん
09/03/27 17:09:19
というか、MLのnagaokaut.ac.jpって何なんだ。
ここの職員の人が管理してるの?

964:デフォルトの名無しさん
09/03/27 17:12:05
>>962
今から廃れさせることができたら大したもんだ

965:デフォルトの名無しさん
09/03/27 17:18:00
MLはメーラーで読むものだろ。archiverが壊れたぐらいで文句をいうのはお門違い

966:デフォルトの名無しさん
09/03/27 17:22:01
と、古参の方が申しております

967:デフォルトの名無しさん
09/03/27 17:24:05
>>965
後者はともかく前者には異議あり。

968:デフォルトの名無しさん
09/03/27 17:30:15
mboxでもMailDirでもいいから、公式でMLのログを配布してくれるんなら、
>>965にも同意できるが、現状あそこだけだしねえ

969:デフォルトの名無しさん
09/03/27 17:59:13
>>963 原信一郎先生が個人的に提供してるものだが?

970:デフォルトの名無しさん
09/03/27 18:08:13
グーグル先生でログを検索できないMLは役に立たないと思われ

971:デフォルトの名無しさん
09/03/27 18:13:16
個人情報とかうるさい昨今、MLの内容もだんだん公開に気を使うようになっていくぅーんくぅーん おやどこかに子犬が

972:デフォルトの名無しさん
09/03/27 18:15:05
>>969
数学の先生なんだな。web自体にはそれほど興味ないのかな
ご本人のサイト?もエンコーディングばらばらだし、何かの実験なんだろうか。
URLリンク(blade.nagaokaut.ac.jp)

973:デフォルトの名無しさん
09/03/27 20:43:04
>>968
せっかくRuby使ってるんだから
Rubyでgetして集めるスクリプト書いて公開してくださいおねがいします

974:デフォルトの名無しさん
09/03/27 20:46:26
そんなものを作れるなら、掲示板なんかでくだを巻いていない

975:デフォルトの名無しさん
09/03/27 20:48:56
日本語でなくていいなら
URLリンク(www.ruby-forum.com)
があるお

976:デフォルトの名無しさん
09/03/27 20:54:27
>>972 昔からウェブページ作ってる人だと多いよ。
俺のウェブページもUTF-8とISO-2022-JPとEUCといろいろになってる。
まとまった暇があるときにUTF-8に統一したほうがいいかなぁとか、
考えてはいるんだけど。

977:デフォルトの名無しさん
09/03/27 20:55:10
>>975
そこのruby-devが悲惨なことになってるな

978:デフォルトの名無しさん
09/03/27 20:55:38
EmacsのUTF-8の扱いが酷いからメインに移行できないという話はまだちらほら

979:デフォルトの名無しさん
09/03/27 20:56:42
>>973-974
じゃあ俺がPythonで書いて公開してやるからちょっと待ってろ

980:デフォルトの名無しさん
09/03/27 23:09:52
980


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch