これは可能かどうかわかりませんが、関数自体にドット演算子を使用できる言語はありますか?私は例を挙げます。この関数上のドット演算子
{ データ
数 }
私は何とかを呼び出すときのようTYPE2
タイプ2が見える戻り何とか
機能はblah.numberをサポートする任意の言語が存在するので、それが関数呼び出しを行い、type2を取得すると、numberを取得し、それを返します。これが明白な答えであれば申し訳ありませんが、私はそれをGoogleに語る良い方法を考えることさえできませんでした。
私はちょうどあなたがタイプを返すことを確認する中間変数を作るのではなく、それを持っていると便利である状況に遭遇しました。
私は、特定の数値変数をその型から得る「取得」関数を追加することができますが、それは誰かが追加しなければならない追加関数なので、変数を使用した型とアクセスは、実際には新しい関数の必要性がありません)。
編集:私は馬鹿のように感じる.....
EDIT#2:あなたは機能上のドットの操作を行うことができなかった私は私の頭の中でそれを持っていたいくつかの理由で、(のために、私は気にしません
編集#3:名前はありますか、それともまだドット操作ですか?私はこのようなないサポート何かを任意の言語が存在するかどうかを知りたい
struct retval {
char * data;
int number;
};
retval foo() {
// do something and then return an instance of retval
}
// call
int a = foo().number;
:関数は、このような構造体を返す場合
実際にはすべてですか?ほとんどの言語で、 'func()'は 'func'の戻り値に相当します。それとも、カレーについて話していますか? – nmichaels
PHPを除いて、すべての式を許可するのではなく、一部の操作(インデックスなど)が単純変数に制限されているという点で(imho)は壊れています。 @onaclov:あなたは関数からメンバーを取得せず、関数を適用していて、変数に名前のない/バインドされていない値を返し、その値のメンバーにアクセスします。 – delnan