ColdFusionカフェテリア
SAMURAIZ

 

←前 | ↑一覧 | 次→

シャープ記号(#)について

ColdFusionでは関数や変数をシャープ記号(#)で囲むことで、単なる文字列なのか、それとも関数や変数なのかを区別します。

関数・変数名にシャープ記号(#)を付ける記述について

ColdFusionで作成するページには、CFによる動的な処理の他に通常のHTMLのコンテンツも含まれる場合があります。ColdFusionにとってはページに記載されている文字列がColdFusionによって処理されるべき内容かどうかを判断するために、シャープ記号(#)を関数や変数名を囲む形で記載します。

ColdFusionで処理が行われるCFタグや<cfoutput>〜</cfoutput>で囲まれている箇所でシャープ記号で囲まれている関数や変数があると、ColdFusionは指定された値を評価し、関数の実行結果や変数の値が置かれます。

コード例

セットしたローカル変数を画面に表示する場合は、<cfoutput>〜</cfoutput>で囲まれた範囲の中で、変数名をシャープで囲むことでローカル変数の値が反映されます。

<cfset lastName="サムライズ">
<cfset firstName="テスト">
<cfoutput>私の名前は、#lastName# #firstName# です。</cfoutput>

ある変数を別の変数に代入する際は、引用符やシャープで囲まないことでローカル変数の値が反映されます。下記の例は、変数fullNameに、変数firstNameとlastNameの値を代入しています。&は、変数と変数、または変数と文字列の区切りで使用します。

<cfset fullName = lastName & firstName>

この例では、苗字と名前との間に空白が含まれていないため、区別が難しいかもしれません。そこで、苗字と名前の間に空白を入れます。半角のスペースの"文字"を挿入したと解釈すると良いでしょう。

<cfset fullName = lastName & " " & firstName>

関数の場合も、関数の引数として指定する値が、変数や別の関数をネスト(入れ子)する値の場合は、引用符やシャープ記号で囲まなくても実行(参照)されます。

<cfset p1 = "-5">
<cfset p2 = Abs(p1)>

文字列としてシャープ記号を表示したい場合

画面に表示するメッセージやHTMLのタグで、文字列としてシャープ記号を使いたい場合があります。ColdFusionの処理が及ぶ範囲(つまりCFタグや<cfoutut>〜</cfoutput>の範囲内、変数の値など)でシャープ記号を使う場合は、エスケープを行って下さい。エスケープは(#)を重ねて(##)と記載します

<cfset lastName="サム##ラ##イズ"> ←変数の値の場合
<cfoutput>私の[##苗字##]は、#lastName# です。</cfoutput> ← cfoutputの範囲内の場合

ColdFusionの各種情報の配信


最新情報
■2022/12/14 〜
ColdFusion 基礎プログラミング
記事一覧(随時更新)

■2022/6/28
Adobe ColdFusion 2021
インストール セットアップ情報
CFサーバーのインストール

■2019/11/27
『ColdFusion 実験室』
実験7

■2019/11/27
Adobe ColdFusion 2018
インストール セットアップ情報
CFサーバーのインストール

■2017/6/26
『ColdFusion 実験室』
実験6

■2017/3/27
ColdFusion 2016 対応
インストール セットアップ情報
CFサーバーのインストール
CFビルダーのインストール

■2016/9/20
『ColdFusion 2016 リリース
Enterprise Edition 活用資料』
記事一覧

■2016/3/30
『ColdFusion 実験室』
実験4、実験5

■2015/8/10 〜
『ColdFusion クリニック』
記事一覧(随時更新中)

教材プログラム単体販売


ColdFusionユーザーグループ
ColdFusionユーザーグループ
Copyright 2012 Samuraiz Corporation. All Rights Reserved.