直感的なオートコンプリートを実現する新しい宣言構文

Deeplからの自動翻訳

4Dのオートコンプリート機能について不思議に思ったことはありませんか?また、なぜ4Dはコード内で使用されているすべての関数を示唆するのでしょうか?オブジェクトは非常に汎用的な型なので、4Dは実行時にしか本当に保存しているものを知りません。しかし、それはコードを書くときにはあまり役に立ちません。

4D では、変数を宣言するときに、オートコンプリートを大幅に強化する新しい構文を提供しています。

新しい構文は非常にシンプルで、「var」キーワードと変数名、そして型から構成されています。

var <variableName> : <type>

同じデータベース内で、従来の構文と新しい構文の両方で変数を宣言することができます。

データ型について

この構文は、変数のデータ型を定義するために使うことができます。以下は、テキスト、数値、画像のデータ型の変数について、両構文の対応関係を示す例です。

旧シンタックス

C_TEXT($text1;$text2)
C_LONGINT (
$num)
C_PICTURE ($pict)

新しい構文

var $text1; : : :$text2 Text
var $num Integer
var $pict Picture

ユーザークラスの場合

4D v18 R3 でクラスという考え方が導入されました。まだの方は、このブログ記事を読んでみてください。

これまでは、クラスのインスタンスはすべてオブジェクトとして宣言されていました。新しい構文では、cs コマンドとクラス名を使って、オブジェクトがどのクラスインスタンスに属するかを定義できるようになりました。これにより、そのクラスの関数や属性にアクセスできるようになります。

以前の構文

C_OBJECT($person)
$person :=cs.Person.new()

新しい構文

var $person :cs.Person
$person :=cs.Person.new()

4D クラスの場合

FileFolder のようなオブジェクトは、内部 4D クラスに属するオブジェクトです。これらにアクセスするには、4D コマンドを使用します。

以前のシンタックス

C_OBJECT($folder)
$folder :=Folder(Current resource folder)

新しい構文

var $folder :4D.Folder
$folder :=Folder(Current resources folder
)

blank

ORDAについてはどうでしょうか?

以前のブログ記事でORDAのクラス(データクラス、エンティティ、エンティティセレクション)を独自のクラスでオーバーライドできることを紹介しましたが、今回の新しい構文では、ORDAのクラス(データクラス、エンティティ、エンティティセレクション)を独自のクラスでオーバーライドできます。また、この新しい構文を使って、オートコンプリートを楽しむことができます。

以前の構文

C_OBJECT($dataclass)
C_OBJECT (
$entity)
C_OBJECT ($entitySelection)

新しい構文

var $dataclass :cs.Company
var $entity :cs.CompanyEntity
var $entitySelection :cs.CompanySelection

blank

Vanessa Talbot
- プロダクトオーナー - Vanessa Talbotは、2014年6月に4Dプログラムチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。入社以来、4Dにおける主要機能の定義に関わってきました。プリエンプティブ/マルチスレッドの新機能の大部分と、非常に複雑なテーマである組み込みアプリケーションの新アーキテクチャに取り組んできました。VanessaはTelecom Saint-Etienneで学位を取得後、Criminal Research Institute でオーディオビジュアル部門の開発者としてキャリアをスタートさせました。また、メディアや医療の分野でも、技術サポートやプロダクションの分野で働いてきました。