Другой C#
var l="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,".Split('|');
for (int i = 1; i < 13; i++)
Console.Write(
"On the {0}{2} day of christmas\rmy true love gave to me \r{1}\r\r",
i,
string.Join("\r", l.Take(i).Reverse().ToArray()),
(i==1?"st":i==2?"nd":i==3?"rd":"th"));
Влез в долги из предыдущих ответов (эй, повторное использование кода) при добавлении дополнительных сбережений.
481 символ, как только Вы вынимаете ненужный пробел:
var l="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,".Split('|');for(int i=1;i<13;i++)Console.Write("On the {0}{2} day of christmas, my true love gave to me \r{1}\r\r",i,String.Join("\r",l.Take(i).Reverse().ToArray()),(i==1?"st":i==2?"nd":i==3?"rd":"th"));
Существуют привязки GNTP (Growl Network Transport Protocol) для разных языков, список привязок можно найти здесь - они позволяют отправлять уведомления от, скажем, PHP-скрипта.
Я бы не стал доверять UDP-системе Growl напрямую, а скорее написал бы сервер, который принимает и хранит уведомления (возможно, в виде крошечного веб-приложения), и локальный скрипт, который обычно захватывает любые новые сообщения через HTTP и рычит на них. Совсем не сложный, будет более надежным, чем UDP, и может ставить сообщения в очередь, когда ваша машина Growl'ing выключена или недоступна. Реализация
не займет много времени. По сути, server.php
в псевдо-PHP (который может использовать Net_Growl ):
<?php
if($_GET['action'] == "store"){
$title = $_POST['title'];
$message = $_POST['message'];
$password = sha1($_POST['password']);
if($password == "..."){
store_in_database(sanitise($title), sanitise($message);
}
} else {
print(json_encode(get_notifications_from_database()));
mark_notifications_as_read();
}
?>
client.py
в псевдо- Python (который может использовать gntp ):
while 1:
time.sleep(60):
data = urllib.urlopen("http://myserver.com/server.php?action=get&password=blah").read()
for line in data:
notif = json.decode(line)
growl.alert(notif['title'], notif['message'])