Hatena::Grouparaistudy

iwasekiの日記

2008-05-01

世界のナベアツPerlで挑戦する はてなブックマーク - 世界のナベアツにPerlで挑戦する - iwasekiの日記

流行に乗り遅れてる感があるが(゚ε゚)キニシナイ!!


にぽたんさんが書いたのとか他の人のもちらほら見たけど、正直出力結果が気に入らない。プログラム初心者向けの問題として捉えるとにぽたんさんのはかなり高度な答えで( ゚Д゚)って感じだった。Perl使ってワンライナーもすごいと思う。どっちも今のオレには書けないすごいコードだ。


・・・けど、出力結果がナベアツじゃないじゃん!すごいコードだけどナベアツじゃないじゃん!

ってことで万年Perl勉強中のオレが、オレのオレによるオレのためのコードを書いちゃるわい!ということで、最初に書いたのがこれ。

#!/usr/bin/perl

use strict;
use warnings;

my %aho_hash = (
        "0" => "",
        "1" => "い~ち",
        "2" => "にぃ~",
        "3" => "さぁ~ん",
        "4" => "よぉ~ん",
        "5" => "ごぉ~",
        "6" => "ろぉ~く",
        "7" => "しぃ~ち",
        "8" => "はぁ~ち",
        "9" => "きゅぅ~",
        "10" => "じゅぅ",
        "20" => "にじゅぅ",
        "30" => "さんじゅぅ",
);

foreach (1..40){
        if ($_ % 3 == 0|| $_ =~ /3/ ){
                        my $huta = int($_ / 10);
                        my $juu = 10;

                        if($huta < 1){
                                $juu = 0;
                        }
                        if($huta < 2){
                                $huta = 0;
                        }


                        my $ichi = int($_ % 10);
                        print "$aho_hash{$huta}"."$aho_hash{$juu}"."$aho_hash{$ichi}\n";
        }else{
                print "$_\n";
        }
}
print "おもろ~!!\n";

if文のネストが気に入らない。でid:czk-htnさんに色々聞いて書き直したのがこれ。

#!/usr/bin/perl

use strict;
use warnings;

my %aho_hash = (
        "0" => "",
        "1" => "い~ち",
        "2" => "にぃ~",
        "3" => "さぁ~ん",
        "4" => "よぉ~ん",
        "5" => "ごぉ~",
        "6" => "ろぉ~く",
        "7" => "しぃ~ち",
        "8" => "はぁ~ち",
        "9" => "きゅぅ~",
        "10" => "じゅぅ",
);

foreach (1..40){
        if($_ % 3 == 0 || $_ =~ /3/ ){
                my $huta = int($_ / 10);
                my $hito = int($_ % 10);

                #もし$hutaが1以下だったら$juuに0、そうでなければ10を代入(三項演算子)
                my $juu = $huta < 1 ? "0" : "10";
                $huta = 0 if $huta < 2;

                print "$aho_hash{$huta}"."$aho_hash{$juu}"."$aho_hash{$hito}\n";
        }else{
                print "$_\n";
        }
}
print "おもろ~!!\n";

現状のオレの能力だと、これぐらいが読みやすくてそれなりにスマートにできたコード。三項演算子は知らなかったのでこれで覚えた。

多分、全世界Perler選手権とかあったら最下位だと思う。

id:czk-htnさんがオレのやつを元に書いたコードはこれ。

#!/usr/bin/perl

use strict;
use warnings;

my %aho_hash = (
        "0" => "",
        "1" => "い~ち",
        "2" => "にぃ~",
        "3" => "さぁ~ん",
        "4" => "よぉ~ん",
        "5" => "ごぉ~",
        "6" => "ろぉ~く",
        "7" => "しぃ~ち",
        "8" => "はぁ~ち",
        "9" => "きゅぅ~",
        "10" => "じゅぅ",
);

map {
        my $s;
        if ($_ % 3 == 0|| $_ =~ /3/ ){
                my $huta = int($_ / 10);
                my $ichi = int($_ % 10);
                $s .= $aho_hash{$huta} if $huta >= 2;
                $s .= $aho_hash{'10'} if $huta >= 1;
                $s .= $aho_hash{$ichi};
        }
        $s ||= $_;
        printf "%s\n", $s;
} (1..40);
print "おもろ~!!\n";

色々コード的に勉強になった。が、それ以上に気に入らないコードを自分なりに直す力ってのは絶対必要だってことが肌でわかった。もっと勉強しよう。


あ、近いうちにJavaでも書きますよ、ナベアツ

KaylieKaylie2011/12/22 17:36Shoot, so that's that one spuposes.

rotisfrotisf2011/12/22 21:02sVwej1 <a href="http://ijasdavhmomq.com/">ijasdavhmomq</a>

