压缩成一个函数? [英] Compress this into a function?
本文介绍了压缩成一个函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,我有以下代码,这些代码的确很长,如何将其压缩为函数?然后在其他工作日和一周中的课程中调用此函数?目前,我只是反复使用相同的代码,而只是替换变量(字符串).
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屋!
查看全文