[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

referenceとperlに関するtakaesuのブックマーク (2)

  • FizzBuzzの最短コードを解読してみる - KWの徒然Blog。。。

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 この前FizzBuzzのコードをどれだけ短くできるかに挑戦して、62byteでギブアップしたとき、最短のコードが48byteだと分かった。 そのコードがこれ。 print+(Fizz)[$_%3].(Buzz)[$_%5]||$_,$/for 1..1e2 これがどういう動作をしてるのか、分からないと夜しか眠れない。 というよりも、分からないのが気にわない。 分からないことがあるのが嫌な性分なので、分かるまで徹底的に調べてみる。 まず問題なのは、print+の部分の+。 このプラス記号は、「単項プラス演算子」という名前らしい。 これは「関数の引数を関数実行より先に評価する場合に有効」らしい。 一応perldocを見てみる。 「perlop - Perl の演算子

    takaesu
    takaesu 2014/01/31
    FizzBuzz問題の色々と参考になる。 単行プラス演算子、配列の定義をカッコを使うやつ、など
  • 型グロブを理解する 〜アスタリスクは怖くないよ(。・ω・)ノシ〜 - (゚∀゚)o彡 sasata299's blog

    2009年03月28日16:01 Perl 型グロブを理解する 〜アスタリスクは怖くないよ(。・ω・)ノシ〜 先日、tokuhiromさんの LWP::UserAgent::WithCache::Transparent を見ていて、 my $orignew = *LWP::UserAgent::new{CODE}; {CODE}って何だ!?と思ったので調べてみました。結論から言うと、これは型グロブです。まずは型グロブの簡単な説明から。 そもそもperlでは、(グローバルな)変数とか配列とかハッシュとかサブルーチンとかファイルハンドルなんかは全て一つのテーブル(シンボルテーブル)で管理されています。 ※レキシカル変数(my宣言する変数)はシンボルテーブルではなく、別テーブルで管理されています。 例えば、 #!/usr/bin/perl use strict; use warnings; ou

  • 1