アカウント名:
パスワード:
将来的に、Ruby は Web アプリケーション開発などの現場で Perl に肩を並べ、もしかして Perl で構築されたシステムの代替として採用されるようになって行くのでしょうか?
これって、わざわざ動いているもの
私の経験を振り返ってみてRubyにおいてstr[3].chrみたいな感じで、一文字をStringオブジェクトとして取り出す必要があったことはほとんど記憶にないです。それよりも、strをバイナリ列とみなして、str[3]をそのままつかったりとかいった用途のほうが結構あります。
Stringのメソッド群と正規表現を使えば大抵の文字列処理はこなせちゃうんで、インデックスを使って文字を取り出すなんてことはまず考えないです。というかそんな面倒な処理を考え始めたら、まず自分が問題をよくわかってない証拠だと思って別のことを模索するなり気分転換するなりやります。
もともとずっとCでプログラムを書いてたのでRubyを使い始めた当初はこの辺使いづらいなあと感じたことは覚えてますが、いちど流儀を飲み込むとそんなことは忘れちゃいました :)
だったら今のstr[3].chrていうややこしいのでも別にいいかな、と思ったりします。少なくとも私にとっては。
あのー最近は、正規表現 API とかあるんですけどぉ(^^;。(java.text.* とか(国際化された)フォーマット関係の API も JDK 1.1 からあるし。)
ちゅうか、文字列処理はフレームワークの中に隠れちゃったりするから相当低レベル部分の実装をしないかぎりさして問題にならないと思うよ。大規模システムならなおさら。
まぁまぁ、同じようなことは考えてて、私の場合は、
でも何もない状態(例えば J2ME などでは)文字列処理が面倒だったり大変だったりするというのは同意しますよ。私はテキスト処理好きだから好んで書いちゃうけど。
XML の tokenizer/parser も書いちゃったけどね (Mandheling XML で検索かければひっかかるかも)。
む、知っている人だったりして(w。(あの時に根本的なことは言われたかなぁ。良く覚えていないのだけど。)
javacc は使ってないですね。私は趣味だけでなく仕事でも使っているので、先行きがよくわからない javacc はだいぶ前から切り離しています。ご察しの通り似たようなもの(もうちょっと低レベルで低機能だけど)を作りました。Servlet BOF (現 WG) で発表したものじゃなくてもうちょっと汎用的なものです。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
すでに構築されたシステムの代替? (スコア: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の配列が取れます。一貫性あると思うよ。
Re:すでに構築されたシステムの代替? (スコア:1)
あのー最近は、正規表現 API とかあるんですけどぉ(^^;。(java.text.* とか(国際化された)フォーマット関係の API も JDK 1.1 からあるし。)
ちゅうか、文字列処理はフレームワークの中に隠れちゃったりするから相当低レベル部分の実装をしないかぎりさして問題にならないと思うよ。大規模システムならなおさら。
Re:すでに構築されたシステムの代替? (スコア:0)
Re:すでに構築されたシステムの代替? (スコア:1)
まぁまぁ、同じようなことは考えてて、私の場合は、
でも何もない状態(例えば J2ME などでは)文字列処理が面倒だったり大変だったりするというのは同意しますよ。私はテキスト処理好きだから好んで書いちゃうけど。
XML の tokenizer/parser も書いちゃったけどね (Mandheling XML で検索かければひっかかるかも)。
Re:すでに構築されたシステムの代替? (スコア:0)
そうそう。文字列操作はパズルみたいで楽しいのだ。
私の場合は、
てな事をしていて、後者はVectorあたりに転がっています(8年くらい前ですが)
言語は、とてもお手軽な言語(スクリプト)と、とても繊細な言語
Re:すでに構築されたシステムの代替? (スコア:0)
#一郎くんや世界の佐藤やyoko女史に手厳しいこと言われちゃったね.
Re:すでに構築されたシステムの代替? (スコア:0)
そうやって似非 parser をみんなが作ることでセキュリティホールが量産されている罠。
Re:すでに構築されたシステムの代替? (スコア:1)
む、知っている人だったりして(w。(あの時に根本的なことは言われたかなぁ。良く覚えていないのだけど。)
javacc は使ってないですね。私は趣味だけでなく仕事でも使っているので、先行きがよくわからない javacc はだいぶ前から切り離しています。ご察しの通り似たようなもの(もうちょっと低レベルで低機能だけど)を作りました。Servlet BOF (現 WG) で発表したものじゃなくてもうちょっと汎用的なものです。
Re:すでに構築されたシステムの代替? (スコア:0)
全否定だったような気が...
「なぁ~んで,んなもん作ったんだぁ?あ~ん」みたいな
まぁよくあることでし.またどこかで合いましょ~
Re:すでに構築されたシステムの代替? (スコア:1)
# mishimaは本田透先生を熱烈に応援しています
Re:すでに構築されたシステムの代替? (スコア:0)
Re:すでに構築されたシステムの代替? (スコア:0)
素直にRDBをインストールしてCSVファイルからデータを突っ込んだほうが良いような気がするのですが。
Re:すでに構築されたシステムの代替? (スコア:1)
>素直にRDBをインストールしてCSVファイルからデータを突っ込んだほうが良いような気がするのですが。
これが出来ないから、泣く泣くやってるという話だと・・・
僕は車輪を再び作ることはしたくないのですが、無知ゆえに車輪がある事を知らない事も度々。
Re:すでに構築されたシステムの代替? (スコア:0)
これを見る限り、もっぱらタイプ量の問題?タッチタイピング覚えたら?(笑
# キーボードを叩くと脳内麻薬が分泌されるのでタイプ量は多い方がいい変態より。
Re:すでに構築されたシステムの代替? (スコア:1)
また、今後の設計を考えてフィールドへのアクセスをカプセル化してメソッドで提供するのはOOPでは当然でしょう。
OOPはいかにしてクラスの結びつきを緩めて拡張性を高めるかに主眼が置かれているので少々タイプ文字が多くなったというのは問題ではないのでは。
---------- yuzo ----------
Re:すでに構築されたシステムの代替? (スコア:0)
手軽にかける事としてのスクリプト系は便利だけど
長期間の運用とか考えるとあいまいさがない利点はあるかと。
1.4からは正規表現とXMLが標準で使えるようになったのでらくちん。
Re:すでに構築されたシステムの代替? (スコア:0)
Re:すでに構築されたシステムの代替? (スコア:0)
ずーっとhttpd:3072コ+cgi:3072コ。
fork() はちょっと荷が重いよぅ。。。
ログイン処理もあるからOracleたたきまくりだしぃ。
#力で押し切れるぐらいのマシンがあったらよかったんだけどねぇ。
Re:すでに構築されたシステムの代替? (スコア:1)
Apache 使ってなかったらすまんけども。
# mishimaは本田透先生を熱烈に応援しています
Re:すでに構築されたシステムの代替? (スコア:0)
そんなあなたは String 型を使わずに全て char の配列で処理すれば良いのです。そうすれば C と同じ B-)。
ちなみに char は int と可換ですぜ…ひひひ。