dbo:abstract |
In computer programming, a function object is a construct allowing an object to be invoked or called as if it were an ordinary function, usually with the same syntax (a function parameter that can also be a function). Function objects are often called functors. (en) Una funzione oggetto, anche chiamata funtore è un costrutto di programmazioneche permette ad un oggetto di essere invocato o chiamato come se fosse unafunzione ordinaria, solitamente con la stessa sintassi. (it) 関数オブジェクト(かんすうオブジェクト、英: function object)は、プログラミング言語において、関数(サブルーチンないしプロシージャ)を、オブジェクトとしたものである。手続きオブジェクトとも言う(プロシージャ=手続き)。なお、ここでのオブジェクトの語は、いわゆるオブジェクト指向のそれに限らず、「第一級オブジェクト」という語におけるのと同じ、メモリ上に領域を確保されたもの、といった意味である。関数が第一級オブジェクトである場合は特に第一級関数と言う。 関数と変数の名前空間が共通である言語の場合、構文の設計によっては、y = f(x) といったような、通常のサブルーチン呼び出しと全く同じ構文で、関数オブジェクトが保持しているサブルーチンを呼び出せる言語もある。一方、通常のサブルーチンのように呼び出すことはできず、applyといった特別な名前のメソッドを経由して呼び出す必要のある言語もある。 また、変数束縛が閉じられた関数オブジェクトはクロージャである。C#などの.NET言語には関数オブジェクトのようなものとして、オブジェクトのインスタンスとその振る舞いであるメソッドとを結びつけて管理することのできる、デリゲートがある。無名関数も参照。 (ja) Функциональный объект (англ. function object), также функтор, функционал и функционоид — распространённая в программировании конструкция, позволяющая использовать объект как функцию. Часто используется как callback, делегат. Функтором представления называется функтор (англ. functor), описывающий отображение между математическим понятием (множество, функция) и его реализацией на языке программирования (соответственно, множество, функция). (ru) Фу́нкціональний об'єкт (англ. function object), функтор, об'єкт-функція — концепція в програмуванні, яка передбачає використання об'єкта класу як функції (часто зі збереженням синтаксису виклику). (uk) 函数对象(function object)是一个程序设计的对象允许被当作普通函数来调用。 函数对象与函数指针相比,有两个优点:第一是编译器可以内联执行函数对象的调用;第二是函数对象内部可以保持状态。 函数式程序设计语言还支持闭包,例如,first-class函数支持在其创建时用到的函数外定义的变量的值保持下来,成为一个函数闭包。 (zh) |
dbo:wikiPageExternalLink |
http://jga.sourceforge.net/ http://www.a-coding.com/2010/10/making-nsinvocations.html http://www.newty.de/fpt/index.html http://www.two-sdg.demon.co.uk/curbralan/papers/AsynchronousC++.pdf https://web.archive.org/web/20041009232434/http:/www.cuj.com/documents/s%3D8464/cujcexp0308sutter/ https://web.archive.org/web/20041013202445/http:/www.parashift.com/c++-faq-lite/pointers-to-members.html%23faq-33.10 https://web.archive.org/web/20060425104650/http:/blogs.pragprog.com/cgi-bin/pragdave.cgi/Tech/Ruby/ToProc.rdoc https://web.archive.org/web/20060820025032/http:/redhanded.hobix.com/cult/symbolTo_procExonerated.html https://web.archive.org/web/20070107205748/http:/facets.rubyforge.org/ https://web.archive.org/web/20100330073950/http:/www.amcgowan.ca/blog/computer-science/php-functors-function-objects-in-php/ http://www.ecma-international.org/publications/standards/Ecma-367.htm http://c2.com/cgi/wiki%3FFunctorObject |
dbo:wikiPageID |
509999 (xsd:integer) |
dbo:wikiPageLength |
34549 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID |
1084126278 (xsd:integer) |
dbo:wikiPageWikiLink |
dbr:Callback_(computer_science) dbc:Articles_with_example_Ruby_code dbr:Prolog dbr:Python_(programming_language) dbr:Ruby_(programming_language) dbr:Scala_(programming_language) dbr:Scheme_(programming_language) dbr:Universal_quantification dbc:Articles_with_example_Perl_code dbr:Julia_(programming_language) dbr:Perl dbr:Currying dbr:Inner_class dbr:.NET_Framework dbr:Common_Lisp dbr:Generic_programming dbr:Object_(computer_science) dbr:Closure_(computer_science) dbr:Eiffel_(programming_language) dbr:Function_(mathematics) dbr:Anonymous_function dbr:Lisp_(programming_language) dbr:ML_(programming_language) dbc:Object_(computer_science) dbr:Smalltalk dbr:Standard_Template_Library dbr:Subroutine dbc:Articles_with_example_Julia_code dbr:Command_pattern dbr:Computer_programming dbr:Delegate_(CLI) dbr:Function_composition_(computer_science) dbr:Functional_programming dbr:Functor dbr:Functor_(functional_programming) dbr:Function_pointer dbr:Operator_overloading dbr:C++ dbr:C++11 dbr:C_(programming_language) dbr:C_Sharp_(programming_language) dbc:Subroutines dbr:Windows_PowerShell dbr:Duck_typing dbr:Lambda_lifting dbr:Ada_(programming_language) dbr:D_(programming_language) dbr:Event-driven_programming dbr:PHP dbr:Delegation_(programming) dbr:Groovy_(programming_language) dbr:Procedural_programming dbr:Haskell_(programming_language) dbr:Higher-order_function dbr:JavaScript dbr:Java_(programming_language) dbc:Articles_with_example_C_code dbc:Articles_with_example_C++_code dbc:Articles_with_example_Java_code dbc:Articles_with_example_Python_(programming_language)_code dbr:Kevlin_Henney dbr:Herb_Sutter dbr:Factory_function dbr:Objective-C dbr:Category_theory dbr:Facade_pattern dbr:First-class_function dbr:Paul_Graham_(computer_programmer) dbr:First-class_object dbr:Function_call_operator dbr:Function_symbol dbr:Lambda_(programming) dbr:Single_dispatch dbr:Generator_(computer_science) dbr:Ruby_Extensions_Project |
dbp:wikiPageUsesTemplate |
dbt:About dbt:Efn dbt:ISBN dbt:Notelist dbt:Refimprove dbt:Reflist |
dcterms:subject |
dbc:Articles_with_example_Ruby_code dbc:Articles_with_example_Perl_code dbc:Object_(computer_science) dbc:Articles_with_example_Julia_code dbc:Subroutines dbc:Articles_with_example_C_code dbc:Articles_with_example_C++_code dbc:Articles_with_example_Java_code dbc:Articles_with_example_Python_(programming_language)_code |
gold:hypernym |
dbr:Programming |
rdf:type |
yago:WikicatSubroutines yago:Abstraction100002137 yago:Code106355894 yago:CodingSystem106353757 yago:Communication100033020 yago:GrammaticalRelation113796779 yago:Inflection113803782 yago:LinguisticRelation113797142 yago:Paradigm113804375 yago:Relation100031921 yago:Writing106359877 yago:WrittenCommunication106349220 dbo:RadioStation yago:Routine106582403 yago:Software106566077 yago:WikicatProgrammingParadigms |
rdfs:comment |
In computer programming, a function object is a construct allowing an object to be invoked or called as if it were an ordinary function, usually with the same syntax (a function parameter that can also be a function). Function objects are often called functors. (en) Una funzione oggetto, anche chiamata funtore è un costrutto di programmazioneche permette ad un oggetto di essere invocato o chiamato come se fosse unafunzione ordinaria, solitamente con la stessa sintassi. (it) 関数オブジェクト(かんすうオブジェクト、英: function object)は、プログラミング言語において、関数(サブルーチンないしプロシージャ)を、オブジェクトとしたものである。手続きオブジェクトとも言う(プロシージャ=手続き)。なお、ここでのオブジェクトの語は、いわゆるオブジェクト指向のそれに限らず、「第一級オブジェクト」という語におけるのと同じ、メモリ上に領域を確保されたもの、といった意味である。関数が第一級オブジェクトである場合は特に第一級関数と言う。 関数と変数の名前空間が共通である言語の場合、構文の設計によっては、y = f(x) といったような、通常のサブルーチン呼び出しと全く同じ構文で、関数オブジェクトが保持しているサブルーチンを呼び出せる言語もある。一方、通常のサブルーチンのように呼び出すことはできず、applyといった特別な名前のメソッドを経由して呼び出す必要のある言語もある。 また、変数束縛が閉じられた関数オブジェクトはクロージャである。C#などの.NET言語には関数オブジェクトのようなものとして、オブジェクトのインスタンスとその振る舞いであるメソッドとを結びつけて管理することのできる、デリゲートがある。無名関数も参照。 (ja) Функциональный объект (англ. function object), также функтор, функционал и функционоид — распространённая в программировании конструкция, позволяющая использовать объект как функцию. Часто используется как callback, делегат. Функтором представления называется функтор (англ. functor), описывающий отображение между математическим понятием (множество, функция) и его реализацией на языке программирования (соответственно, множество, функция). (ru) Фу́нкціональний об'єкт (англ. function object), функтор, об'єкт-функція — концепція в програмуванні, яка передбачає використання об'єкта класу як функції (часто зі збереженням синтаксису виклику). (uk) 函数对象(function object)是一个程序设计的对象允许被当作普通函数来调用。 函数对象与函数指针相比,有两个优点:第一是编译器可以内联执行函数对象的调用;第二是函数对象内部可以保持状态。 函数式程序设计语言还支持闭包,例如,first-class函数支持在其创建时用到的函数外定义的变量的值保持下来,成为一个函数闭包。 (zh) |
rdfs:label |
Function object (en) Funtore (programmazione) (it) 関数オブジェクト (ja) Функциональный объект (ru) Функтор (програмування) (uk) 函数对象 (zh) |
owl:sameAs |
freebase:Function object yago-res:Function object wikidata:Function object dbpedia-it:Function object dbpedia-ja:Function object dbpedia-ru:Function object dbpedia-uk:Function object dbpedia-zh:Function object https://global.dbpedia.org/id/yE3b |
prov:wasDerivedFrom |
wikipedia-en:Function_object?oldid=1084126278&ns=0 |
foaf:isPrimaryTopicOf |
wikipedia-en:Function_object |
is dbo:wikiPageDisambiguates of |
dbr:Function |
is dbo:wikiPageRedirects of |
dbr:Comparison_of_programming_languages_(function_objects) dbr:Function_objects dbr:Functionoid dbr:Functionoids dbr:Functor_(C++) |
is dbo:wikiPageWikiLink of |
dbr:Memoization dbr:Branch_and_bound dbr:C++_Standard_Library dbr:Defunctionalization dbr:Comparison_of_programming_languages_(function_objects) dbr:Object_(computer_science) dbr:Pytest dbr:GNU_Scientific_Library dbr:Callable_object dbr:Callback_(computer_programming) dbr:Smalltalk dbr:Standard_Template_Library dbr:Closure_(computer_programming) dbr:Command_pattern dbr:Comparison_of_ALGOL_68_and_C++ dbr:Functional_(C++) dbr:Functor_(functional_programming) dbr:Function dbr:Functor_(disambiguation) dbr:Partial_application dbr:C++ dbr:C++11 dbr:Fold_(higher-order_function) dbr:Modern_C++_Design dbr:OCaml dbr:Operators_in_C_and_C++ dbr:Visitor_pattern dbr:Nested_function dbr:First-class_function dbr:Scene_graph dbr:Function_objects dbr:Functionoid dbr:Functionoids dbr:Functor_(C++) |
is rdfs:seeAlso of |
dbr:Callable_object |
is foaf:primaryTopic of |
wikipedia-en:Function_object |