こんにちは。
AppleScript、InDesign、JavaScript、VBscript、PHPなんかについて書いていきます。
そのうちHPにサンプルでもあげるかも。
|
テキスト処理系:Rubyと仲良くなろう その4。
今日も忙しいんだけどRubyと格闘してました。 というか、やらないといけない仕事でRubyを使おうと思っているから、Rubyにハマると仕事が進まないという悪循環。 結果、間に合わなそうなので、普通に組版します…ふぅ。 サンプルテキストは <pstyle:08-本文><cstyle:07-本文\_赤ゴシック>1中見出しにしたいなぁ <cstyle:><pstyle:08-本文><cstyle:05-本文\_スミゴシック>1.小見出しにしたいなぁ <cstyle:><pstyle:08-本文><cstyle:05-本文\_スミゴシック>(1)<cstyle:> 本文ダミー<cstyle:05-本文\_スミゴシック>「ゴシックなんです」<cstyle:>本文ダミ1日かけても全然進まん10日かけたら終わるかな? Rubyは #!usr/bin/ruby -Ku require "jcode" resultfile1 = "result1.txt" resultfile2 = "result2.txt" filename = ARGV[0] file = open(filename) while line = file.gets line.gsub!(/\n/,"") line.tr!("0-9","0-9") line.gsub!(/<p/,"\n<p") #print line resulttxt1 = open(resultfile1,"a") resulttxt1.puts(line) resulttxt1.close end file.close file2 = open(resultfile1) while line = file2.gets line.gsub!(/\n/,"") line.gsub!(/('<pstyle:08-本文><cstyle:07-本文\_赤ゴシック>')(\d+?)(.+?)(<cstyle:>)$/,"<pstyle:06-中見出し>$2$3") resulttxt2 = open(resultfile2,"a") resulttxt2.puts(line) resulttxt2.close end file2.close |
|
テキスト処理系:テキスト処理系:Rubyと仲良くなろう その3。
私の悪い癖。 興味をもったらとりあえず書籍を2冊ほど購入してしまうところ(苦笑) Perlもそうだけど、やってねぇ(汗) 本題。 Ruby関連の書籍を2冊購入しました。 『たのしいRuby 第2版』(ソフトバンクパブリッシング) 『Ruby Magic 〜Rubyで極める正規表現〜』(オーム社) いまの時代、書籍を購入しなくてもネットで十分勉強できる気もしたのですが、やっぱり本が目の前にあると意欲が違います。 きっと、おそらく、たぶん…。 感想としては(そういう類の本ではないけどね)、『たのしいRuby』のほうは監修がまつもと氏なだけあって、シロウトの私にもそれなりに理解できます。 全体的な雰囲気がわかれば、そこからはネット上のサンプルを読み解いたりできますからね。 『Ruby Magic 〜Rubyで極める正規表現〜』はまだしっかり読んでないのですが、私がRubyでやりたいことズバリ言うわよ(違)なので、購入してみた。 言語によって細かい作法があるからそこのところが理解できたらいいな。 問題はこれらの書籍代を会社に請求しようかどうか、という点。 InDesignのように業務に直結していれば請求しやすいんだけど…。 5000円ぐらいだから実費でもいいんだけど。 ちなみに細●さんは大嫌いです。 どうしてブルドッグに人生について語られなければいけないのか、納得できません! |
|
テキスト処理系:Rubyと仲良くなろう その2。
Rubyで改行文字を認識してくれないよぉ(汗) while line = file.gets line = line.chomp! print line 上記の例だとちゃんと\nを削除して表示してくれるんだけど print ("hello!\nRuby\n!\n") 上記のように""でくくると、<hello!\nRuby\n!\n>って出力されてしまふ…。 なんかすごい基礎でつまずいている自分が鬱だ…。 InDesignタグ付きテキストの不要な部分の改行をとるのに使いたいんだけど、再度改行できないのは非常にまずい。 |
|
テキスト処理系:Rubyと仲良くなろう その1。
そんなわけでRubyと仲良くなろうと思います。 基本的に文字列処理にしか使うつもりはないんだけれど、Sedはいまいちだし(私の理解能力が乏しいのかもしれないが)、いまさらPerlってのも個人的につまんないので、なんとなくRubyに流れてみた。 ついでに、OS Xのターミナルとも仲良くなろうと。 コマンドラインってなんとなく好き。 とりあえずcdを覚えた!(笑) 本当はそっち系の仕事にいきたかったのよ、高校生の頃は。 で、ターミナル君、日本語打つとエスケープされてしまふ…。 ネットを巡回して対応策を試みたんだけど、なんか直らず。 でも現時点では認識はされているので、弊社特技の「問題先送り」発動(爆) 「プリンタ使わなければええねん」です。 さて、とりあえずテキストを読み込んで、1行ずつ処理できるようになったら帰ろうかな。 よく考えたら家でもできることだしね(苦笑) 明日は音楽聞きながらコマンドラインな一日になる…かもね。 |
|
テキスト処理系。
テキスト入稿とはいうけれど、なかなかもらったテキストをそのまま使用できるケースって稀だと思う。 英数字が全角半角で統一されてなかったり、カナが半角だったり、分数を1/3ではなくて数式で使うような形にしなければいけなかったり。 いまはOS9のSedで英数字や半角カナ、記号類に対して処理をしている。 まぁ独学なのでかなり雑な書き方だったりするし、上司が使っていたのを盗み見て勝手に覚えただけなので、Sedがどんなものかもよくわかってない(笑) 上記のようなテキスト処理にプラスして顧客から入稿されたWordデータに付加してあるスタイルを利用して処理ができたら一番だと思う。 本文中の見出しとかゴシックとかいちいち手で処理していたら間違えるし効率も悪いから。 そういえばInDesignってテキストファイルをフォーマットを保持したまま読み込めたっけ。 理想をいえばWordのスタイル情報が付加されたテキストデータをテキスト処理にかけてInDesignタグを植えつけて流し込むっていうのがスマートだと思うんだけど、はてさてどうやればいいものか(悩) XMLタグ付きテキストで書き出して不要なタグを削除するのが常套なのかなぁ? しかしOS XにもWindowsにもテキスト処理系のスクリプトって入れてないんだよね。 入れるには面倒な上司にお願いして彼の権限で入れてもらわないといけない。 「試しにやってみたい」という単純な気持ちしかなくてもいちいち経緯とか説明しないといけないし、結局彼の好きな方法を押し付けられるから嫌なんだよなぁ。 強引に推し進めるとシステム管理者のくせに「ワシ知らんで〜」って逃げ出す始末。 あ〜、面倒だ。 権限関係なく使えるものってないですかねぇ? Jeditでちまちまやるのは…鬱だ。 |
|
| ホーム |
|

