Home > プログラミング > wake で(ry その2

wake で(ry その2

wake がバージョンアップしてアクション部分でのエスケープが許可された.これは空白とか改行と入れるのに有効かなと.

ということで,ゴルフしたコードを書き換えた.ついでに,PCRE(ないしperl)の正規表現で^と$が文字列中のnewlineにどこでもマッチできることに気がついたので,それ関連で\nを置換しまくる.

char pyramid.前のは無駄ばかりだったけどだいぶすっきりした感じ.

:$<
([^ ]+)([^ ].*):$1\ $2
( *)\S(.*):$1$2\  "$&\n"
 +:

swap lines.アクションのエスケープと正規表現の^とで縮めた結果,murky-satyrさんに追いついた.

-:$<\n
(.+?)(^.+?\n)(.*):"$2$1"$3

追いつく前のは\nを付けるの面倒だなぁとかやってごちゃごちゃと:

-:$<
(.*?\n)(.*?)(\n|\Z)(.*):"$2\n$1"$4

あとはもう少し複雑そうなのをということで Half Sierpinski をば.なんとなく同じパターンがたくさん現れるので(下のl関数とu関数)… そろそろ foldr とか map とかの高階関数が欲しくなってくるかなぁと思いつつ,実現すんのは(要素への区切り方というかリストの表現とかが結局)面倒だなぁとか思ってみたり.

-:$(x)
x:"#~"
c(.*?) *~(.*):"$1\n"c$2
.* {16}.:c$&
u(.*?)~(.*):"$1$(U$1)~"u$2
l(.*?)~(.*):"$1$1~"l$2
U.(.*):" "U$1
[A-z]*:
.+:$(l$&)$(u$&)
★下記に2つの英単語をスペースで区切って入力してください

Home > プログラミング > wake で(ry その2

Search
Feeds

Page Top