空の要素を扱う

空の要素のリストにない値が含まれ内の要素です。その対処方法を参照するには、次のリストを取る:

どのように多くの要素をMYLISTとは何ですか?あなたが、6だろうと思うので、ColdFusionは、リストの末尾に-として存在しないでの梨とオレンジと空の要素との間のいずれかのような空のリスト要素をカウントColdFusionのリストのみ機能4をご覧ください。場合は、空の要素が必要な場合は、リストには、次の例では、空白を置く必要があります:

いい練習が空の要素を、可能であれば避けることです。 ColdFusionのリスト処理関数は異なるリストを行なう仕事は他のほとんどの言語での処理機能と移植性の問題が発生することができます。どのような場合は、突然、あなたのリストの区切り文字の代わりにカンマセミコロンを使用するために必要な?あなたが()としてListChangeDelimsを使用すると次のとおり:

このページをMYLIST今"リンゴが含まれます。ナシ、オレンジ、バナナ"。 ListChangeDelimsについて興味深い()は、自動的に空の要素が削除されます。たとえば、次のリスト:ください

  

ListChangeDelims()"リンゴを返すと、洋ナシ、オレンジ、バナナ"。 ListChangeDelims()を使うため、また、空の要素の場合でも、区切り文字を変更していないを削除するには良い方法ですが、以下のとおり:

前項の部品のリストは、我々が使ってきたすべてのランダムな順序でされている。もし、特定の順序で指定するには、ListSortのに使用できるリスト内のアイテムが必要です()、次のとおり:

ListSortの呼び出し後に()myListを、以下が含まれます:りんご、バナナ、オレンジ、として梨ListChangeDelimsしない()、ListSortの()の空の要素を削除します。2番目の引数ListSortの()のソートを実行するタイプです。この引数は、次の3つの値を取ることができます:

numeric:数値を並べ替え、リストの数値。いずれかのリストの要素を数値に変換できない場合、ColdFusionではエラーがスローされます。

本文:ソートのリストをアルファベット順では大文字小文字を区別されます。次のリスト()をListSortの呼び出してみてください:

梨、リンゴ、バナナ、桃

この呼び出しは、次の戻り値と:

バナナ、ナシ、リンゴ、桃

大文字と小文字の並べ替えは、常に小文字の前に大文字を返します。など、すべて大文字で任意の単語を任意の初期上限の単語の前にソートします。という事実だけで文字を大文字にされている文字をすべて小文字の前に来ることを保証するのに十分です。

textnocaseの:ソートのリストをアルファベット順に、無視するケース。を呼び出すListSortの次の戻り値が上記のリスト()を:

りんご、バナナ、桃、梨

ListSortの3番目の()の引数昇順することができますか降順かどうかに応じ、昇順または降順ソート。その場合は、次のリストていたと仮定します:

、洋ナシ、オレンジ、レモン、ユズ

しかし、あまりにも、その場合は、クエリで次のようにそれを使用したいと仮定します:

*選択してからフルーツのWHERE FruitNameで('ナシ'、'オレンジ'、'レモン'、'ゆず')

場合と同様に使用することができませんでした次のとおり:

*選択してからフルーツのWHERE FruitName(#このページをMYLIST#の場合)

ため、このページをMYLIST、その項目を中心に単一引用符をしていないため、とのときに、データベースにクエリを実行しようと、エラーをスローします。クエリ内のページをMYLISTを使用する前に、単一引用符で囲んでリストの要素を修飾する必要があります。 ColdFusionの()だけを行うための関数ListQualifyの名前を提供して、次の例に示すように:

*選択してからフルーツのWHERE FruitNameで(#ListQualify(myListを"'")#)

2番目の属性は、修飾子の説明は、この場合には、単一引用符です。アレイとして、to - doリスト、複数の値を格納する1つの名前の下で機能をそれらのまわり組み込みのライブラリがあります。メーリングリストとは異なり、しかし、配列だけで区切られた文字列として、どこのリスト、単純な変数があります(つまり、彼らは正式に定義された区切り記号とは、単純な文字列です)、配列の複雑な変数は、それらの詳細を含めることが意味を別の区画内のデータが格納1つの値よりもそれらの値をプログラムでアドレス指定可能なコンパートメントを作成します。これは単純な文字列変数のリストとは異なり、配列オブジェクトの関数ArrayNewの名前を呼び出すことによって作成されている特殊なタイプです()、次のとおり:

ArrayNewの()は、新しい1次元配列のオブジェクトとは、変数myArrayをに代入を作成します。配列を持つことができる3次元に。 1次元配列の要素のスタックを作成します。 2次元配列の要素は、グリッドのようです。あなたはおそらく、3次元配列の要素のキューブのようなものを推測することができます。多次元配列の場合を除き、(誰もColdFusionでいずれにせよ)を実行する必要があります行列の数学をやっている稀に便利です。あなたが配列要素への位取り記数法によるとして、参照してください次のとおり:

 #myArrayを[2]# 

このスニペットは、配列内の2番目の要素を出力します。角括弧の間にも、変数は、数値の値を含むことができる配列のインデックス(番号)。アレイ1でカウント冗長に思えることがあります開始を取り上げるが、JavaScript、ほとんどのコンピュータ言語でのような、配列の要素は0から始まります。場合は、これまでのColdFusionの配列要素を使用してJavaScriptの配列を念頭に置いて、この事実てください。配列を使用するArrayAppendの末尾に要素を追加するには()、次のとおり:


   

ListAppendの違いに注意し()とArrayAppendは、次の例(内):


   

ListAppendの()は、元のリストを変更しない代わりに、新しい要素を追加して、元のリストを返します。 ArrayAppend()、ただし、元の配列を変更します。唯一のことはArrayAppend()これまでにTRUEを返すので、あなたも、戻り値を格納する必要はありません。次のようにColdFusionでは、ArrayPrepend()関数があります:

また、既存の要素の間に、新しい配列の要素を挿入することができます。として、次の例では、この記事では、()以前の()とArrayAppend ArrayNewの呼び出し後は、myArrayになります:

1:モモ2:リンゴ

あなたが()としてArrayInsertAtを使用して、2つの間に新しい要素を挿入することができます次のとおり:

myArrayを今、桃とリンゴの間に新しい要素が次のに示すように:

1:モモ2:レモン3:リンゴ

次のようにも直接の位置に値を割り当てることによって、配列の要素を作成することができます:

としては、次の結果を参照することができます今すぐmyArrayを、4番目の要素があります:

1:モモ2:レモン3:リンゴ4:ブルーベリー

また、次のように要素をスキップすることができます:

このコードは、myArrayを別の配列の要素として、以下に示すようにリード:

1:モモ2:レモン3:リンゴ4:ブルーベリー5:  6:ザクロ

通知がない要素myArrayの位置5に位置する。この結果は、要素が空であることを意味しない、それだけでは存在しません。空白の存在が理解することは難しいとの違いが、それを本に集約すること:場合は、5番目の要素は空白です一方は、myArrayときに、5番目の要素は、エラーがスローされます存在しない場合、[5 myArrayを[5]を使用しようとすると]は、空白の文字列が返されます。あなたArrayDeleteAtを使用して配列から項目を削除することができます()、次のとおり:

その行を我々は前の部分では説明している配列から6番目の項目を削除します。注意して新しい配列の長さは5であるにもかかわらず、5番目の要素が未定義です。場合、迅速に、配列を使用するArrayClearのすべての要素を削除する必要があります()は次のとおり:

後にArrayClear()の呼び出しは、配列の要素も残っていない。次のかどうかを配列のすべての要素を持って調べる簡単な方法です:

この配列は空です。

この配列は、少なくとも1つの要素があります。

配列を使用するARRAYLEN文内の要素は、特定の番号を確認するには()、次のとおり:

両方のARRAYLEN文()とArrayIsEmpty()、なぜなら、通常、コードの残りの部分で未定義の要素を考慮していませんので注意が必要不定要素がカウントされます。リスト内のアイテムを見つけるListFindの呼び出しの単純な問題である()またはListFindNoCase()。あなたが、しかし、ない配列ListFindのベースと同等()。その代わりに、として、ループを使用する必要があります次のとおり:


   
   
   
   

このループの後、私は、""リンゴを含む配列のインデックスは、この場合には、3に含まれていますが終了されます。集計関数は、配列を引数として数字を含むを受け取り、単一の値を、これらの数字のいくつかの特徴的な値を返します。 ColdFusionの配列、および4つの集計関数があり、それらのすべてのコードで示されています。は、集計関数を太字で表示され、その各々の単一の引数を取る注:配列を集約するデータを含む。


   
   
   
   
 
   
   合計配列の要素数:#ArraySumの(myNumericArray)#
   最小の配列の要素:#ArrayMin(myNumericArray)#
   最大級の配列の要素:#ArrayMax(myNumericArray)#
   平均配列の要素数:#ArrayAvg(myNumericArray)#
   
 

場合、配列内の任意の要素を数値に変換することができない場合は、集計関数を使用しようとすると、ColdFusionはエラーをスローします。別の機能の配列を一覧表示するしないを簡単に要素をスワップする機能ですがあります。は、myArrayを仮定に見えるは次のとおり:

1:モモ2:レモン3:リンゴ4:ブルーベリー

場合、ArraySwapを使用すると、最初と3番目の要素をスワップするには()、次のとおり:

myArrayを次にようになります次のとおり:

1:リンゴ2:レモン3:ピーチ4:ブルーベリー

リストと同様に、簡単にArraySortを使用して配列をソートすることができます()、次のとおり:

後にArraySort()の呼び出しは、myArray、次が含まれます:

1:リンゴ2:ブルーベリー3:レモン4:モモ

どおりArraySort使用しようとする場合、すべての未定義の要素は、配列内の()、ColdFusionでエラーがスローされます。ListSortのためとして、()、ArraySortに2番目の引数()のソートの種類を実行する場合について説明します。この引数は、次の3つの値をとることができます:

numeric:数値を並べ替え、配列の数値。場合は、任意の配列の要素数に変換できない場合、ColdFusionではエラーがスローされます。

本文:ソートは、配列のアルファベットは小文字が区別されます。その場合ArraySort、次の配列()を:を呼び出すとします。

1:ナシ2:ブルーベリー3:アップル4:モモ

この呼び出しは、次の結果が返されます:

1:アップル2:梨3:ブルーベリー4:モモ

textnocaseの:ソートは、配列、アルファベット順を無視する場合。を呼び出すArraySort前項の配列()には、次の結果が返されます:

1:アップル2:ブルーベリー3:ピーチ4:梨

ArraySort 3番目の()の引数昇順することができますか降順かどうか、必要に応じて、昇順または降順ソート。するたびに配列に要素を追加すると、ColdFusionサーバーのメモリを割り当てている。しかし、時には、十分なメモリは、配列の現在の場所で利用可能である場合は、この、全体の配列を再割り当てする必要がありますし、移動が起こる。もしあなたの配列内のいくつかの要素よりも多くいると、この操作は非常にCPU時間やメモリ使用量の面でコストのかかることができます。効率化のために、もし要素の数を配列する前にそれらを追加し始めるが含まれています知っているArrayResizeを使用することができます()を事前に、必要なスペースを割り当てると、次のとおり:

あなたのコードは、呼び出しArrayResizeで最大限の効率ArrayNewの()の直後には()。リスト、配列、機能などのように簡単に要素を見つけるためにしないが、特定の機能を提供します。しかし、あなたにも簡単にリストを困難な配列のような平均的所見としていくつかのことを行うことができます。この理由については、多くの場合、自分でするときに配列と逆の機能をその必要があるリストを使って見つける。この難問を回避するには、配列をリストに変換することができますまたはリストへの配列の()とArrayToListはListToArrayを使用して()関数は、以下のとおり:


   

これらの関数はメモリの大規模リストと配列の集中的なので、場合にのみ、本当に必要な、これらの2つの関数を使用することができます。お使いの配列の複雑な値が含まれてArrayToListは()がエラーをスローします。また、そのときの配列をリストに変換注記ListToArray()を使用、ColdFusionは、その逆は真実ではない配列から空の要素を削除します。 ArrayToListは()、可能性の両方を同期化する必要がありますコードを投げ、配列内の任意の空の要素を保持します。

後、どのようにリストや配列を使用するか、何が彼らとするかを決める必要があります。両方とも、どのようにどのような目的のため良いですか?リストの詳細と考えて複数の値を実際の複雑なデータ型としては文字列とほぼ同じ機能を公開します。リストは、あなたのアイテムをすばやくする必要がありますデータのセットを格納するための優れている。配列の良いデータの高い命令セットの場合は特に、2つの配列の内容を調整する必要が適しています。覚えておいても、その配列の集計関数を使用する唯一の効果的な方法です。する必要がありますが、使用するリストの場合、データを格納する必要がありますクライアント変数です。ため、クライアント変数の複雑なデータを格納できない場合は、この目的のために、配列を使用することはできません。ただし、リストにして配列に変換することができますクライアント変数のリストを格納します。前述のように、この資料に記載した場合は、特定の区切り文字は、リスト項目にする必要があります表示するつもりであることを保証することはできません代わりに、データを格納する配列を使用します。配列は1から別の独自のコンパートメントではなく、それぞれの値を維持、すべてを一緒にストリングで、その値を区切ります。配列およびリストの強力なツールが正常に適用されます。それぞれが、その長所と短所があり、ほとんどのケースで、あなたは、他にこれは、関数は、特定のセットを使用することができる1つに変換することができます。この記事では、どのように効果的にする方法との間を選択し、両方の配列やリスト、および使用することを学んだ2。リストの単純な変数は、複数の値を区切り文字で区切って指定され、そこにはない有用である必要はありませんその値に集計関数を使用します。配列、およびそれらが集約関数が必要に便利です複雑な変数は、プログラムアドレスのコンパートメント内の複数の値が含まれています。

記事は、アルバートNiftiger提出


免責事項:弊社のウェブサイトは、この資料の内容については責任を負いません。 Webarticles無料の情報リソースです。
重要: この記事は、"空の要素を扱う"自動ソフトウェアによって翻訳された。大変申し訳ございませんが発生した可能性があります任意のスペルミスを感じている。お客様のご理解いただき、ありがとうございます。


Online: 317 users browsing the articles directory