はげましのお声、ないしは罵詈雑言ありあり版
510
おなまえ
もじもじ
--------
メッセージ
おっと。
さいころは &hikuhiku(5,1) 1 か。
サブルーチン(関数)としては、
1から始まる方が使いやすいかな。
あるいは、第三引数で初期値を選ばせて、
&hikuhiku(6,1,1)とか。
日付Sat Feb 1 10:21:43 2003
509
おなまえ
もじもじ
--------
メッセージ
席替えは、&hikuhiku(40,40) とか。
日付Sat Feb 1 10:14:58 2003
508
おなまえ
もじもじ
--------
メッセージ
問題は3枚目だな。
欲を言えば、これをスマートにクリアして、汎用性を持たせたいところではあるが。
さいころは、&hikuhiku(6,1) とか。
日付Sat Feb 1 10:13:41 2003
507
おなまえ
もじもじ
--------
メッセージ
>>504の実行結果をみて、あれあれ、と。
もしかして、と思って、tarot.cgiを
検証してみるとやはり…。
日付Sat Feb 1 10:10:41 2003
506
おなまえ
micmic
--------
メッセージ
なるほど例えば、@card[0]=68 で@card[1]=9 のとき@card[2]に67を引いてしまうと最初67 < 68 なので 67 のまま、次に 67 >= 9 なので 67++ = 68 とこうなるわけね。
ううむ、別ロジックが要りますね。
日付Sat Feb 1 10:07:35 2003
505
おなまえ
もじもじ
--------
メッセージ
foreachロジックの重大な陥穽。
日付Sat Feb 1 09:43:11 2003
504
おなまえ
micmic
--------
メッセージ
こんなもんでいいすか。
#!/usr/bin/perl
$, = ",";
$\ = "\n";
@wooky = &hikihiki(10,5);
print @wooky;
print @card;
exit;
sub hikihiki{
my $all = @_[0];
my $end = @_[1] -1;
my @card;
for(0 .. $end){
$new = int(rand($all - $_));
foreach(@card){
if( $new >= $_ ) #ここらへんはthanks to もじもじ。
{ $new++ ;}
}
@card =(@card,$new);
}
@card
}
日付Sat Feb 1 00:12:58 2003
503
おなまえ
もじもじ
--------
メッセージ
# $a枚から$b枚引く。
for(0 .. $b){
$foo = int(rand($a - $_));
foreach(@foo){
$foo++ if($new >= $_);
}
@foo = (@foo,$foo);
}
この際、サブルーチンにしたい。
引数は$a,$b。リターンは@foo。
リストを返すにはどうしたらいいのか?
リストの先頭のアドレスを返す?
perlでは無理かな。
日付Fri Jan 31 19:48:23 2003
502
おなまえ
もじもじ
--------
メッセージ
http://www.satani.org/paso/tarot_cgi.txt
すばらしい。何度見てもほれぼれする。
日付Fri Jan 31 19:32:38 2003
501
おなまえ
micmic
--------
メッセージ
>>499 う、全然だめじゃん。よほど無駄づかい。くう。
日付Wed Jan 29 13:59:38 2003
500
おなまえ
micmic
--------
メッセージ
う、これはこれで冗長。やっぱりダメか。けらけら。
日付Wed Jan 29 10:21:32 2003
499
おなまえ
micmic
--------
メッセージ
あたるも八卦。
車輪の再発明ルーチンができてうれしいです。
たぶん、普通ならspliceを使ってこうやるんでしょうかね。
あ、趣味のプログラムに普通も何もないか。
for(0..77){
$card[$_]=$_;
}
$ran1 = int(rand(78));
splice(@card,$ran1,1);
$ran2 = int(rand(77));
$ran2a = $card[$ran2];
splice(@card,$ran2,1);
$ran3 = int(rand(76));
$ran3a = $card[ran3];
日付Wed Jan 29 10:07:31 2003
498
おなまえ
もじもじ
--------
メッセージ
「倦怠感。やる気の無さ。面倒くさがり。分別の曖昧さ。」
…。
日付Tue Jan 28 10:30:12 2003
497
おなまえ
もじもじ
--------
メッセージ
http://www.satani.org/paso/tarot_cgi.txt
foreachか。なるほどねぇー。
日付Tue Jan 28 10:24:02 2003
496
おなまえ
もじもじ
--------
メッセージ
"一つずつとっていく"アルゴリズムとして
かなり汎用性が高いものが出来ましたね。
日付Tue Jan 28 10:20:11 2003