タグ

syntaxとcaseに関するkiyo_hikoのブックマーク (2)

  • Switch - Perlのswitch文 - perldoc.jp

    This document describes version 2.09 of Switch, released June 12, 2002. このドキュメントで扱っているのは2002年6月12日リリースのSwitch 2.09版です。 概要¶ use Switch; switch ($val) { case 1 { print "number 1" } case "a" { print "string a" } case [1..10,42] { print "number in list" } case (@array) { print "number in list" } case /\w+/ { print "pattern" } case qr/\w+/ { print "pattern" } case (%hash) { print "entry in hash" } case

    kiyo_hiko
    kiyo_hiko 2013/06/05
    caseの引数にリストや配列ハッシュとか述語も取れてきもかっこいい // 最後の評価値を返すとかこじゃれた機能はない // キーワードを明示してuseするならswitchを指定する必要がある
  • Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたい

    Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def

    kiyo_hiko
    kiyo_hiko 2013/02/25
  • 1