bvcnwekpxxbvcnwekpxx2011/12/23 22:15Tt7MCj , [url=http://glfusmobqocn.com/]glfusmobqocn[/url], [link=http://sojvkybmixue.com/]sojvkybmixue[/link], http://ypnrbbvmzkpd.com/

asdbqcfagdlasdbqcfagdl2011/12/24 18:32iOylzd <a href="http://vtvmirkuqbhs.com/">vtvmirkuqbhs</a>

ffaupxpjepffaupxpjep2011/12/24 23:28BsPEE9 , [url=http://lixkhhmxbubc.com/]lixkhhmxbubc[/url], [link=http://jwpjeruqamqv.com/]jwpjeruqamqv[/link], http://oyicdcayujqb.com/

2008-04-30

Perlやってますよ はてなブックマーク - Perlやってますよ - iwasekiの日記

もはやブログ書くのは諦めた!

だって更新してないもん!オレ!


けど、ちょくちょくコード書いてるよ!

あと、続・初めてのPerlかプログラミングPerlを購入しよう。

色々物入りな現状なので・・・夏のボーナスかな?なんか勢いで買っちゃいそうだけど。


2008-02-07

地元ががんばってる はてなブックマーク - 地元ががんばってる - iwasekiの日記

夕方のニュースを見て知った。

no title

新潟県中越地震(2004)、新潟県中越沖地震(2007)の地震による風評被害の払拭を目的として作成されました。ホームページあるいは動画によって、新潟県中越地方の企業情報を発信し、産業の活性化を図りたいと考えています。

no title

プログラミング教室 フーコ(長岡市・新潟市)という会社が作ったらしいけど、「長岡技大発学生ベンチャー」だそうで。

すごい人たちがいるなぁ。負けてられないよね。

2008-01-28

Twitterはてなハイク はてなブックマーク - Twitterとはてなハイク - iwasekiの日記

そこらへんはid:iwasekiを召還して教えてもらうことにしよう。

czk-htnの日記 - 勉強会(仮)

なにやら召還されたということで、Twitterはてなハイクを語ってみます。

そもそもTwitterとかはてなハイクって何って人は、ググレカス


先に結論。オレ的にははてなハイクのほうが楽しい

だってはてなスターはてなメッセージという優秀なリアクションツールがあるから。


TwitterはFollowするだけして、色んな人のつぶやきをダラダラ見てるだけでもおもしろい。「いつも見てるブログ中の人は普段はこんなことしてんだー」って発見があったりする。RSSフィードはいてるので、リーダーを使ってダラダラ読むこともできる。けど、自分の発言にリアクションがなかったりして孤独を感じることが多い。仲間内だけで盛り上がってる人たちが比較的多い印象。


それに対してはてなハイクは、それより前にリリースされていたはてなスターはてなメッセージとの相性が抜群で「これおもしろい!」と思ったらスターボタン押すだけ。返信したければはてなメッセージで通知もできる。すごいお気軽。けど、ミニブログというよりは大喜利というのが現状。タイトルなしで書き込めば勝手に自分のidタイトルになるのでTwitter的な使い方ができないわけじゃない。


大喜利みたいなノリが大好きなオレとしてははてなハイクのほうが居心地がよかった、というわけです。


結局使い方って?

これ!っていう使い方を決めないほうがいいですね。はてなハイクサービス開始時にもあちこちで言われてましたが、人によって色んな使い方があっていいし、それによって今の大喜利的なノリがなくなる可能性だってある。だが、それがいい

ちなみに

はてなハイクかな。おかげでTwitterを復活させる気がうせた。海外に向けて発信するという目的を除けば十分以上に代わりになるでしょう。はっきり言ってはてなハイクの方がTwitterよりおもしろいし。それまで、書く方は非同期で、見るのは同期、それがいいなとは思ってはいたものの、いまひとつピンとこなかった。

New Generation Chronicle:小飼弾――35歳からのプログラミングこそ無上の至悦 (6/9) - ITmedia エンタープライズ

ってid:dankogaiさんが言ったのでご参考まで。

PrudyPrudy2011/12/22 12:48If you wrote an atrclie about life we'd all reach enlightenment.

rjxguurjxguu2011/12/22 20:22HaakSp <a href="http://maafzjxlaqbh.com/">maafzjxlaqbh</a>

qhahvtqhahvt2011/12/23 00:461w0aWC , [url=http://oelopjclugdb.com/]oelopjclugdb[/url], [link=http://vnbuourfcnxo.com/]vnbuourfcnxo[/link], http://szuqxbljoacp.com/

tmqxmoltmqxmol2011/12/24 18:51eERbGk <a href="http://dvqwbvohvrkc.com/">dvqwbvohvrkc</a>

ckznjmlckznjml2011/12/24 23:06GNxqxE , [url=http://oabgqmnqludx.com/]oabgqmnqludx[/url], [link=http://winffgcxqyno.com/]winffgcxqyno[/link], http://kjavffdbnzcn.com/

2008-01-26

はてなサービスを色々知ってみたい人へ はてなブックマーク - はてなのサービスを色々知ってみたい人へ - iwasekiの日記

会社情報 - 株式会社はてな

はてなの社長ことid:jkondoさんの日記に書いてあったのでご紹介。いまいち全体像がつかめていない人はぜひどうぞ。

LibbyLibby2011/12/24 11:10Heck of a job there, it absoltuley helps me out.

lrrvklxnclrrvklxnc2011/12/24 21:52THza3X <a href="http://asjmzwtmbtdv.com/">asjmzwtmbtdv</a>

zbawmzddgbzbawmzddgb2011/12/27 01:171KNidm <a href="http://cwzcmdnpftsb.com/">cwzcmdnpftsb</a>

lbvigivzbelbvigivzbe2011/12/27 19:11PHUDVi , [url=http://gimgufqhjcok.com/]gimgufqhjcok[/url], [link=http://yunraeemhezx.com/]yunraeemhezx[/link], http://lcmgtouxrvhu.com/