Для чего нужны эти символы в Ruby?

Вы можете изменить свой размер NSAlert , используя что-то вроде этого:

NSAlert *alert = [[NSAlert alloc] init];
NSRect frame = alert.window.frame;
frame.size.height = 110;
frame.size.width = 210;
[alert.window setFrame:frame display:YES];
69
задан the Tin Man 2 October 2012 в 16:33
поделиться

4 ответа

Они - переменные, к которым приводят блоку.

def this_method_takes_a_block
  yield(5)
end

this_method_takes_a_block do |num|
  puts num
end

, Который выводы "5". Более тайный пример:

def this_silly_method_too(num)
  yield(num + 5)
end

this_silly_method_too(3) do |wtf|
  puts wtf + 1
end

вывод равняется "9".

52
ответ дан August Lilleaas 2 October 2012 в 16:33
поделиться

Эквивалент в Java был бы чем-то как

// Prior definitions

interface RespondToHandler
{
    public void doFormatting(FormatThingummy format);
}

void respondTo(RespondToHandler)
{
    // ...
}

// Equivalent of your quoted code

respondTo(new RespondToHandler(){
    public void doFormatting(FormatThingummy format)
    {
        format.html();
        format.xml();
    }
});
3
ответ дан Jon Bright 2 October 2012 в 16:33
поделиться

Параметры для блока находятся между эти | символы.

3
ответ дан the Tin Man 2 October 2012 в 16:33
поделиться

Код от do к эти end определяет блок Ruby . Word format является параметром к блоку. Блок передается наряду с вызовом метода, и вызываемый метод может yield значения к блоку.

Видят любой текст на Ruby для получения дополнительной информации это - базовая функция Ruby, который Вы будете видеть все время.

6
ответ дан niels 2 October 2012 в 16:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: