- 1
- 2
- 3
-define(NO_AGE_GROUP, "0").
-define(BELOW_18, "1").
-define(ABOVE_18, "2").
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+137
-define(NO_AGE_GROUP, "0").
-define(BELOW_18, "1").
-define(ABOVE_18, "2").
Это Erlang если что...
Если не в курсе, то двойные кавычки в Erlang это короткая запись создания списка, естественно, как списки эти константы никогда не используются.
+132
open System.Net
open System.Text.RegularExpressions
open System.Text
open System
type userInfo =
{ User : string;
Rating : double;}
let mutable Users = []
(* Заполняем списки юзверей *)
let getUsersInfo s =
let mutable m = Regex.Match(s, @">(?<user>[^<]+)</a></td>\s+<td class=""strength"">[^<]+</td>\s+<td class=""rating""><strong>(?<rating>[^<]+)") //+ Оптимизировать регулярку. (Page 2)
while(m.Success) do
let info = {User = m.Groups.["user"].Value; Rating = m.Groups.["rating"].Value |> double}
Users <- Users @ [info]
m <- m.NextMatch()
(* скачивание страницы по индексу *)
let getSourceForUsers p =
let url = "http://freehabr.ru/people/good/page" + string(p)
let wc = new WebClient();
let s = wc.DownloadString(url);
printfn "Разобрана %i страница" p
getUsersInfo s
(* получить индекс последней страницы *)
let getLastPage =
let wc = new WebClient()
wc.Encoding <- Encoding.UTF8
let s = wc.DownloadString "http://freehabr.ru/people/"
Regex.Match(s,@"(?<=e)\d+(?=/"">п)").Value |> int
let lastPage = getLastPage
let printList a =
a |> List.iter (fun x -> printfn "%s рейтинг - %.2f" x.User x.Rating)
Console.ReadKey() |> ignore
[<EntryPoint>]
let main(args:string[]) =
printfn "Парсер юзерей с положительным (или нулевым) рейтингом"
printfn "%i -- Количество страниц" lastPage
printfn "scan --XX - __ Cбор списка пользователей от первой страницы до XX"
printfn "scan --YY --XX __ Сбор списка пользователей от YY страницы до XX. \nXX не может быть больше, чем максимальное количество страниц в списках юзеров с положительной кармой"
let userInput = Console.ReadLine();
match userInput with
| _ when userInput.StartsWith "scan --" -> let a = Regex.Split(userInput,"--")
let dig = a.[1] |> int
if a.Length = 2 then // для первого варианта
[1 .. dig]
|> List.iter getSourceForUsers
else // для второго
[ dig .. a.[2] |> int ]
|> List.iter getSourceForUsers
printfn "~~~\nЮзеры посчитаны"
| _ -> printfn "Завершение приложения"
exit(1)
printfn "~~~~\nОбработка списка\n~~~~"
printfn "usersGreaterRate --XX __ Показать пользователей,\nу которых рейтинг больше или равен XX"
printfn "usersLessRate --XX __ Показать пользователей,\nу которых рейтинг меньше или равен XX"
printfn "usersWithNamesBegins --String __ Показать пользователей,\nу которых имя начинается со строки String"
let usersOper = Console.ReadLine()
let param = Regex.Split(usersOper," --").[1]
match usersOper with
| _ when usersOper.StartsWith "usersGreaterRate --" -> Users
|> List.filter (fun x -> x.Rating > (param |> double))
|> printList
| _ when usersOper.StartsWith "usersLessRate --" -> Users
|> List.filter (fun x -> x.Rating < (param |> double))
|> printList
| _ when usersOper.StartsWith "usersWithNamesBegins --" -> Users
|> List.filter (fun x -> x.User.StartsWith param)
|> printList
| _ -> printfn "Завершение приложения"
exit(1)
0
+146
http://picomot.ru/
Наговнокодили тут новый проект
+129
;;; Returns a string and 'T' if the list is in a desc. or asc. order, and NIL otherwise
(defun ordered (list)
(let ((list-dec (copy-list list)))
(let ((list-inc (copy-list list)))
(let ((alist (sort list-inc #'<)))
(let ((dlist (sort list-dec #'>)))
(cond
((equal list dlist)
(format nil "~%The numbers in ~a are in a descending order. ~%T" list))
((equal list alist)
(format nil "~%The numbers in ~a are in an ascending order. ~%T" list))))))))
Задача была следующей: функция должна возвращать t (истина), если в списке все элементы либо в восходящем, либо в нисходящем порядкe, и соответсвенно nil (ложь), если нет. Думаю, вполне сгодится сюда :)
http://www.lispforum.com/viewtopic.php?f=2&t=1275
+124
<title>Наговнокодить — Говнокод.ру</title>
<meta name="keywords" content="говнокод, смешной код, быдлокод, быдлокодеры, индусы,
для программистов, про программистов, индусский код, записки программиста, говно, говнокод на php, mysql, perl" />
Требую чтобы пакинстанцы были сразу за индусами.
+132
<div class="su_mainText">
<h2>
<p>Thank you for taking the time to provide us with your suggestion(s).</p>
<p>Out intent is to continually enhance our program and we are</p>
<p>looking to our customer for guidance.</p>
</h2>
</div>
....задаем стиль текста на странице
+147
<div class="form-item" id="edit-user1-date-year-wrapper">
<select name="user1_date[year]" class="form-select" id="edit-user1-date-year" ><option value="1900">1900</option><option value="1901">1901</option><option value="1902">1902</option><option value="1903">1903</option><option value="1904">1904</option><option value="1905">1905</option><option value="1906">1906</option><option value="1907">1907</option><option value="1908">1908</option><option value="1909">1909</option><option value="1910">1910</option><option value="1911">1911</option><option value="1912">1912</option><option value="1913">1913</option><option value="1914">1914</option><option value="1915">1915</option><option value="1916">1916</option><option value="1917">1917</option><option value="1918">1918</option><option value="1919">1919</option><option value="1920">1920</option><option value="1921">1921</option><option value="1922">1922</option><option value="1923">1923</option><option value="1924">1924</option><option value="1925">1925</option><option value="1926">1926</option><option value="1927">1927</option><option value="1928">1928</option><option value="1929">1929</option><option value="1930">1930</option><option value="1931">1931</option><option value="1932">1932</option><option value="1933">1933</option><option value="1934">1934</option><option value="1935">1935</option><option value="1936">1936</option><option value="1937">1937</option><option value="1938">1938</option><option value="1939">1939</option><option value="1940">1940</option><option value="1941">1941</option><option value="1942">1942</option><option value="1943">1943</option><option value="1944">1944</option><option value="1945">1945</option><option value="1946">1946</option><option value="1947">1947</option><option value="1948">1948</option><option value="1949">1949</option><option value="1950">1950</option><option value="1951">1951</option><option value="1952">1952</option><option value="1953">1953</option><option value="1954">1954</option><option value="1955">1955</option><option value="1956">1956</option><option value="1957">1957</option><option value="1958">1958</option><option value="1959">1959</option><option value="1960">1960</option><option value="1961">1961</option><option value="1962">1962</option><option value="1963">1963</option><option value="1964">1964</option><option value="1965">1965</option><option value="1966">1966</option><option value="1967">1967</option><option value="1968">1968</option><option value="1969">1969</option><option value="1970">1970</option><option value="1971">1971</option><option value="1972">1972</option><option value="1973">1973</option><option value="1974">1974</option><option value="1975">1975</option><option value="1976">1976</option><option value="1977">1977</option><option value="1978">1978</option><option value="1979">1979</option><option value="1980">1980</option><option value="1981">1981</option><option value="1982">1982</option><option value="1983">1983</option><option value="1984">1984</option><option value="1985">1985</option><option value="1986">1986</option><option value="1987">1987</option><option value="1988">1988</option><option value="1989">1989</option><option value="1990">1990</option><option value="1991">1991</option><option value="1992">1992</option><option value="1993">1993</option><option value="1994">1994</option><option value="1995">1995</option><option value="1996">1996</option><option value="1997">1997</option><option value="1998">1998</option><option value="1999">1999</option><option value="2000">2000</option><option value="2001">2001</option><option value="2002">2002</option><option value="2003">2003</option><option value="2004">2004</option><option value="2005">2005</option><option value="2006">2006</option><option value="2007">2007</option><option value="2008">2008</option><option value="2009">2009</option><option value="2010">2010</option><option value="2011" selected="selected">2011</option></select>
</div>
Это вообще все так пишут и я чего-то не понимаю в этой жизни?..
+128
.gaia.sub.el { font-family: arial, sans-serif; font-size: smaller; font-weight: bold;}
.gaia.sub.pl { font-family: arial, sans-serif; font-size: smaller; font-weight: bold; }
.gaia.sub.rpl { font-family: arial, sans-serif; font-size: smaller; font-weight: bold; }
.gaia.sub.es { font-family: arial, sans-serif; font-size: smaller; font-style: italic; }
.gaia.sub.seex { font-family: arial, sans-serif; font-size: smaller; color: #6f6f6f; }
.gaia.sub.pc { font-family: arial,sans-serif; font-size: smaller; color: #6f6f6f; }
Аккаунты Google. Запятые? Не, не слышал.
+136
<style>
.comments_indent_holder .comment { margin-left:400px;}
.comments_indent_holder .indent_0 { margin-left:38px;}
.comments_indent_holder .indent_1 { margin-left:58px;}
.comments_indent_holder .indent_2 { margin-left:78px;}
.comments_indent_holder .indent_3 { margin-left:98px;}
.comments_indent_holder .indent_4 { margin-left:118px;}
.comments_indent_holder .indent_5 { margin-left:138px;}
.comments_indent_holder .indent_6 { margin-left:158px;}
.comments_indent_holder .indent_7 { margin-left:178px;}
.comments_indent_holder .indent_8 { margin-left:198px;}
.comments_indent_holder .indent_9 { margin-left:218px;}
.comments_indent_holder .indent_10 { margin-left:238px;}
.comments_indent_holder .indent_11 { margin-left:258px;}
.comments_indent_holder .indent_12 { margin-left:278px;}
.comments_indent_holder .indent_13 { margin-left:298px;}
.comments_indent_holder .indent_14 { margin-left:318px;}
.comments_indent_holder .indent_15 { margin-left:338px;}
.comments_indent_holder .indent_16 { margin-left:358px;}
.comments_indent_holder .indent_17 { margin-left:378px;}
.comments_indent_holder .indent_18 { margin-left:398px;}
.comments_indent_holder .indent_19 { margin-left:418px;}
.comments_indent_holder .indent_20 { margin-left:438px;}
</style>
<div id="6509734" class="comment indent_0 u28525">
....
</div>
<div id="6509750" class="comment indent_1 u34409">
....
</div>
одно иллитарное сообщество с ограниченной вложенностью камментов. facepalm.svg
+131
copy /b *.mpg FullMovie.mpg
1. Open a blank text file.
2. Type copy /b *.mpg FullMovie.mpg
3. Save the file with a .Bat extension.
Let's say you saved the text file as Joiner.Bat.
4. Now Copy and Paste this Joiner.Bat file in a folder which contains more than one mpg files.
5. Double click the Joiner.Bat file.