アカウント名:
パスワード:
将来的に、Ruby は Web アプリケーション開発などの現場で Perl に肩を並べ、もしかして Perl で構築されたシステムの代替として採用されるようになって行くのでしょうか?
これって、わざわざ動いているもの
私の経験を振り返ってみてRubyにおいてstr[3].chrみたいな感じで、一文字をStringオブジェクトとして取り出す必要があったことはほとんど記憶にないです。それよりも、strをバイナリ列とみなして、str[3]をそのままつかったりとかいった用途のほうが結構あります。
Stringのメソッド群と正規表現を使えば大抵の文字列処理はこなせちゃうんで、インデックスを使って文字を取り出すなんてことはまず考えないです。というかそんな面倒な処理を考え始めたら、まず自分が問題をよくわかってない証拠だと思って別のことを模索するなり気分転換するなりやります。
もともとずっとCでプログラムを書いてたのでRubyを使い始めた当初はこの辺使いづらいなあと感じたことは覚えてますが、いちど流儀を飲み込むとそんなことは忘れちゃいました :)
だったら今のstr[3].chrていうややこしいのでも別にいいかな、と思ったりします。少なくとも私にとっては。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」
すでに構築されたシステムの代替? (スコア:0)
これって、わざわざ動いているもの
Re:すでに構築されたシステムの代替? (スコア:0)
Re:すでに構築されたシステムの代替? (スコア:0)
sprintf()の無い言語で、どうやって文字列処理をしろというのか?
だいたい str[i] と書けば済むのを str.charAt(i) と書かせる神経はどうかしてる。そんな言語は使いたくない。
Re:すでに構築されたシステムの代替? (スコア:1)
irb(main):001:0> p RUBY_VERSION
"1.8.0"
=> nil
irb(main):002:0> str = "abcdefg"
=> "abcdefg"
irb(main):003:0> p str[3]
100
=> nil
irb(main):004:0> p str[3].chr
"d"
=> nil
なんだよなぁ。Rubyを選ぶけど。
Re:すでに構築されたシステムの代替? (スコア:1)
私の経験を振り返ってみてRubyにおいてstr[3].chrみたいな感じで、一文字をStringオブジェクトとして取り出す必要があったことはほとんど記憶にないです。それよりも、strをバイナリ列とみなして、str[3]をそのままつかったりとかいった用途のほうが結構あります。
Stringのメソッド群と正規表現を使えば大抵の文字列処理はこなせちゃうんで、インデックスを使って文字を取り出すなんてことはまず考えないです。というかそんな面倒な処理を考え始めたら、まず自分が問題をよくわかってない証拠だと思って別のことを模索するなり気分転換するなりやります。
もともとずっとCでプログラムを書いてたのでRubyを使い始めた当初はこの辺使いづらいなあと感じたことは覚えてますが、いちど流儀を飲み込むとそんなことは忘れちゃいました :)
だったら今のstr[3].chrていうややこしいのでも別にいいかな、と思ったりします。少なくとも私にとっては。
Re:すでに構築されたシステムの代替? (スコア:0)
str[i] で長さ1の文字列が取れるとしたら、それを配列に適用すると
array[i] で要素数1の配列が返ってくるようなもの。
ちなみに、 str[3].chr なんてしなくても str[3,1] でいい。
同様に array[3,1] で要素数1の配列が取れます。一貫性あると思うよ。