Ruby: 458 символов
(+ 4 новых строки, добавленные для хранения его менее чем 80 столбцами)
n=%w{first second third fourth fifth sixth seventh eighth ninth tenth eleventh twelfth}
s=''
["a partridge in a pear tree","two turtle doves, and","three french hens",
"four calling birds","five gold rings","six geese a-laying","seven swans a-swimming",
"eight maids a-milking","nine ladies dancing","ten lords a leaping",
"eleven pipers piping","twelve drummers drumming"].map{|p|
puts "On the #{n.pop} day of Christmas my true love gave to me: "+(s=p+', '+s)}
Вы можете установить индивидуальное определение в вашей конфигурации, используя параметр Preprocessor Macros
в вашем проекте или информации о цели. Это работает так же, как если бы у вас была переменная #define
da в вашем источнике.
В конфигурации выпуска установите для GCC_PREPROCESSOR_DEFINITIONS
(«Макросы препроцессора») значение MYAPP_RELEASE = 1
. Затем вы можете использовать этот код для изменения функциональности во время компиляции:
#ifdef MYAPP_RELEASE
NSString *title = @"Release Version";
#else
NSString *title = @"Beta Version";
#endif
У вас также может быть другой ключ plist для конфигураций, а затем ваше приложение будет читать из файла .plist во время выполнения, например ...
CFBundleRef mainBundle;
CFDictionaryRef bundleInfoDict;
mainBundle = CFBundleGetMainBundle();
bundleInfoDict = CFBundleGetInfoDictionary(mainBundle);
if (bundleInfoDict != NULL) {
// check for your custom config key here
}