2015-07-24 2 views
5

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

Как говорится в документации, это функция пустоты, которая ничего не делает!

Итак, почему я должен использовать функцию, которая ничего не делает? Это для добавления «Nop» в сборку (для конвейера и т. Д.), Но тогда это будет слишком низкоуровневым, не так ли?

+0

хммм почему downvote, документация не сказать какой-либо это делает это? – niceman

+0

Да, совершенно несправедливое понижение. Но вы должны исправить название и комментарий как 'noop', а не' noob'. –

+0

спасибо @JohnVasileff, исправил мою опечатку :) – niceman

ответ

8

noop() может заменить любой void (или Anything возвращение) функция. Поэтому полезно использовать в качестве значения, если вы вызываете функцию или создаете объект, который требует от вас передать обработчик события или функцию обратного вызова, но вы не хотите отвечать на это событие.

7

noop() также полезен в качестве значения по умолчанию в качестве необязательного параметра функции, например:

void foo(void bar(Integer i) => noop(i)) {} 

Или:

void foo(Anything(Integer) bar = noop) {} 
Смежные вопросы