压缩成一个函数? [英] Compress this into a function?

查看:48
本文介绍了压缩成一个函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我有以下代码,这些代码的确很长,如何将其压缩为函数?然后在其他工作日和一周中的课程中调用此函数?目前,我只是反复使用相同的代码,而只是替换变量(字符串).

Hi I have the following code which is really long of course, how can I compress this into a function? Then call this function with the other weekdays and lessons in the week? Currently Im just using the same code over and over just replacing the variables (which are strings).

//Allocate and add objects to monday week one.
    monArrayA = [[NSMutableArray alloc] init];
    [monArrayA addObject:@"Before School"];
    [monArrayA addObject:[NSString stringWithFormat:@"%@", monP1A]];
    [monArrayA addObject:[NSString stringWithFormat:@"%@", monP2A]];
    [monArrayA addObject:@"Break"];
    [monArrayA addObject:[NSString stringWithFormat:@"%@", monP3A]];
    [monArrayA addObject:[NSString stringWithFormat:@"%@", monP4A]];
    [monArrayA addObject:@"Lunch"];
    [monArrayA addObject:[NSString stringWithFormat:@"%@", monP5A]];
    [monArrayA addObject:[NSString stringWithFormat:@"%@", monP6A]];
    [monArrayA addObject:@"After School"];

    //Allocate and add objects to monday week two.
    monArrayB = [[NSMutableArray alloc] init];
    [monArrayB addObject:@"Before School"];
    [monArrayB addObject:[NSString stringWithFormat:@"%@", monP1B]];
    [monArrayB addObject:[NSString stringWithFormat:@"%@", monP2B]];
    [monArrayB addObject:@"Break"];
    [monArrayB addObject:[NSString stringWithFormat:@"%@", monP3B]];
    [monArrayB addObject:[NSString stringWithFormat:@"%@", monP4B]];
    [monArrayB addObject:@"Lunch"];
    [monArrayB addObject:[NSString stringWithFormat:@"%@", monP5B]];
    [monArrayB addObject:[NSString stringWithFormat:@"%@", monP6B]];
    [monArrayB addObject:@"After School"];

    //Allocate and add objects to tuesday week one.
    tueArrayA = [[NSMutableArray alloc] init];
    [tueArrayA addObject:@"Before School"];
    [tueArrayA addObject:[NSString stringWithFormat:@"%@", tueP1A]];
    [tueArrayA addObject:[NSString stringWithFormat:@"%@", tueP2A]];
    [tueArrayA addObject:@"Break"];
    [tueArrayA addObject:[NSString stringWithFormat:@"%@", tueP3A]];
    [tueArrayA addObject:[NSString stringWithFormat:@"%@", tueP4A]];
    [tueArrayA addObject:@"Lunch"];
    [tueArrayA addObject:[NSString stringWithFormat:@"%@", tueP5A]];
    [tueArrayA addObject:[NSString stringWithFormat:@"%@", tueP6A]];
    [tueArrayA addObject:@"After School"];

    //Allocate and add objects to tuesday week two.
    tueArrayB = [[NSMutableArray alloc] init];
    [tueArrayB addObject:@"Before School"];
    [tueArrayB addObject:[NSString stringWithFormat:@"%@", tueP1B]];
    [tueArrayB addObject:[NSString stringWithFormat:@"%@", tueP2B]];
    [tueArrayB addObject:@"Break"];
    [tueArrayB addObject:[NSString stringWithFormat:@"%@", tueP3B]];
    [tueArrayB addObject:[NSString stringWithFormat:@"%@", tueP4B]];
    [tueArrayB addObject:@"Lunch"];
    [tueArrayB addObject:[NSString stringWithFormat:@"%@", tueP5B]];
    [tueArrayB addObject:[NSString stringWithFormat:@"%@", tueP6B]];
    [tueArrayB addObject:@"After School"];

    //Allocate and add objects to wednesday week one.
    wedArrayA = [[NSMutableArray alloc] init];
    [wedArrayA addObject:@"Before School"];
    [wedArrayA addObject:[NSString stringWithFormat:@"%@", wedP1A]];
    [wedArrayA addObject:[NSString stringWithFormat:@"%@", wedP2A]];
    [wedArrayA addObject:@"Break"];
    [wedArrayA addObject:[NSString stringWithFormat:@"%@", wedP3A]];
    [wedArrayA addObject:[NSString stringWithFormat:@"%@", wedP4A]];
    [wedArrayA addObject:@"Lunch"];
    [wedArrayA addObject:[NSString stringWithFormat:@"%@", wedP5A]];
    [wedArrayA addObject:[NSString stringWithFormat:@"%@", wedP6A]];
    [wedArrayA addObject:@"After School"];

    //Allocate and add objects to wednesday week two.
    wedArrayB = [[NSMutableArray alloc] init];
    [wedArrayB addObject:@"Before School"];
    [wedArrayB addObject:[NSString stringWithFormat:@"%@", wedP1B]];
    [wedArrayB addObject:[NSString stringWithFormat:@"%@", wedP2B]];
    [wedArrayB addObject:@"Break"];
    [wedArrayB addObject:[NSString stringWithFormat:@"%@", wedP3B]];
    [wedArrayB addObject:[NSString stringWithFormat:@"%@", wedP4B]];
    [wedArrayB addObject:@"Lunch"];
    [wedArrayB addObject:[NSString stringWithFormat:@"%@", wedP5B]];
    [wedArrayB addObject:[NSString stringWithFormat:@"%@", wedP6B]];
    [wedArrayB addObject:@"After School"];

    //Allocate and add objects to thursday week one.
    thuArrayA = [[NSMutableArray alloc] init];
    [thuArrayA addObject:@"Before School"];
    [thuArrayA addObject:[NSString stringWithFormat:@"%@", thuP1A]];
    [thuArrayA addObject:[NSString stringWithFormat:@"%@", thuP2A]];
    [thuArrayA addObject:@"Break"];
    [thuArrayA addObject:[NSString stringWithFormat:@"%@", thuP3A]];
    [thuArrayA addObject:[NSString stringWithFormat:@"%@", thuP4A]];
    [thuArrayA addObject:@"Lunch"];
    [thuArrayA addObject:[NSString stringWithFormat:@"%@", thuP5A]];
    [thuArrayA addObject:[NSString stringWithFormat:@"%@", thuP6A]];
    [thuArrayA addObject:@"After School"];

    //Allocate and add objects to thursday week two.
    thuArrayB = [[NSMutableArray alloc] init];
    [thuArrayB addObject:@"Before School"];
    [thuArrayB addObject:[NSString stringWithFormat:@"%@", thuP1B]];
    [thuArrayB addObject:[NSString stringWithFormat:@"%@", thuP2B]];
    [thuArrayB addObject:@"Break"];
    [thuArrayB addObject:[NSString stringWithFormat:@"%@", thuP3B]];
    [thuArrayB addObject:[NSString stringWithFormat:@"%@", thuP4B]];
    [thuArrayB addObject:@"Lunch"];
    [thuArrayB addObject:[NSString stringWithFormat:@"%@", thuP5B]];
    [thuArrayB addObject:[NSString stringWithFormat:@"%@", thuP6B]];
    [thuArrayB addObject:@"After School"];

    //Allocate and add objects to friday week one.
    friArrayA = [[NSMutableArray alloc] init];
    [friArrayA addObject:@"Before School"];
    [friArrayA addObject:[NSString stringWithFormat:@"%@", friP1A]];
    [friArrayA addObject:[NSString stringWithFormat:@"%@", friP2A]];
    [friArrayA addObject:@"Break"];
    [friArrayA addObject:[NSString stringWithFormat:@"%@", friP3A]];
    [friArrayA addObject:[NSString stringWithFormat:@"%@", friP4A]];
    [friArrayA addObject:@"Lunch"];
    [friArrayA addObject:[NSString stringWithFormat:@"%@", friP5A]];
    [friArrayA addObject:[NSString stringWithFormat:@"%@", friP6A]];
    [friArrayA addObject:@"After School"];

    //Allocate and add objects to friday week two.
    friArrayB = [[NSMutableArray alloc] init];
    [friArrayB addObject:@"Before School"];
    [friArrayB addObject:[NSString stringWithFormat:@"%@", friP1B]];
    [friArrayB addObject:[NSString stringWithFormat:@"%@", friP2B]];
    [friArrayB addObject:@"Break"];
    [friArrayB addObject:[NSString stringWithFormat:@"%@", friP3B]];
    [friArrayB addObject:[NSString stringWithFormat:@"%@", friP4B]];
    [friArrayB addObject:@"Lunch"];
    [friArrayB addObject:[NSString stringWithFormat:@"%@", friP5B]];
    [friArrayB addObject:[NSString stringWithFormat:@"%@", friP6B]];
    [friArrayB addObject:@"After School"];

