Next Page

1

Previous Page

スレッド: CFML Enhancements in ColdFusion 8

作成日: 07/13/07 06:46 AM

返信: 6

katz


一人前


入会日: 05/31/07

投稿数: 140

CFML Enhancements in ColdFusion 8
07/06/07 11:06 AM

CFUnitedというイベントがあったのですが、そこでAdobeのRupesh Kumarが「CFML Enhancements in ColdFusion 8」という発表をしてます(彼はColdFused?というCFの濃いネタをあつかったブログでも有名)。
それによれば、CF8でのエンハンスメントは以下の通り。

・各種省略演算子の追加
JavaScriptではおなじみの++、+=、<>などが使えるように。

・暗黙的な配列・構造体作成
<cfset myArray = ["foo", 2*3, someVar]>
<cfset mystruct = {key1 = "Value1", key2 = 2*3,key3 = someVar}>

・AttributeCollection属性の追加
cfmailなどはto、from、subjectなどたくさんの属性を渡さないといけないわけですが、それを一括して渡すためのAttributeCollection属性が追加されました。
<cfset attrs = {To="xyz@xxxx.com", Subject="blah blah", From="a@example.com"}>
<cfmail attributeCollection= "#attrs#">

・precisionEvaluate関数の追加
小数点以下も確実に計算したい場合に使います。
<cfoutput>#(1001.18 + 30 - 1031.18)#</cfoutput> //0にならない
<cfoutput>#precisionEvaluate(1001.18 + 30- 1031.18)#</cfoutput>

・cfloopでarrayやファイルを読み込むことが可能
<cfloop array="myarr" index="elmt"><cfoutput>#elmt#</cfoutput></cfloop>
<cfloop file = "a.txt" index = "curLine"><cfoutputput>#curLine#</cfoutputput></cfloop> //1行ずつ読み込み

・cfinterefaceによるインターフェースのサポート
DI(IoC)オブジェクトを作成するときに、制約を課すのに便利でしょう

・CFCへのOnMissingMethod関数の追加
CFCで定義されていないメソッドが呼ばれた場合、OnMissingMethodが呼び出されるようになりました。
ゲッタやセッタの定義を省けますね。

・アプリケーションごとの設定
従来マッピングやカスタムタグのパスはサーバーグローバルで指定するしかなかったのですが、Application.cfcでアプリケーションごとに設定することができるようになりました。

・スレッドのサポート
例えばCFHTTPなど、時間がかかるオペレーションをスレッドに分離して、そのスレッドを同時実行することで、作業にかかる時間を短縮できます。
なおStandard版では、同時実行できるスレッド数に制限がかかっています(Enterpriseでは制限なし)

・ファイルの読み書きや操作関数の追加
FileOpen()、FileClose()、FileReadLine()、FileCopy()など追加されてます。

・CFDBINFOタグの追加
このタグを使うとデータベースの情報をイントロスペクトできます。


など、カバーし切れてないトピックもありますので、PDFは一読するのをおすすめします。

Link | Top | Bottom

mo10suzuki


長老


入会日: 04/30/07

投稿数: 217

Re: CFML Enhancements in ColdFusion 8
07/06/07 12:34 PM

投稿、ありがとうございます。

CF8、ますます期待が持てますなぁ〜

地味ですが、結構使い勝手が向上しているところが玄人好みってところですかね。

近年、まれに見る大改修ですな。
ちょっと嬉しいぞ。(^o^)/

情報ありがとうございました。

----------------
Motoo Suzuki [CF] : http://coldfusion-style.jp/

"SEAESな二人"も見てね。http://www.seaes.co.jp/go-blog/

Link | Top | Bottom

sussussu


長老


入会日: 05/31/07

投稿数: 153

Re: CFML Enhancements in ColdFusion 8
07/06/07 12:58 PM

katzさん情報+和訳ありがとうございます。
Exampleもあって、なんとか大体読めました。もうちょと読んでみます。(^^;

#ちょっとだけ感想を

>・各種省略演算子の追加
>・暗黙的な配列・構造体作成
>・AttributeCollection属性の追加

ついにこういう書き方が出来るようになるのですね。++,+=なんかが書けないのは本当にストレスでした。でも、パッと見で、CFのコードだってのが解り辛くなっちゃいそう。(^^;

file操作やcfzipは、CreateObject("Java",〜)でのやり方をせっかく覚えたのに無駄になっちゃったなあ。:::-D::

----------------
suss:::-D::ussu
----------------

Link | Top | Bottom

kenazuma


新米


入会日: 05/30/07

投稿数: 11

Re: CFML Enhancements in ColdFusion 8
07/10/07 2:56 AM

明日のAir Developer's nightでPDFフォームをやってきます。参加される方は、是非お声がけください!

Link | Top | Bottom

sussussu


長老


入会日: 05/31/07

投稿数: 153

Re: CFML Enhancements in ColdFusion 8
07/10/07 2:18 PM

いつもお世話になっております。

デモ楽しみにしております。:::-D::

#受付も早まったことだし、16:00くらいから帰り支度始めちゃおうかなと

----------------
suss:::-D::ussu
----------------

Link | Top | Bottom

sussussu


長老


入会日: 05/31/07

投稿数: 153

Adobe AIR Developers Night
07/11/07 4:09 PM

デモバトル、お疲れ様でした。
PDFフォーム、楽しかったです。ちょと笑わせてもらいました。

CF関係の方に初めてお会いしたわけですが、
それが東さんだったせいかとても緊張しました。(^^;
頂いた名刺は社内で自慢させてもらいます。

もっとお話を聞きたかったのですが、また
お会いできる機会がありましたら宜しくお願いします。
:::pint:::

----------------
suss:::-D::ussu
----------------

Link | Top | Bottom

sussussu


長老


入会日: 05/31/07

投稿数: 153

Re: CFML Enhancements in ColdFusion 8
07/13/07 3:46 PM

>・precisionEvaluate関数の追加

これで誤差と指数表記が手軽に回避できますね。

CF7ではどうすればいいのかと思い、JavaのBigDecimalで試してみました。せっかくなので貼っておきます。

#CF7では未検証だったりしますが動くと思います
#うまく誤差の出る数値でがみつからないのですが

<cfset x = 1000000000000001>
<cfset y = 999999999999999>

<cfset c = CreateObject("Java", "java.math.BigDecimal")>
<cfset c.init("#x#")>

<cfset d = CreateObject("Java", "java.math.BigDecimal")>
<cfset d.init("#y#")>

<cfoutput>#c.multiply(d)#</cfoutput><br>

#もしくはOracleで・・・。

<cfquery 〜>
select #x# * #y# as ret from dual
</cfquery>

----------------
suss:::-D::ussu
----------------

Link | Top | Bottom

Next Page

1

Previous Page

新規投稿

ログイン して返信して下さい。