タグ

arrayに関するamayanのブックマーク (6)

  • 一次元配列同士の比較のいろいろなやり方 - harupiyoの日記

    問題 @a = (1,2,3); @b = (1,2,3); のような配列があったとして、これらの中身が同じ(@a = @b) であることを確認したいと思います。 細かい条件として、値は正の数字のみ(負はない、)で並び順は気にしない、かつ同じ番号はないという事にします。 かんたんに考えると、次の二つの条件を満たせればいいはずです。 二つの要素の数が同じであること 先頭から比較して、末尾までの各項目の内容が等しいこと 素直にコーディングすると... sub is_same($$){ my($a,$b) = @_; # (1)二つの要素の数が同じであること return 0 if @$a != @$b; # (2)先頭から比較して、末尾までの内容が等しいこと for (0..$#$a){ return 0 if $a->[$_] != $b->[$_]; } return 1; } というサブ

    一次元配列同士の比較のいろいろなやり方 - harupiyoの日記
  • List::MoreUtils

    NAME List::MoreUtils - Provide the stuff missing in List::Util SYNOPSIS # import specific functions use List::MoreUtils qw(any uniq); if ( any { /foo/ } uniq @has_duplicates ) { # do stuff } # import everything use List::MoreUtils ':all'; # import by API # has "original" any/all/none/notall behavior use List::MoreUtils ':like_0.22'; # 0.22 + bsearch use List::MoreUtils ':like_0.24'; # has "simplif

    List::MoreUtils
  • 【CGI・Perl】配列,リストからある条件と一致した値を取出す (Perl, grep)

    CGI・Perl例文集 CGI(Perl)のサンプルプログラムをコピー&ペーストで使える便利集! カテゴリー:リスト(配列)  配列,リストからある条件と一致した値を取出す (Perl, grep) あるリストから、希望する条件に一致した値だけを取り出したい場合がある。for,while,foreachなどのループを使う方法以外に、効率の良いやり方が知りたい。 ;# ;# リストからある条件と一致した値を取出す ;# @array = ('apple', 'orange', 'pineapple'); #-- "apple"が含まれる物を表示する --# @result = grep(/apple/, @array); #-- 結果表示 --# foreach(@result){ print ; print "\n"; } __END__ ○実行結果 apple pi

  • 最速インターフェース研究会 :: 実践JavaScriptで配列をシャッフルする方法リファクタリング

    JavaScriptで配列をシャッフルする話を見て、そういえばArray#shuffleは以前書いた記憶があるなーと思って調べてみたらコピペだった。 http://www.fumiononaka.com/TechNotes/Flash/FN0212002.html Fisher-Yatesというアルゴリズムだそうです。 Array.prototype.shuffle = function() { var i = this.length; while(i){ var j = Math.floor(Math.random()*i); var t = this[--i]; this[i] = this[j]; this[j] = t; } return this; } a = [1,2,3,4,5]; a.shuffle() // 3,1,5,2,4 a // 3,1,5,2,4 ごく普通に実装

  • [perl] 空の配列を作るのは難しい - のぶじゃすBLOG

    ある配列をいじるためのサブルーチンを作ったときに、困った事があったので、書いておこう。 sub change_arrayref { my $arrayref = shift; my @change_array = map { $_->[0] } @{ $arrayref }; return \@change_array; } みたいなサブルーチンをつくったんだけど、下記のようなテストを書いてテストしてみたところ、 use Test::More qw(no_plan); is_deeply( change_arrayref( [ [ '1111' ], ['2222'] ] ), [ '1111', '2222'] ); is_deeply( change_arrayref( [ [] ] ), [] ); しかし2個目のテストがうまくいかない。 解決編は下記 mapがいけなかった。

  • JavaScript の配列と連想配列の違い - IT戦記

    id:cheesepie:20070131:1170172709 最近は、こういう風に JavaScript を勉強する人が増えていてとても嬉しいです ^^ id:cheesepie さん頑張ってください! で、ちょっと配列と連想配列の使いかたが違うようなので、エントリーを書こうと思いました。おせっかいだったらすみません>< ! やっぱり、このへんが JavaScript の難しいところのひとつなのだろうか。 ということで、 JavaScript の配列と連想配列の違い いってみよおー 連想配列とは JavaScript では連想配列は一番シンプルなオブジェクトのことである。つまり、すべてのオブジェクトは連想配列である。 以下のすべての連想配列はまったく同じものである。 // 1 var obj = { hoge: 'hoge' }; // 2 var obj = { 'hoge': 'h

    JavaScript の配列と連想配列の違い - IT戦記
  • 1