七行プログラミング (452レス)
上下前次1-新
340: nobodyさん [sage] 04/09/20 14:43:21 ID:??? AAS
 何故わざわざ WebProg 板で? と思いつつ縮め。 
  
 #!/usr/bin/perl -n 
 $n=$1if/^namespace\s*(\w+)/;/#include\s*[<"](.+)[">]/&&push@i,$1;/^class\s+(\w+ 
 )\s*\:?/x&&push@c,$1;/\s*([\w\s\*]+\w\s*\(.+\))/&&push@f,$1;/\s*([\w\s\*]+\w);/ 
 &&push@v,$1;END{print join"\n",$.,$n,"@i","@c","@f","@v",''} 
341(1): nobodyさん [sage] 04/09/21 17:50:57 ID:??? AAS
 <html> 
 <head> 
 <title>あ</title> 
 </head> 
 <body> 
 </body> 
 </html> 
342(1): nobodyさん [釣られてみるsage] 04/09/21 17:58:26 ID:??? AAS
 それはマークアップ言語という(ry 
343(1): nobodyさん [] 04/10/03 15:30:49 ID:qw0lrubh(1) AAS
 Store7の圧縮してない奴ないですか? > 作者 
344(1): nobodyさん [sage] 04/10/03 17:06:58 ID:??? AAS
 >>343 
 自分で展開していかないと面白味が分からないと思うなぁ、コレ。 
 外部リンク[cgi]:cm.xrea.cc 
345: nobodyさん [sage] 04/10/03 20:29:26 ID:??? AAS
 >>344 
 ありがとう 
 いや,実は>>258258(2): Store7.pm [] 04/02/27 22:01 ID:xssKWf0b(1) AAS
 package Store7;sub E{$_=shift;s/\\/\\\\/g;s/'/\\'/g;$_}@ISA='Exporter';@EXPORT= 
 @EXPORT_OK=qw/store retrieve/;sub store{open my$o,">$_[1]";print$o ''.d($_[0]); 
 }sub retrieve{do$_[0]}sub d{my$f=shift;my$e=ref$f;$e eq'SCALAR'?"'".E($$f)."'": 
 $e eq'ARRAY'?'['.join(',',map{d($_)}@$f).']':$e eq'HASH'?'{'.join(',',map{my$k= 
 $_;$_="'".E($k)."'=>".d($f->{$k})}keys%$f).'}':"'".E($f)."'"};use Exporter;1 
なんとか5行でStorable.pmと同じ使い方です(storeとretrieveだけ)。 
  
 store( \%hashとか\@array, 'data.txt' ); 
 $hash_ref = retrieve('data.txt');  
なんだけど機能強化されてるのでこっちを使おうかと思ってね 
346: nobodyさん [age] 04/12/12 03:10:20 ID:??? AAS
 あげ 
347(1): nobodyさん [sage] 04/12/16 18:47:01 ID:??? AAS
 外部リンク[html]:internet.watch.impress.co.jp 
348(1): nobodyさん [sage] 04/12/17 09:19:09 ID:??? AAS
 >>347 
 Perlのmolester-minの方はライブラリ使わず9行。(詰めれば6,7行以内に収まりそう。 
 外部リンク:ansuz.sooke.bc.ca 
349(1): nobodyさん [sage] 04/12/17 14:50:07 ID:??? AAS
 >>348 
 定数をハードコーディングして可搬性を激しく落としてでも 
 Socket.pm を使わない選択は漢だなぁ。(w 
  
 80桁ギリギリまで詰めるよう整形したら既にシェバング無し 
 七行達成してるし、あと 40 byte ほど縮めたらいい感じかな。 
  
 $/=$_;$,=shift;$w=$a=shift;sub g{open(F,$4)&&t($2,$a,"e$4",<F>);close F}socket 
 S,2,1,6;$k{+shift}=1;bind S,&a;sub e{open F,">$4";print F$';close F}sub h{t($2, 
 $_,id)for keys%k}sub i{$k{$2}=1}sub f{t($_,$2,$4)for keys%k}sub a{$w=~/:/;pack 
 'CxnC4x8',2,$',split'\.',$`}sub t{socket X,2,1,6;$w=shift;$k{$w}=(connect X,&a) 
 ?print X"$, $_[0] $_[1]/".pop:$/;close X}for(listen S,5;$SIG{ALRM}=sub{}; 
 m!^(.*?) (.*?) ([e-i])([^/]*)/!s&&$,eq$1&&&$3){alarm 9;(accept(C,S),alarm 0)? 
 read C,$_,1e6:($_="$, $a f".shift);close C} 
350: nobodyさん [sage] 04/12/17 21:57:04 ID:??? AAS
 >>349 
 正規表現による暗黙の代入とグローバル特殊変数を使った引数渡しは使えそうだ。 
  
 PythonのTinyP2PがXMLRPC等のライブラリを使っているので、 
 動機のひとつにライブラリなしバージョンを作ろう、ってのがあったみたい。 
 サイトを良く読むとblogとかにその辺の事情も書いてる様です。 
  
 他の言語では、Java(16行), Ruby(6行)版も投稿されてます。 
 外部リンク[pl]:developers.slashdot.org 
 外部リンク[pl]:developers.slashdot.org 
351: nobodyさん [sage] 04/12/24 21:39:51 ID:??? AAS
 ほす 
352(1): nobodyさん [] 05/01/30 23:39:07 ID:cEoW2dZ/(1) AAS
 >>341-342 
 そういえば、昔、5kっていう5KBにHTMLページを収めるってなコンテストがあったなぁ。 
 外部リンク:www.the5k.org 
 5Kといい、7Lといい、こういうの好きなんだわ漏れ。 
 7行といえば560バイトでWebPage作るってのはどう? 
 ちょっと擦違いスマソ 
353: nobodyさん [sage] 05/01/31 00:37:15 ID:??? AAS
 >>352 
 「どう?」じゃなくて、作って晒せば? こういうのはやったもん勝ち。 
 面白いと思わせる事ができれば挑戦者も出てくるんじゃない? 
  
 ただスレのルール的に、「560 byte」でなく、1 行は 79 byte + 改行、 
 7 行以内でそのまま使える、って条件を満たしてないと個人的には 
 受け入れ難いなぁ。 
354: nobodyさん [age] 05/01/31 14:38:02 ID:??? AAS
 <? 
  
 echo 'PHPもまぜてくれ'; 
  
 ?> 
355(3): nobodyさん [sage] 05/02/06 00:29:37 ID:??? AAS
 じゃぁ、phpで7行wiki 
  
 <? require("Text/Wiki.php");require("Cache/Lite.php");$c=&new Cache_Lite(); 
 $s=$_SERVER[PHP_SELF];$g=$_GET;$b=&$_POST[b];$n=$g[n]?$g[n]:"FrontPage";$b&& 
 $c->save($b,$n)&&header("Location: $s?n=$n");($b=$c->get($n))||$g[c]=e; 
 $h="<h1>$n</h1>";if($g[c]==e)$h.="<form method=post action='?n=$n'>". 
 "<textarea name=b rows=30 cols=80>$b</textarea><input type=submit>"; 
 else{$w=&new Text_Wiki;$w->setRenderConf(xhtml,wikilink,new_url,"?n=%s"); 
 $h.=$w->transform($b,xhtml)."<hr><a href='?c=e&n=$n'>e";}?><html><body><?=$h?> 
  
 PEAR::Text_Wikiが必要。Cache_LiteはPEARにデフォルトで入ってる気がする。 
 あとshort_open_tag=Onでよろしく。 
  
 整形ルールは 外部リンク[php]:wiki.ciaweb.net 
 日本語のwikinameは使えなかったりする。これはText_Wikiが対応していないせい。 
356: nobodyさん [] 2005/04/24(日) 00:09:53 ID:s2OIHVmv(1) AAS
 保守あげ 
357: nobodyさん [] 2005/04/26(火) 00:51:58 ID:UrRypboo(1) AAS
 >>355 
 ちょっとずるい気がする 
358(1): nobodyさん [sage] 2005/04/26(火) 17:50:19 ID:??? AAS
 どの辺が? タグを閉じていないあたり?
359: nobodyさん [sage] 2005/04/27(水) 02:12:54 ID:??? AAS
 >>358 
 ライブラリ使い過ぎると面白さ半減ってことだろ。 
360: nobodyさん [] 2005/04/27(水) 03:24:58 ID:0BxullHs(1) AAS
 モジュール/ライブラリに関して 
 >>4646(2): nobodyさん [require使えば] 02/11/03 19:44 ID:??? AAS
 1行でも書けるな。  
 >>135135(3): nobodyさん [sage] 03/04/19 12:54 ID:??? AAS
 ライブラリをつかってよいのなら、主要な処理はライブラリに書けば数文字でかけますね。  
 >>136136(2): nobodyさん [sage] 03/04/19 21:11 ID:??? AAS
 >>135 
 個人的にはモジュール不可派だけど、WebProg だし 
 標準モジュールだけ使用可にした方が面白いものが 
 出てきそうな気がするのでそういう縛りで考えてるよ。  
 >>174 >>175  
 外部リンク[cgi]:cm.xrea.cc の 0.1. ライブラリ及びモジュールの利用 
  
 >>355 
 requireって () 省略できるはず。 
361: nobodyさん [sage] 2005/04/27(水) 07:43:42 ID:??? AAS
 >>355 
 まぁでも、7行で基本機能を備えたwikiが使えるなら実世界でも結構有用じゃないか。 
 Text_Wikiの機能のデモにはなるでしょ。 
  
 むしろwiki技術関連スレ向きとは思うが。 
 向こうにも一応アンカー張ってあるね。 
362: nobodyさん [sage] 2005/04/28(木) 12:12:12 ID:??? AAS
 流れを無視して、7vote が 7 行に収まったのでパッケージング。 
  
 #!perl 
 use CGI":all";charset$c='UTF-8';${$_}=param$_ for f,n,v;$f=~s/\W//g;open F,"+<$ 
 f"if chdir V;eval{flock F,2};$t=<F>;/\t/and$D{$`}+=$' for<F>;seek F,0,0;$n?$D{$ 
 n}||=1:$v&&$D{$v}++,print F$t,map"$_\t$D{$_}\n",keys%D if$n||$v;$L{$K[$i++]}=$_ 
 for radio_group(v,[@K=sort{$D{$b}<=>$D{$a}}keys%D]);put header,start_html(-lang 
 ,ja,encoding,$c,-Title,$t),h1($t),startform,table({},Tr[map{td["$L{$_}($D{$_})" 
 ,hr{width,$D{$_}}]}@K]),hr,p(textfield(n),hidden(f,$F),submit),endform,end_html 
  
 UTF-8 になったのがちょっと悔しい。 
 ファイル名は \w+ にしました。 
363: nobodyさん [hg] 2005/11/07(月) 20:21:27 ID:??? AAS
 半年ぶりフォーーーーーーーーーーーーーーーーーーーーーー 
364: nobodyさん [] 2005/11/23(水) 11:59:34 ID:8dGTpf7c(1) AAS
 良スレあげ 
上下前次1-新書関写板覧索設栞歴
あと 88 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s