2014-12-22 4 views
4

В языке NIM, можно сделать следующие вещи:Какое имя делает этот синтаксис имеет

let num = 5.add(3) 

, который был бы таким же, как

let num = add(5,3) 

Итак, в основном вы берете выражение перед dot как первый аргумент функции. Я уверен, что другие языки имеют эту функцию, но никто не приходил на ум.

То, что я хочу знать, это то, что название этот синтаксис имеет

+0

Он выглядит как объектно-ориентированный синтаксис. Большинство языков не позволяют вам переключаться туда и обратно так, вы должны использовать тот или иной в зависимости от типа функции. – Barmar

+0

Да, похоже, но это не так. Этот синтаксис можно использовать для любой функции, а не только для методов – Dirk

+0

Я бы сказал, что просто использовал «метод, объявленный в определении типа» (цитата из следующей ссылки). Если вы создали свой собственный, который вел себя так, он будет называться [метод расширения] (http://en.wikipedia.org/wiki/Extension_method) в C# и VB. –

ответ

0

TL; DR - Unified [Function] Вызов Синтаксис, или все, что вам нравится, потому что нет стабильной широко принят термин, что в программной инженерии.

Озабоченность на основе информации о языках программирования, которые каким-то образом реализовать эту функцию:

  1. C++: Наиболее общее название для функции, возможно, Unified Call Syntax как определено Herb Sutter at open-std.org paper в сотрудничестве с Бьярне Stroustrup как возможная новая функция для дальнейших стандартов C++.
  2. D2: В D language, а также в и RFC for the Rust Language его называют UFCS (Unified Function Call Syntax).
  3. MATLAB: В MATLAB они don't use any specific naming для методов фактически можно назвать либо через function notation или через '.' (dot) syntax.

 Смежные вопросы

  • Нет связанных вопросов^_^