- 1
$new_array = explode('.sep.', implode('.sep', $old_array));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+65
$new_array = explode('.sep.', implode('.sep', $old_array));
Полезная функция с http://www.dzone.com/snippets/re-create-array-index
+125
// Handle Ctrl-1 ... Ctrl-9 keypresses
if (!event.isSpecialKey() && event.isControlKey()) {
final int code = event.getKeyCode();
if (code >= '1' && code <= '9') {
// Technically, the keyCode is not the ASCII code and should not
// be treated as such. Stupid JavaScript events. However, it
// *just so happens* that for number keys these codes match their
// ASCII codes. Luckily for us.
+158
function check_email(_email)
{
var letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_0123456789 ";
var i = 0, j = 0;
var match = false;
if (_email.length == 0) {
return false;
}
for (i = 0; i < _email.length; i++)
{
match = false;
for (j = 0; j < letters.length; j++)
{
if (_email.charAt(i) == letters.charAt(j))
{
match = true;
break;
}
}
if (!match)
{
if (_email.charAt(i) == '.') {
match = true;
}
}
if(!match) {
break;
}
}
if (i >= _email.length) {
return false;
}
if (_email.charAt(i++) != '@') {
return false;
}
var dotpassed = false;
while (i < _email.length)
{
var match = false;
for (j = 0; j < letters.length; j++)
{
if (_email.charAt(i) == letters.charAt(j))
{
match = true;
break;
}
}
if (!match)
{
if (_email.charAt(i) == '.')
{
dotpassed = true;
match = true;
}
}
if (!match) return false;
i++;
}
if (dotpassed) return true;
return false;
}
в недрах http://astro.smsonline.ru/
+92
function THandlerServerCommands.CheckCommandOnDigits(const AComand: string;
var AIndex: integer): Boolean;
var
i, k: Integer;
Nn, Ln: integer;
TempComand: string;
begin
Result := False;
try
TempComand := AComand;
Ln := 1;
Nn := 0;
if FServerCommands.Find(TempComand, i) then
begin
AIndex := i;
Result := True;
Exit;
end;
for k := 1 to Length(AComand) do
begin
if not (AComand[k] in ['0'..'9']) then
inc(Nn)
else
begin
inc(Nn);
if Nn > Ln then
begin
TempComand := '';
TempComand := Copy(AComand, 1, Nn - 1);
if FServerCommands.Find(TempComand, i) then
begin
AIndex := i;
Result := True;
Break;
end;
end;
Ln := Nn + 1;
end;
end;
except
on e: Exception do
begin
Result := False;
LogEx.Error('Ошибка в процедуре CheckCommandOnDigits c параметрами AComand = ' + AComand + ' ' + e.Message);
end;
end;
end;
Проверьте код на запашок
−33
CArray <CStyle *, CStyle *> m_aStyles;
...
#define RETURN_TRUE return *bOk = TRUE, S_OK
#define RETURN_FALSE return *bOk = FALSE, S_FALSE
#define RETURN_ERROR(E) \
return LastErrorCode = (ERROR_##E), *bOk = FALSE, S_FALSE
...
// Создание нового стиля (пустого)
STDMETHODIMP CEffector::AddStyle(VARIANT_BOOL *bOk)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
CStyle *pNew = new CStyle;
if (pNew)
{
INT n = m_aStyles.GetSize();
m_aStyles.Add(pNew);
if (m_aStyles.GetSize() <= n)
RETURN_ERROR(MEMORY);
}
else
RETURN_ERROR(MEMORY);
RETURN_TRUE;
}
...
// Получение кода ошибки
STDMETHODIMP CEffector::GetErrorCode(long *p)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
*p = LastErrorCode;
LastErrorCode = ERROR_NONE;
return S_OK;
}
Мой первый COM-объект.
1) Если при успешном возвращении метод должен возвращать S_OK, то при ошибке... S_FALSE, наверное.
2) Только в Дельфи почему-то возвращается не HRESULT, а параметр, помеченный [out]. Поэтому пришлось добавить аргумент *bOk.
3) Интересно, что делает CArray, когда кончается память.
+65
// если нужно вернуть json
if (request('json', false)) {
echo "<html><head><script>
document.domain = \"" . substr(\system\config\auth::SESSION_COOKIES_DOMAIN, 1) . "\";
</script></head><body>";
echo json_encode(array('status' => 'ok',
'data' => array('hash' => $file_id,
'duration' => $mediaFile->getDuration(),
'width' => $mediaFile->getVideoWidth(),
'height' => $mediaFile->getVideoHeight())));
echo "</body></html>";
}
А вам слабо вот так выводить JSON?
−84
def self.allow_some_behaviour?
# better safe than sorry.
bool = !false ? !false : !!false
# type checking
if bool
# short circuit just in case
return !true;
elsif !bool
return !false
end
end
найдено в реальном проекте, работало в течении года где то. зачем это сделано - непонятно. почему не выпилили, тоже неясно.
+137
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
long i, copy, n, temp;
int *ar, j, k, flag, d1, d2;
for(i=987654321; i>=123456789; i--)
{
copy=i;
ar=(int *)calloc(10, sizeof(int));
while(copy>0)
{
if(copy%10==0)
break;
if(ar[copy%10]!=0)
break;
ar[copy%10]=1;
copy/=10;
}
free(ar);
if(copy==0)
{
for(j=8; j>=5; j--)
{
flag=1;
n=i/(long)pow(10, j);
copy=i-n*(long)pow(10, j);
for(k=2; k<=8 && flag; k++)
{
temp=n*k;
if(temp>copy)
{
flag=0;
break;
}
while(temp>0)
{
d1=temp/(long)pow(10, (int)log10(temp));
d2=copy/(long)pow(10, (int)log10(copy));
if(d1!=d2)
{
flag=0;
break;
}
temp=temp-d1*(long)pow(10, (int)log10(temp));
copy=copy-d2*(long)pow(10, (int)log10(copy));
}
if(copy==0)
{
printf("The pandigital number is %ld and the integer is %ld\n", i, n);
return 0;
}
}
}
}
}
return 0;
}
Очередной гений с пр. Ейлер:
http://projecteuler.net/problem=38
http://projecteuler.net/thread=38&page=8
>Runtime: 14.86s on 2.67Ghz machine
+57
$format = $_[3]; # Format object
# Check for a format object
if (isset($_[3])) {
$ixfe = $format->get_xf_index();
} else {
$ixfe = 0x0F;
}
Сначала присвоить, а потом проверить наличие - это сильно!
Найдено в class.writeexcel_worksheet.inc.php - классе для заботы с .xls
−34
//cgi_http.cpp
#include "http.h"
#include <cstring>
#include <cstdlib>
//decodes uri-encorded string
char* uri_decode(char* source, char* dest)
{
//save pointer address for dest
char* p = dest;
char* src = source;
while(*src)
{
if(src == strstr(src,"%B8"))
{
*p = 'ё';
src = src + 3;
p++;
}
else if(src == strstr(src,"%E9"))
{
*p = 'й';
src = src + 3;
p++;
}
else if(src == strstr(src,"%F6"))
{
*p = 'ц';
src = src + 3;
p++;
}
else if(src == strstr(src,"%F3"))
{
*p = 'у';
src = src + 3;
p++;
}
else if(src == strstr(src,"%EA"))
{
*p = 'к';
src = src + 3;
p++;
}
else if(src == strstr(src,"%E5"))
{
*p = 'е';
src = src + 3;
p++;
}
.......
Выкладываю свой чатик на С++. PHP не нужен.