更新された Print form & FORM LOAD コマンドを紹介
4D v16 R5 では、DIALOG コマンドが大幅に改良され、オブジェクト型の新しいパラメーター “formData” を渡すことができるようになりました。この新機能が 4Dデベロッパーの皆様に好評であることを聞いて、とても嬉しく思います。
4D v20 では、もう 2つのコマンドがアップグレードされました: Print form と FORM LOAD です! そのメリットは、同じように大きいでしょう。引数として渡されたオブジェクトは、印刷されるフォームや、メモリにロードされるフォームで直接利用することができます。
未定義値との比較
ORDA やクラスなどのオブジェクトが登場して以来、未定義 (undefined) 値を扱うことが多くなりました。
もっと簡単に扱えるようにしてほしいという声もあり、v20 からは、どんな型の値でもエラーなしに未定義値と比較できるようにしました。
リテラルを使ったオブジェクトとコレクションの初期化
これまで、オブジェクトやコレクションのインスタンス化には New object と New collection コマンドを使用してきました。4D v20 からは、オブジェクトリテラルとコレクションリテラルという、より簡単で可読性の高い初期化の方法が追加されました。
フォームとサブフォームの通信を簡単に
4D v19 R5 より、サブフォームに変数を関連付けることができるようになり、フォームとサブフォーム間のコミュニケーションとインターフェースの可能性が豊かになりました。通信手段は、2つの新しいコマンドによって簡素化されました: OBJECT Get subform container value と OBJECT SET SUBFORM CONTAINER VALUE。
パラメーターを簡単に管理する方法
関数やメソッドの宣言では、そのパラメーターを明示的に定義します。そして、その関数やメソッドを呼び出す際に、いくつかのパラメーターが省略可能であれば、それより少ない数の引数を渡すことができます。あるいは、${n} を使った宣言の場合、引数の数は可変です。この場合には Count Parameters コマンドを使い、引数をループさせます。このコードは完璧に動作します。それでも、ちょっと重いですね。
そこで、もっと軽い方法で引数を処理できないかとの要望にお応えして、4D v19 R5 から、新しいコマンド Copy parameters を提供します。これにより、よりエレガントで簡単な、読みやすいコードが書けるようになりました。
4D言語。ご要望の改善点はこちら
短絡的な評価、三項演算子、ループからの脱却、単純なキーワードによるメソッドからの脱却を夢見ることはないでしょうか?
もう、そんな夢は捨てろ!私たちは、4Dフォーラムで寄せられた機能要求に耳を傾け、コードをシンプルにするための4D言語の改良を行いました。
4D言語 – 文字列比較の改良
4D言語には、文字列を扱うための20以上のコマンドが用意されています。そして、4D v18 R6で、4Dは新しいコマンドを導入しました。Compare strings.また、さらに別のコマンドも改良されました:Position.これらのコマンドは両方とも、より正確な結果を得るためにオプションを使用することができます。もっと学びましょう。