七行プログラミング (452レス)
七行プログラミング http://medaka.5ch.net/test/read.cgi/php/1036141603/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
320: nobodyさん [sage] 04/07/15 21:20 ID:??? while($act ne "ガッ"){ print "ぬるぽ\n"; $act = <STDIN>; chomp($act); } print "撃退\n"; sleep(1); http://medaka.5ch.net/test/read.cgi/php/1036141603/320
321: nobodyさん [sage] 04/07/24 18:39 ID:??? これってphpじゃだめなん? http://medaka.5ch.net/test/read.cgi/php/1036141603/321
322: nobodyさん [sage] 04/07/24 18:52 ID:??? >>321 個人的には WebPlog らしいお題なら言語は何でも いいと思うけど。てかこんなんはやった者勝ちかと。 http://medaka.5ch.net/test/read.cgi/php/1036141603/322
323: nobodyさん [sage] 04/07/24 20:08 ID:??? とりあえずPHP5+SQLiteな一行掲示板。フォーム部分は分離させた。 <form action=bbs.php method=post>名前:<input type=text name=n>一言:<input type=t ext name=t size=60><input type=submit value=送信></form> <? $d=sqlite_open('l');$n=$_POST['n'];if(!@sqlite_query($d,'SELECT * FROM b;')){ sqlite_query($d,'CREATE TABLE b(n,t,d);');}$t=$_POST['t'];$z=date("Y/m/d H:i:s") ;if($n!=''&&$t!=''){$s="INSERT INTO b(n,t,d) VALUES(\"$n\",\"$t\",\"$z\");";sqli te_query($d,$s);}print "<hr>";$r=sqlite_query($d,"SELECT * FROM b ORDER BY d DES C");$c=0;while(($a=sqlite_fetch_array($r))&&$c<50){print htmlspecialchars($a['n' ]).":".htmlspecialchars($a['t'])."[".$a['d']."]<br><hr>\n";$c++;}sqlite_close($ d); ?> DBファイルとテーブル勝手に作る方式。新着順、50件まで(ただしDBからは消してない)。 読みにくいけどSQLiteの使い方の勉強に…ならんか。 http://medaka.5ch.net/test/read.cgi/php/1036141603/323
324: nobodyさん [sage] 04/07/24 20:14 ID:??? >>318 ちなみにそれ、アクセス解析機能もつけるのか? http://medaka.5ch.net/test/read.cgi/php/1036141603/324
325: nobodyさん [sage] 04/07/25 13:12 ID:??? >>323 GJ! http://medaka.5ch.net/test/read.cgi/php/1036141603/325
326: nobodyさん [sage] 04/07/26 14:27 ID:??? 人ほとんどいないなここ(´・ω・`) Web拍手PHP版(記録側)。例によってフォームは分離。 <form method="post" action="webclap.php" target="clap"> <input type="hidden" name="m" value="c">ついでに一言。 <input type="text" name="t" size=40> <input type="submit" value="拍手を送る"></form> <? if($_POST['m']=='c'){$n=file("l");$d=date("Ymd");$h=date("H");$b=split(",",$n [0]);$a=file("t");echo $a[array_rand($a)];if($b[0]!=$d){$i=0;$x="$d,1,";while($i ++<24){if($i==$h+1)$x.="1,";else$x.="0,";}array_unshift($n,"$x\n");}else{$b[1]++ ;$b[$h+2]++;$x="";$i=-1;while($i++<count($b)-2)$x.="$b[$i],";$n[0]="$x\n";if(cou nt($n)>14)array_pop($n);}$f=fopen("l","w");while(count($n)>0)fputs($f,array_shif t($n));fclose($f);$t=$_POST['t'];if($t!=""){$m=file("m");$f=fopen("m","w");array _unshift($m,"$d,$t\n");if(count($m)>200)array_pop($m);while(count($m)>0)fputs($f ,array_shift($m));fclose($f);}} ?> ごめん、8行になってしまた。取得ログは14日分で1時間単位ごとの記録アリ、 一言メッセージは200件まで保存。動かす前にl,m,tとそれぞれ空ファイル作ってくだされ。 tには拍手ボタン押した後に表示するHTMLを一行で叩き込んで。 複数行にするとランダムでどの行か選んで表示します。一行の長さの制限はわからん。 だれか7行に縮めてくれ。俺はもうだめだ(´Д⊂ http://medaka.5ch.net/test/read.cgi/php/1036141603/326
327: nobodyさん [age] 04/07/26 20:37 ID:??? ためしにkaiseki.php作ったら12行になったΛ||Λダメポ 活気ないのでage http://medaka.5ch.net/test/read.cgi/php/1036141603/327
328: 7clap [sage] 04/07/26 23:10 ID:??? オリジナルから仕様を極力変えない方向で10行。 #!/usr/local/bin/perl use CGI":all";charset$c=Shift_JIS;param(k,$k=1+param k);($w=escapeHTML(param w) )=~s/\x0D\x0A|[\x0A\x0D]/br/eg;sub d{($h,$d,$m,$y)=(localtime(time-86400*pop))[ 2..5];$g=($y+1900).sprintf"%02d"x2,$m+1,$d}($C,$M,$L,$T,$I,$S,$E,@M)=<DATA>; open L,">$L";eval{flock L,2};open C;d>(@c=<C>)[-1]?(@c<14||shift@c,@l=((0)x25, "\n")):(($g,@l)=split/<>/,pop@c);$l[$h+1]++;$l[0]++;open C,">$C";print C@c,join "<>",$g,@l;d(14);open M;@m=grep$g<=$_,<M>;open M,">$M";print M@m,""ne$w&&d."<>$ h<>$w<>\n";put header,start_html(-Title,$T,lang,ja,encoding,$c),($k<10?(p($M[ rand@M]),startform,p(hidden(k),submit$S),p($I,br,textfield w,'',50,50),endform) :p$E),end_html;__END__ ./log.dat ./mes.dat ./lock.dat web拍手送信完了 ついでに一言あればどうぞ (拍手だけでも送れます) もっと送る 沢山の拍手を有り難うございました! 拍手が送信されました。ありがとうございました! 拍手が送信されました。ありがとうございますた! 拍手が送信されました。ありがとさ〜ん! http://medaka.5ch.net/test/read.cgi/php/1036141603/328
329: nobodyさん [sage] 04/07/29 22:33 ID:??? >>323 >>326 PHPって関数名の途中に空白文字入っても動くの? http://medaka.5ch.net/test/read.cgi/php/1036141603/329
330: nobodyさん [sage] 04/07/30 11:49 ID:??? >>329 行末改行は79文字で切ったものなんで、動かす場合は繋げて。 http://medaka.5ch.net/test/read.cgi/php/1036141603/330
331: nobodyさん [sage] 04/07/30 14:27 ID:??? あぁ、「そのまま動く」ってのが明文化されてないわけね…。 >>330 「560byte」プログラミングじゃなくて「7行」なので、79文字 一杯々々使いたかったら、コードの順番入れ替えたりして 調整してね。 http://medaka.5ch.net/test/read.cgi/php/1036141603/331
332: nobodyさん [sage] 04/07/30 23:12 ID:??? あと2chの仕様だが、コード中に半角スペースが2コ以上連続する時は 半角スペースを に置換する 行の最後に半角スペースが付くので、実行する時には注意する http://medaka.5ch.net/test/read.cgi/php/1036141603/332
333: nobodyさん [あ] 04/08/04 20:11 ID:??? age http://medaka.5ch.net/test/read.cgi/php/1036141603/333
334: 7clap [sage] 04/08/06 15:30 ID:??? あと一行半。 #!/usr/local/bin/perl use CGI":all";charset$c=Shift_JIS;param(k,$k=1+param k);($w=escapeHTML(param w) )=~tr/\x0A\x0D//d;($C,$M,$L,$E,@M)=<DATA>;open L;eval{flock L,2};@l=((0)x26," ");sub d{($s,$m,$h,$d,$m,$y)=localtime(time-pop);$l[0]=($y+1900).sprintf"%02d"x 2,$m+1,$d}open C;d>(@c=<C>)[-1]?@c<14||shift@c:(@l=split/<>/,pop@c);$l[$_]++for $h+2,1;open C,">$C";print C@c,join"<>",@l;d 1209600;open M;@m=grep$l[0]<=$_,<M> ;open M,">$M";print M@m,""ne$w&&d."<>$h<>$w<>\n";put header,start_html(lang,ja, encoding,$c),$k<10?(p($M[rand@M]),startform,p(hidden(k),submit Clap),p(Comment, textfield w),endform):p$E,end_html;__END__ ./log.dat ./mes.dat >./lock.dat 沢山の拍手を有り難うございました! 拍手が送信されました。ありがとうございました! 拍手が送信されました。ありがとうございますた! 拍手が送信されました。ありがとさ〜ん! http://medaka.5ch.net/test/read.cgi/php/1036141603/334
335: nobodyさん [sage] 04/08/07 07:38 ID:??? >319 全然要求満たしてないけど、叩き台に。 C/C++用、inputは余計なコード書いてないヘッダファイルのみ #!/usr/bin/perl -Pn /^namespace\s*(\w+)/ && ($ns=$1); /\#include\s*[<"](.+)[">]/ && push(@inc, $1); /^class\s+(\w+)\s*\:?/ && push(@cls, $1); /(([\w\s\*]+)(\w+)\s*\((.+)\))/ && push(@memf, $1); # メンバ関数 /(([\w\s\*]+)(\w+));/ && push(@memv, $1); # メンバ変数 END{ print join("\n", $., $ns, "@inc","@cls","@memf", "@memv"),"\n" } JAVAはリフレクションがあるし、classファイルのフォーマットも公開されてるので 別のアプローチでやってみると面白いかも知れない。(javapやClassBrowserが既にあるけど) http://medaka.5ch.net/test/read.cgi/php/1036141603/335
336: nobodyさん [あ] 04/08/11 09:29 ID:??? age http://medaka.5ch.net/test/read.cgi/php/1036141603/336
337: nobodyさん [] 04/09/18 22:44:55 ID:9YaH2aKo age http://medaka.5ch.net/test/read.cgi/php/1036141603/337
338: nobodyさん [sage] 04/09/18 22:53:04 ID:??? >>335 使い方がわからない。。。。 http://medaka.5ch.net/test/read.cgi/php/1036141603/338
339: nobodyさん [] 04/09/20 13:46:08 ID:k3h/6iWb スクリプト -> 335.pl /* C++のヘッダファイル foo.h */ #include <iostream> #include <stdlib.h> #include "common.h" using namespace std; namespace test{ class FooTest: public Test { int total; public: Test(); ~Test(); int foo(void); int bar(int n, int m); }; // End of class FooTest }; // End of namespace test 実行方法 $ perl -Pn 335.pl < foo.h または、 $ ./335.pl < foo.h 18 test iostream stdlib.h common.h FooTest int foo(void) int bar(int n, int m) using namespace std int total 行数, namespace, includeファイル, メンバ関数, 変数の順に出力 http://medaka.5ch.net/test/read.cgi/php/1036141603/339
340: nobodyさん [sage] 04/09/20 14:43:21 ID:??? 何故わざわざ 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",''} http://medaka.5ch.net/test/read.cgi/php/1036141603/340
341: nobodyさん [sage] 04/09/21 17:50:57 ID:??? <html> <head> <title>あ</title> </head> <body> </body> </html> http://medaka.5ch.net/test/read.cgi/php/1036141603/341
342: nobodyさん [釣られてみるsage] 04/09/21 17:58:26 ID:??? それはマークアップ言語という(ry http://medaka.5ch.net/test/read.cgi/php/1036141603/342
343: nobodyさん [] 04/10/03 15:30:49 ID:qw0lrubh Store7の圧縮してない奴ないですか? > 作者 http://medaka.5ch.net/test/read.cgi/php/1036141603/343
344: nobodyさん [sage] 04/10/03 17:06:58 ID:??? >>343 自分で展開していかないと面白味が分からないと思うなぁ、コレ。 http://cm.xrea.cc/upload.cgi?d=1096790671.tgz http://medaka.5ch.net/test/read.cgi/php/1036141603/344
345: nobodyさん [sage] 04/10/03 20:29:26 ID:??? >>344 ありがとう いや,実は>>258なんだけど機能強化されてるのでこっちを使おうかと思ってね http://medaka.5ch.net/test/read.cgi/php/1036141603/345
346: nobodyさん [age] 04/12/12 03:10:20 ID:??? あげ http://medaka.5ch.net/test/read.cgi/php/1036141603/346
347: nobodyさん [sage] 04/12/16 18:47:01 ID:??? http://internet.watch.impress.co.jp/cda/news/2004/12/16/5820.html http://medaka.5ch.net/test/read.cgi/php/1036141603/347
348: nobodyさん [sage] 04/12/17 09:19:09 ID:??? >>347 Perlのmolester-minの方はライブラリ使わず9行。(詰めれば6,7行以内に収まりそう。 http://ansuz.sooke.bc.ca/software/molester/ http://medaka.5ch.net/test/read.cgi/php/1036141603/348
349: nobodyさん [sage] 04/12/17 14:50:07 ID:??? >>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} http://medaka.5ch.net/test/read.cgi/php/1036141603/349
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 103 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.007s