こちら江戸川区船堀健康ランド前貸し倉庫(イ反)

いろんな(バカな)コンテンツを立ち上げていきたいと思います。
http://www.jon-lord.com/
             /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /

カオス文章メーカー - その他こまかい話

この手のテキストをシャッフルするツール類は、すでに世の中にたくさん存在していると思いますが、
今回、
「句読点や括弧類の位置関係を崩さずにシャッフルする機能を、できるだけ簡潔なコードで書く」
事を目標とし、練習の意味で作成してみました。

それを実現するための変換ルールを考えたのですが、結局以下のように落ち着きました。
・文章を区切るキャラクターを定義。(改行コード、句読点、括弧類、その他・・・)
・ソース文章を、区切りキャラクターで区切って分割する。
・分割したテキストには区切りキャラクターは含まない。
・区切りキャラクターが連続している場合は分割しない。
・分割したテキストをランダムに入れ替えて再構築。
・再構築時、区切りキャラクターは全て元の位置を保持。

アルゴリズムについては、アルゴリズムと呼べるほど立派なものでなく(←なんだそれwwww)
上記変換ルールをそのまま実現するように書いただけで、特別なところはありませんww
(テキストを一文字ずつなめて、区切りキャラクターを発見するたびに直前のテキストを記録。
再構築時は分割テキストをランダムに選択して、区切りテキストと結合していく。
もちろん、一度選択したテキストは選択されないようにする。)


ところで、正直JavaScriptって「ブラウザのおまけ言語」程度にしか思ってなかったのですが
今回、初めて機能をいろいろ調べて、その高機能ぶりに驚きました。
(JavaScriptさん、ごめんなさい!!!! おわびにオナ○ニー、3日間我慢します。いや、やっぱり無理)
配列の柔軟性とか(今回分割テキストの記録に .pushが役立った)、
あと、今回使ってないけど、正規表現関係も充実しているっぽいので、それを活用したら、
なんか、おもしろくてバカな変換ツールとかつくれそう、と思いました。




             /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /
お問い合わせ