七行プログラミング (452レス)
上下前次1-新
352(1): 05/01/30 23:39 ID:cEoW2dZ/(1) AAS
>>341-342
そういえば、昔、5kっていう5KBにHTMLページを収めるってなコンテストがあったなぁ。
外部リンク:www.the5k.org
5Kといい、7Lといい、こういうの好きなんだわ漏れ。
7行といえば560バイトでWebPage作るってのはどう?
ちょっと擦違いスマソ
353: 05/01/31 00:37 ID:??? AAS
>>352
「どう?」じゃなくて、作って晒せば? こういうのはやったもん勝ち。
面白いと思わせる事ができれば挑戦者も出てくるんじゃない?
ただスレのルール的に、「560 byte」でなく、1 行は 79 byte + 改行、
7 行以内でそのまま使える、って条件を満たしてないと個人的には
受け入れ難いなぁ。
354: [age] 05/01/31 14:38 ID:??? AAS
<?
echo 'PHPもまぜてくれ';
?>
355(3): 05/02/06 00:29 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: 2005/04/24(日)00:09 ID:s2OIHVmv(1) AAS
保守あげ
357: 2005/04/26(火)00:51 ID:UrRypboo(1) AAS
>>355
ちょっとずるい気がする
358(1): 2005/04/26(火)17:50 ID:??? AAS
どの辺が? タグを閉じていないあたり?
359: 2005/04/27(水)02:12 ID:??? AAS
>>358
ライブラリ使い過ぎると面白さ半減ってことだろ。
360: 2005/04/27(水)03:24 ID:0BxullHs(1) AAS
モジュール/ライブラリに関して
>>46 >>135 >>136 >>174 >>175
外部リンク[cgi]:cm.xrea.cc の 0.1. ライブラリ及びモジュールの利用
>>355
requireって () 省略できるはず。
361: 2005/04/27(水)07:43 ID:??? AAS
>>355
まぁでも、7行で基本機能を備えたwikiが使えるなら実世界でも結構有用じゃないか。
Text_Wikiの機能のデモにはなるでしょ。
むしろwiki技術関連スレ向きとは思うが。
向こうにも一応アンカー張ってあるね。
362: 2005/04/28(木)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: [hg] 2005/11/07(月)20:21 ID:??? AAS
半年ぶりフォーーーーーーーーーーーーーーーーーーーーーー
364: 2005/11/23(水)11:59 ID:8dGTpf7c(1) AAS
良スレあげ
365(5): 2006/01/21(土)13:50 ID:??? AAS
#!/usr/bin/perl
my@d=([qw/? ? ? ? ? ? ? ? ? ? ? ? ? ?/],[qw/☆ △ ■/]);
my$c='Shift_JIS';my$l='ja';use CGI':standard';my@r=(0)x@d;
print header(-charset=>$c),start_html(-encoding=>$c,-lang=>$l),start_form,
(map{my$i=$_;ul li[(map{$r[$i]+=param($_);$_.textfield -name=>$_}@{$d[$i]}),
"計 $r[$i]"]}0..$#d),ul(li"$r[1]÷$r[0]=".eval{$r[1]/$r[0]}),submit,end_form,
end_html;
366: 2006/01/21(土)23:54 ID:e+ke+qvM(1) AAS
なぜ丸付き数字と図形なのかわからんけど面白いですね。
どういうときに使えるだろう・・・。と考えてしまう
367(1): クロエ 2006/01/22(日)02:56 ID:??? AAS
外部リンク:tool-6.net
イメージ的には、こんな感じなんですが…。【1】,「?〜?まで入力した数値を総計。」
【2】,「A+B+Cに入力した数値を総計。」
【3】,「【2】÷【1】×100」っていう演算プログラムなんですが…。
368(2): 365 2006/01/22(日)10:02 ID:??? AAS
>>367
仕様変更は34,000円からになっておりますw
話の流れがわからない人は2chスレ:tech
>>365はかなりゆとりがあったので7Excelにしてみた。
スタイルシートを別ファイルにしてもいいならまだまだいけそうだ。
#!/usr/bin/perl
@x='A'..'G';@y=1..10;$c='Shift_JIS';use CGI':all';@r=(0)x(@x+1);print header(
-charset=>$c),start_html(-encoding=>$c,-lang=>'ja',-head=>style({-type=>
'text/css'},'table{border-collapse:collapse}input,th{width:50px}td{text-align:
right}td,th{border:1px solid gray}')),start_form,table(Tr(map th($_),'',@x,''),
(map{$i=$_;$s=0;Tr td[$_,(map{$p=param"$i$x[$_]";$s+=$p;$r[$_]+=$p;textfield
"$i$x[$_]"}0..$#x),($r[-1]+=$s,$s)[1]]}@y),Tr td['',@r]),submit,end_form,end_html
369: 365 2006/01/22(日)16:39 ID:??? AAS
use Storable;$f='file';$s=8;$c='Shift_JIS';%p=qw/-1 〇 0 _ 1 ●/;@m=map([map 0
,0..$s+2],0..$s+2);($x,$y)=map param($_)%($s+1),qw/x y/;$r=1;use CGI':all';sub
f2{my($w,$y,$x,$c)=@_;$u=1;if(0>$r*$m[$y][$x]){$c++;$m[$y][$x]*=$u=f2($w,$y+$w
->[0],$x+$w->[1],$c)}elsif(0<$c&&0<$r*$m[$y][$x]){$u*=-1}$u}sub r{if($y&&$x&&!
$m[$y][$x]){for(0..7){$i=$_*atan2 1,1;$l=[map int(sprintf'%f',$_*sqrt 2),sin$i,
cos$i];$z++if 0>f2$l,$y+$l->[0],$x+$l->[1]}if($z){$m[$y][$x]=$r;$r*=-1}}}$m[$s/
2+(0<($_&2))][$s/2+(0<($_&1))]=$_%3?1:-1 for 0..3;($r,@m)=@{retrieve$f}if-s$f;r
;store[$r,@m],$f;print header(-charset=>$c),start_html(-encoding=>$c,-lang=>
'ja'),table(Tr[map{$i=$_;td[map a({-href=>"o.cgi?y=$i&x=$_"},$p{$m[$i][$_]}),1
..$s]}1..$s]),$p{$r},end_html;
7オセロ?
o.cgiで保存。
同じディレクトリに記録用ファイルの "file" を作成。
要 Storable.pm (Active Perl なら最初から入っているはず)
リセットは手動で "file" を空にするw
7行に収まると思ったけど見込みが甘かった。
370(1): クロエ 2006/01/23(月)02:25 ID:??? AAS
>>365
本当にありがとうございます。設置の仕方が分かりませんorz orz orz
今日6時間くらい、CGIについて解説してあるサイトを隅から隅まで見ましたが、収穫なしですwww
ばかん ばかん 俺のばかん
テキストエディタ?を使うんですか?
371: 2006/01/23(月)03:02 ID:??? AAS
>>370
CGI設置について質問 【Part2】
2chスレ:php
だがどのみち使いこなせないと見た
372(1): クロエ 2006/01/23(月)16:06 ID:??? AAS
>>365氏
本当にありがとうございます。
2chでこんな優しい人初めてだ。
勉強してきますた。
鯖にアップロードして、パーミッションを755にするだけでおKですか?
373: 2006/01/23(月)16:30 ID:??? AAS
>>372
やってから聞いてる?
374(2): クロエ 2006/01/23(月)18:13 ID:??? AAS
372であってますか?
375: 2006/01/23(月)18:19 ID:??? AAS
>>374
鯖によるから合ってるとか間違ってるとか言えん。
とにかくやって、エラーが出たらまた聞いてくれよ。
何かやるたびに聞かれたんじゃ迷惑だし、そもそもスレ違い。
376(1): 2006/01/23(月)19:29 ID:??? AAS
($f,$s,$r,@p)=qw/file 8 1 _ ● 〇/;use Storable;use CGI':all';sub f{$u=1;my($y
,$x,$c)=@_;if(0>($t=$r*$m[$y][$x])){$m[$y][$x]*=f($y+$p,$x+$n,1)}elsif($c&$t){
$u=-1;$z++}$u}$$_=param($_)%($s+1)for qw/x y/;@m=map[(0)x$s+1],0..$s+1;map$m[$s
/2+$_/2][$s/2+$_%2]=$_%3?1:-1,0..3;($r,@m)=@{retrieve$f}if-s$f;$o=\$m[$y][$x];
if($y&&$x&&!$$o){for(0..7){($p,$n)=map sprintf('%.f',$_),sin($i=$_*0.78),cos$i;
f$y+$p,$x+$n}$$o=$r,$r*=-1 if$z}store[$r,@m],$f;charset '';print header,$p[$r],
table Tr[map{$i=$_;td[map a({href,"?y=$i&x=$_"},$p[$m[$i][$_]]),1..$s]}1..$s]
昨日の続きで7オセロ!
モジュール詳しくないからやらないけどモジュール*だけ*で構成なんてのも面白そうだ。
377: 2006/01/23(月)19:31 ID:??? AAS
>>374
質問するならまず68,000円のサポートチケットを購入してからにしてくださいw
378(3): 376 2006/01/23(月)21:15 ID:??? AAS
($f,$s,$r,@p)=qw/file 8 1 _ ● 〇/;use Storable;use CGI':all';sub f{$u=1;my($y
,$x,$c)=@_;if(0>($t=$r*$m[$y][$x])){$m[$y][$x]*=f($y+$p,$x+$n,1)}elsif($c&$t){
$u=-1;$z++}$u}$$_=param($_)%($s+1)for qw/x y/;@m=map[(0)x($s+1)],0..$s+1;map$m[
$s/2+$_/2][$s/2+$_%2]=$_%3?1:-1,0..3;($r,@m)=@{retrieve$f}if-s$f;$o=\$m[$y][$x]
;if($y&&$x&&!$$o){for(0..7){($p,$n)=map sprintf('%.f',$_),sin($i=$_*0.78),cos$i
;f$y+$p,$x+$n}$$o=$r,$r*=-1 if$z}store[$r,@m],$f;charset '';print header,$p[$r]
,table Tr[map{$i=$_;td[map a({href,"?y=$i&x=$_"},$p[$m[$i][$_]]),1..$s]}1..$s]
括弧はずしすぎでバグっていたので修正
ファイル名省略すると Lynx じゃ動かないね。
379(3): 2006/01/23(月)21:31 ID:??? AAS
>>378
パスできない仕様はどうかと。
ファイルに記録するより Cookie にでも持たせた方がいいんじゃない?
参考に C の6行オセロを Perl に移植してみた。
オリジナルより数 byte 大きい。 ;-)
#!/usr/local/bin/perl
sub K{$m[$p]||do{for(@m[0..7]){$v=$p+$_;$v+=$_ while$m[$v]==9-$t;if($v-$p-$_&&$
m[$v]==$t&&($a=$s=$v=$p,$d)){{$m[$v]=$t;$m[$v+=$_]-$t&&redo}}}}}@m[40,41,49,50,
0..7]=(3,6,6,3,-10..-8,-1,1,8..10);$s=$t=3;@c=(qw(・ ○ ●),$/);while($s-1){$_%
9?K$p=$_:($m[$_]=9),print$c[$m[$_]/3]for 9..81;$a?($a=$d=$p=9):$s?($s=0,print
"pass\n"):++$s;K$p+=$t-6?(($p,$_)=<>=~/\d/g,$_*9):1until$a-9;$t=9-$t;$a=$d=0}
380: 2006/01/23(月)22:25 ID:??? AAS
>>379
できませんよ><
381(1): 2006/01/24(火)00:41 ID:??? AAS
@x='A'..'G';@y=1..10;@s=qw/合計 平均/;use CGI':all';charset '';print header,
style({type,'text/css'},'table{border-collapse:collapse}td,input{text-align:
right;width:70px}td,th{border:1px solid gray}'),start_form,table(Tr[th(['',@x,
@s]),(map{$i=$_;$s=0;$n=0;td[$_,(map{$p=param"$x[$_]$i";($t=$s)==($s+=$p)||$n++
;($t=$r[$_])==($r[$_]+=$p)||$v[$_]++;textfield"$x[$_]$i"}0..$#x),($r[@x]+=$s,$s
,eval{$s/$n})[1,2]]}@y),td([$s[0],@r,'']),td[$s[1],map($v[$_]?sprintf('%.3f',(
$c++,($t=$r[$_]/$v[$_]),$v+=$t)[1]):'',0..@x),eval{$v/$c}]]),submit,end_form;
>>368 がいまいち糞コードになりきれていなかったので平均の計算も追加。おやすみ〜 ノシ
上下前次1-新書関写板覧索設栞歴
あと 71 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.009s