タグ

配列に関するiwwのブックマーク (152)

  • その12 イテレート中のSTLのlistから要素を安全に削除する方法

    ホーム < ゲームつくろー! < Programming TIPs編 その12 イテレート中のSTLのlistから要素を安全に削除する方法 STLのコンテナは「イテレータ」によって要素を取り出します。この時良くあるのが「ある要素をチェックして、必要が無くなった場合はリストから削除する」という作業です。例えば描画オブジェクトのリストからもういらなくなったオブジェクトを除く時などこの作業が必要になります。 イテレート中のリストから要素を除く場合、ちょっと注意しないと思わぬバグが誘発します。この章ではイテレート中のリストから要素を除く方法をまとめます。まさにTIPsです(^-^;。 ① まともにやるとあっさりバグ 例として、int型のリストに0~9までの要素がこの順番で登録されているとしましょう。このリストをイテレートして「5」を取り除きたいとして、次のようなコードを書きました:

  • PHP: foreach - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    iww
    iww 2012/03/21
  • 目的別/連想配列 - 俺専用 JavaScript Reference

  • jQueryでの配列と連想配列の扱いでハマった - jomalog

    まず結論から、配列と連想配列は分けるべきということがわかりました。悔しくて冗長に書きましたが、それだけですorz jQueryには、$.each という配列を走査するforeach的な関数があります。他の言語でもあるように配列と連想配列を考えなくてもいいと思いこんで、以下のようにしていました。 var array = []; // ここで配列を代入 array["hoge"] = "fuga"; $.each( array, function(i){ alert(i); } // -> 何も表示されません array["hoge"]を走査してくれることを期待していたのですが、反応なし。jQueryのソースを見てみると、jQueryは、lengthプロパティの有無で配列と連想配列を区別していることがわかります。 // $.eachのソース部分から引用 if ( object.length =

    jQueryでの配列と連想配列の扱いでハマった - jomalog
    iww
    iww 2012/02/22
    『lengthプロパティの有無で配列と連想配列を区別』
  • artemis.ac

    artemis.ac artemis.ac is owned by Tool Domains. Contact them directly! 2018 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois)

  • AZIKとは (エイズィックとは) [単語記事] - ニコニコ大百科

    AZIK単語 エイズィック 4.4千文字の記事 5 0pt ほめる 掲示板へ 記事編集 概要そもそもどの辺りが「拡張」なのか以上、何か質問は?関連項目外部リンク掲示板AZIKとは、拡張ローマ字入力、つまり普通のローマ字入力を拡張した日本語入力方式である。 概要 AZIKは、一般のローマ字入力のキー配列をそのままに、日語によく出てくる文字列(読み)を2~3ストロークで打てるようにし、さらに打ちにく いパターンの互換キーを提供するものです。今あなたが馴染んでいるローマ字打鍵に、ほんのすこしの工夫を加えるのですが、このささやかな一歩が、あなたと キーボードのつき合いを大きく変えてくれるのです。 次のようなことを経験された方には特にお勧めします。 ローマ字入力が慣れてきたものの、いまいち速度が向上しない方 今までのローマ字入力よりカナ入力に移行した方が入力が速くなるのではと、密かに「カナ入力」に

    AZIKとは (エイズィックとは) [単語記事] - ニコニコ大百科
  • AZIK総合解説書

    となり、AZIKでは合理的な打鍵ができます。 問題はこのような「子音+子音のペア」を覚えきれるかということです。実はこの点に配慮したのがAZIKの特徴です。 キーボードなどの技能の習得は動きが楽なものほど覚えやすいものです。AZIKに移行するにつれ、指の動きが楽になるほど、指が自然にキーを覚えてくれます。実際に試してみて、このことを実感していただきたいと思います。 上の例を見てください。AZIKにおける「子音+子音のペア」の1ストロークめ(N、J、Kの部分)は通常のローマ字の子音と同じです。2ストローク目に使う子音(AZIKでは「拡張キー」と呼んでいます)さえ覚えればいいのです。(上の例でNの次のGはYでも構いません) 2ストローク目の子音に何を使うかは、文字の意味から決定するのではなく、実際の打鍵の「指の動き」に基づいています。したがって、ローマ字入力のタッチタイピングができている人であ

  • Perlのmap関数って、結構使える | ゆっくりと…

    前回 に引き続き、クッキー処理についてのネタを1つ。 HTMLやらPerlやらの勉強を始めて結構経ちますが、まだまだ初心者の域をちょっと超えたぐらいかなというBlogrammerにとって、使ったことの無い関数、パッケージ、オブジェクト指向プログラミングなど、勉強すべき項目は山ほどあり、そんななかの1つが map 関数でした。まずは元ネタの紹介から。 日最強WEB講座 [Smart(スマートスマート)] の 配列の超絶テクニック大全集 で「ソートされていない配列からユニークな要素だけを取り出す」例が紹介されています。 @array = (1,3,3,2,4); %tmp; @sort = grep(!$tmp{$_}++, @array); print @sort, "n"; > 1324 これがなぜmap関数に結びつくかというと、grep、mapは共に grep 式, リスト map

    iww
    iww 2011/06/19
    "map {ブロック} リスト" やっと理解できた
  • Perlで配列を簡単にハッシュにする方法 - 空繰再繰

    日はPerlに関する小ネタ。というか忘れないようにするメモ。 Perlで配列を簡単にハッシュにするには、 my @array = ( foo, bar, baz ); my %hash = map { $_ => 1 } @array; # %hash = ( foo => 1, bar => 1, baz => 1 ); みたいにすればいい。誰でも思いつきそうやり方だけど最近まで気づかなかった。 でコレを利用すると配列からユニークな要素を取り出せる。 my @array = ( foo, bar, baz, foo, bar, baz, hoge, huga, moge ); my @array2 = keys map { $_ => 1 } @array; # @array2 = ( foo, bar, baz, hoge, huga, moge ); ++[date:2006/09

  • SimpleBoxes | [perl]ハッシュ(連想配列)のマージ

    perlのハッシュ(連想配列)のマージについてちょっと調べました。自分用のメモとして記録しておきます。 一番直観的な方法は以下のようなコードでしょう。 %hash = (%hash, %addition); ハッシュ %hash に対して、%addition の内容を追加します。 my %hash = ( 'key1' => 'value1', 'key2' => 'value2', ); my %addition = ( 'key3' => 'value3', 'key4' => 'value4', 'key1' => 'override1', ); %hash = (%hash, %addition); 上述のようなコードを実行すると、%hash の内容は以下のようになります。 'key1' => 'override1', 'key2' => 'value2', 'key3' => '

  • substr関数:文字列の指定した範囲の部分文字列を取得または置換する

    対象の文字列の部分文字列の取得をします。REPLACEMENTを指定した場合に は該当の部分文字列を新しい文字列で置き換えます。 パラメータ: EXPR 対象の文字列 OFFSET 文字位置 LENGTH 文字の長さ REPLACEMENT 置換する文字列 戻り値: 部分文字列 1 番目の引数には対象となる文字列を指定します。 2 番目の引数には文字列の中の位置を指定します。先頭の文字の位置は 0 です。位置に負の値を指定した場合、最後の文字を -1 として最後から先頭に向かった移動した位置となります(例えば -2 の場合は最後から数えて 2 番目の文字)。

    substr関数:文字列の指定した範囲の部分文字列を取得または置換する
  • split

    説明 指定したパターンで文字列を分割します。 分割数を設定した場合,設定した個数までの分割を行います。 文字列を省略した場合,$_が対象になります。 パターンを省略した場合,空白文字(/\s+/)で分割します。 パターンには正規表現を使うことができます。 使用例 #!/usr/bin/perl use strict; use warnings; my $data = 'Alpha,Bravo,Charlie,Delta,Echo'; my @items = split /,/, $data; foreach my $item (@items) { print $item, "\n"; } #!/usr/bin/perl use strict; use warnings; my $data = 'key=aaa=bbb'; # 分割数の指定あり my ($key, $val) = split

    split
  • リファレンスを使って仮想的多次元配列

    1.リスト 複数のスカラ変数を並べた構造を『リスト』といいます。リストはスカラと同じように数値、文字列を区別なく扱います。リストの書き方はとても簡単で、値をカンマで区切り、その全体をカッコで囲むだけです。1、2、3の 3 つの値のリストは、以下のように表します。 (1, 2, 3) リストの代入 リストの要素に代入する場合は、下記のような方法があります。 ($a, $b, $c) = (1, 2, 3); リストの中にリストがある場合には、自動的に展開されます。 (@list1, @list2, &function) 上記のようなリストは @list1 のすべての要素の後に @list2 のすべての要素を追加し、その後にfunction というサブルーティンが返すすべての要素を追加します。 リストの要素数と変数の数が違う場合 リストの要素数よりも、用意した変数のほうが多い場合には、あまった

    リファレンスを使って仮想的多次元配列
  • Error Not Found. Mr.インクルード

    518 :名前は開発中のものです。:2010/08/29(日) 22:47:44 ID:9rTjBNB+ #include "Hoge.cpp" こんな事できるんだ 519 :名前は開発中のものです。:2010/08/29(日) 23:02:09 ID:m5UOgFEg >>518 単にファイルの中身を挿入してるだけだからね。 #include "hoge.txt" でもおkよ。 CSVとかデータを豪快にいれたこともあったなこんなして、 int aa[] = { #include "hoge.csv" }; 520 :名前は開発中のものです。:2010/08/30(月) 03:50:37 ID:9bcjBgda >>519 言われてみれば確かにできるんだけど なかなか実際にはその発想に至らない・・ 521 :名前は開発中のものです。:2010/08/30(月) 09:57:59 ID:81

  • http://twitter.com/tt_clown/status/22769039758

    http://twitter.com/tt_clown/status/22769039758
    iww
    iww 2011/05/10
  • 変数について/Perl/CGI - 技林

    {{tag: go, test, testing, actually }} actually は Go の testing ライブラリです。明示的なインターフェースと一貫性の高いメソッド群、そしてメンテナンスやリファクタリングの際に力を発揮するフェイルレポートを備えています。 [[https://github.com/bayashi/actually ac... つづきを読む

    変数について/Perl/CGI - 技林
  • JavaScriptで配列の結合を"+"で書きたい. - プログラムモグモグ

    やりたいことはタイトルのとおり. 要はオーバーロードしたいお... ※※※※ こういう願いは既出であること間違いないっ, ※※※※ よってここに書いてること, あるいは ※※※※ さらにエレガントな事がどっかに書かれてるかもしれないっ!!! とりあえずECMA-262を読んでみる. [p.74] 11.6.1 The Addition operator(+) 読むのがめんどくさいが, 要はReturn the String that hogehogeか, ToNumber(左辺)とToNumber(右辺)の和を返すことしかできない. オーバーロードとかできねーーーー (配列を返せない) んじゃ, 汚いけど, String介してやればいいか...??? > Array.prototype.toString = function(){return this.join(',') + ','} [

    JavaScriptで配列の結合を"+"で書きたい. - プログラムモグモグ
  • 3.3.5.1 関数の引数としての可変長配列

    関数に渡す配列の大きさを, 関数に渡す引数で与えられる. // 以下は C99 のプログラムです. #include <stdio.h> // 配列の大きさを関数宣言で決められる. void func(int m, int data[m]) { int i; for(i=0; i<m; i++) data[i] *= 10; } int main(void) { int n, i; n = 10; int x[n]; // 配列のサイズを, プログラム実行時に与えられる. for(i=0; i<n; i++) x[i] = i; func(n, x); for(i=0; i<n; i++) printf("%d\n", x[i]); return 0; } ただし, 配列dataの大きさを決定する時点で, 大きさmが決まっている必要がある. 関数宣言は前から順に評価されるので, 上の例では

  • プログラミング言語 C の新機能

    4. 配列 今回の C 言語では、配列をより使いやすくするための機構が組み込まれました。その代表が可変長配列の機能でしょう。章ではそれら追加機能について説明します。 4.1 可変長配列 ある関数に入る毎に違った大きさが必要になる配列(可変長配列)を、今まではどのように作成していました? その作成方法は、大体次に挙げる方法のどれかでしょう。 (1)あらかじめ最大の配列を作る方法。もし最大の大きさを見積もることができるのであれば、あらかじめその最大の大きさの配列を作ってそれを利用するという方法があります。しかしこの方法では最大が見積もれる時にしか使用することができず、また必ずしもメモリを有効に使用することができません。 (2)malloc を使う方法。必要となる大きさを malloc で確保し、ポインタに割り当てて使うという方法があります。しかし、この方法では、一般的に malloc 関数の

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

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

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