推荐答案

尝试一下:

NSMutableArray* helper(id a, id b, id c, id d, id e, id f) {
    NSMutableArray* arr = [[NSMutableArray alloc] init];
    [arr addObject:@"Before School"];
    [arr addObject:[NSString stringWithFormat:@"%@", a]];
    [arr addObject:[NSString stringWithFormat:@"%@", b]];
    [arr addObject:@"Break"];
    [arr addObject:[NSString stringWithFormat:@"%@", c]];
    [arr addObject:[NSString stringWithFormat:@"%@", d]];
    [arr addObject:@"Lunch"];
    [arr addObject:[NSString stringWithFormat:@"%@", e]];
    [arr addObject:[NSString stringWithFormat:@"%@", f]];
    [arr addObject:@"After School"];
    return arr;
}

...

monArrayA = helper(monP1A, monP2A, monP3A, monP4A, monP5A, monP6A);
monArrayB = helper(monP1B, monP2B, monP3B, monP4B, monP5B, monP6B);

tueArrayA = helper(tueP1A, ...);
tueArrayB = helper(monP1B, ...);

...

如果您的对象位于数组而不是离散变量的集合中,则可能甚至可以将其压缩得更多.

You could probably condense it even more if your objects were in arrays instead of a constellation of discrete variables.

这篇关于压缩成一个函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