例題 以下のデータを構造体にセット、 わかりやすく、まとめて表示する 氏名=”山田太郎” 郵便番号=”123-4567″ 電話番号=”03-1234-5678″ 住所=”東京都中央区” 住所2=”1丁目” 解答 これなら何のデータなのかわかりますね。
例題 以下のデータを構造体にセット、 データだけをとにかく表示する 氏名=”山田太郎” 郵便番号=”123-4567″ 電話番号=”03-1234-5678″ 住所=”東京都中央区” 住所2=”1丁目” 解答 繰り返し処理に使うcfloopが、 構造体でも使えます。 ただ、上記の 「セットしたデータだけを表示」 という事例は、 データの確認ぐらいしかなさそ…
例題 以下のデータを構造体にセット、表示する 氏名=”山田太郎” 郵便番号=”123-4567″ 電話番号=”03-1234-5678″ 住所=”東京都中央区” 住所2=”1丁目” 解答 構造体とは、キーと値のペアで構成されます。 上記のように a[“name”] という書き方がわかりやすいです。 キーの部分が空白のある文字列でない場合は a…
例題 配列変数aに100件分を”A”で初期化する。 解答 ArraySet関数を使うと1行で初期化できます。 長いことColdFusionをやっていますが、 実はArraySet関数を使ったことがありませんでした。 cfloopで対応していました。 いまさらながら反省!! ところで、本当にデータがセットされているか 確認したい場…
例題 配列変数に、それぞれ 2,3,4,5をセットし、 最大値最小値を表示する。 解答 もしa[2]=”あ”という文字だった場合は 非数値が見つかりました。 位置 2 の値は数値ではなかったか、定義されていませんでした。 と、エラーが表示されます。 それから配列の値の設定ですが、添え字指定ではなく 以下のような書き方もできます。
例題 配列変数に、それぞれ 1,2,3,4,5をセットし、 合計を表示する。 解答 配列の値が数値だけの場合は、合計の関数を使えばいいですね。 ついついループ処理で加算するプログラムを 書いてしまいます。 ちょっと反省。
例題 配列変数aに、それぞれ 「東京」「神奈川」「千葉」「埼玉」とセットし、 「東京と神奈川と千葉と埼玉は日本の都道府県の一部です」 と表示する。 解答 「配列の値を表示する場合は、ループして処理をすればいい」 と、普通なら考えますが、もちろん可能です。 その場合は と、なるでしょう。 なんだか複雑そうですね。 ColdFusi…
例題 以下のカンマ区切りの文字列をカンマで分解して表示する。 東京,神奈川,千葉,埼玉 解答 神奈川と千葉の間にカンマが3つあったとしても 表示は同じです。 なんと! ColdFusionでは空データが無視されています。 ListLen関数でも項目数は4となります。 1995年の初期の頃は必要なかったのかもしれませんが、 基幹業務などのCSV…
例題 変数url.aの値が「D1」、「D2」、「D3」の場合と、それ以外の処理がわかるようなロジックを作成 解答 もちろんcfif,cfelseifで書く方法もありますが、 見やすさの点ではcfswitchですね。 ちなみにcfparam関数によって変数url.aが存在しない場合は url.aの変数を生成しdefaultの値を設定しています。 変数が存在し…
例題 変数aに「0123」、変数bに「45」をセットし 比較結果を表示する。 解答 うっかり前回と同じようにすると意図した結果になりません。 ColdFusionの変数は型がないということで 手軽にプログラミングできる反面 ColdFusion側が余計なお世話で勝手に変換してくれます。 「文字列の比較」ということであれば Compare関数を使ってください…