Можно ли запустить функцию, не давая ей объект? - PullRequest
2 голосов
/ 18 июня 2019

Мне интересно, есть ли какие-нибудь функции, которые запускают функцию.

Например, если самая простая функция, которую я мог бы написать, выглядит примерно так:

function(){
  print("hello world")
}

Однако, насколькоЯ знаю, что единственный способ «запустить» эту функцию - это запустить что-то вроде:

my_fun <- function(){
  print("hello world")
}

my_fun()

Есть ли способ достичь этого результата, не давая функции объект?Интуитивно я думаю, что это не слишком отличается от того, что делает %>%, но мне трудно думать о том, как это сделать.Есть ли функция, в которую я мог бы обратиться, чтобы запустить эту функцию, не назначая ей свой собственный объект?

Ответы [ 2 ]

5 голосов
/ 18 июня 2019

Do can IIFE (выражение для немедленного вызова функции).Это довольно популярная модель в JS.

(function() {print("hello world")})()
2 голосов
/ 18 июня 2019

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

(function(){
  print("hello world")
})()

Оберните анонимную функцию в парены, а затем «вызовите» ее с парой паренов.

> (function(){
+   print("hello world")
+ })()
[1] "hello world"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...