- 1
- 2
fib = 0 : 1 : zipWith (+) fib (tail fib)
main = print $ take 700 fibНашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+118
fib = 0 : 1 : zipWith (+) fib (tail fib)
main = print $ take 700 fib
+124
import Control.Monad
import Control.Arrow
import Data.List
solve' :: [String] -> [[String]]
solve' = nub . filter (
            and . uncurry (
                zipWith (
                    (.head) . (==) . last
                )
            ) . (id &&& tail)
         ) . uncurry ($) . (
            last . (((
                map (
                    last . fst &&& uncurry (++) . (init . fst &&& snd)
                ) . tail . uncurry (zipWith (,)) . (inits &&& tails)
            ) >=> (uncurry map) . 
                ((:) *** solve')
            ):
            ) . (uncurry takeWhile) . (
                    const . null &&& const [const [[]]]
                ) &&& id
         )
main = print $ solve' ["123","321","123"]
−106
- (void)shutdownSoundManager {
	@synchronized(self) {
		if(sharedSoundManager != nil) {
			[self dealloc];
		}
	}
}Убийца синглетонов, блджд
−162
/*здесь было много кода*/
DECLARE @Strings TABLE /* in this temporary table we keep all strings, even the names of the elements, since they are 'escaped' in a different way, and may contain, unescaped, brackets denoting objects or lists. These are replaced in the JSON string by tokens representing the string */
    (
     String_ID INT IDENTITY(1, 1),
     StringValue NVARCHAR(MAX)
    )
  SELECT--initialise the characters to convert hex to ascii
    @characters='0123456789abcdefghijklmnopqrstuvwxyz',
  /* firstly we process all strings. This is done because [{} and ] aren't escaped in strings, which complicates an iterative parse. */
    @parent_ID=0;
  WHILE 1=1 --forever until there is nothing more to do
    BEGIN
      SELECT
        @start=PATINDEX('%[^a-zA-Z]["]%', @json collate SQL_Latin1_General_CP850_Bin);--next delimited string
      IF @start=0 BREAK --no more so drop through the WHILE loop
      IF SUBSTRING(@json, @start+1, 1)='"'
        BEGIN --Delimited Name
          SET @start=@Start+1;
          SET @end=PATINDEX('%[^\]["]%', RIGHT(@json, LEN(@json+'|')-@start) collate SQL_Latin1_General_CP850_Bin);
        END
      IF @end=0 --no end delimiter to last string
        BREAK --no more
      SELECT @token=SUBSTRING(@json, @start+1, @end-1)
      --now put in the escaped control characters
      SELECT @token=REPLACE(@token, FROMString, TOString)
      FROM
        (SELECT
          '\"' AS FromString, '"' AS ToString
         UNION ALL SELECT '\\', '\'
         UNION ALL SELECT '\/', '/'
         UNION ALL SELECT '\b', CHAR(08)
         UNION ALL SELECT '\f', CHAR(12)
         UNION ALL SELECT '\n', CHAR(10)
         UNION ALL SELECT '\r', CHAR(13)
         UNION ALL SELECT '\t', CHAR(09)
        ) substitutions
      SELECT @result=0, @escape=1
  --Begin to take out any hex escape codes
      WHILE @escape>0
        BEGIN
          SELECT @index=0,
          --find the next hex escape sequence
          @escape=PATINDEX('%\x[0-9a-f][0-9a-f][0-9a-f][0-9a-f]%', @token collate SQL_Latin1_General_CP850_Bin)
          IF @escape>0 --if there is one
            BEGIN
              WHILE @index<4 --there are always four digits to a \x sequence  
                BEGIN
                  SELECT --determine its value
                    @result=@result+POWER(16, @index)
                    *(CHARINDEX(SUBSTRING(@token, @escape+2+3-@index, 1),
                                @characters)-1), @index=@index+1 ;
        
                END
                -- and replace the hex sequence by its unicode value
              SELECT @token=STUFF(@token, @escape, 6, NCHAR(@result))
            END
        END
      --now store the string away
      INSERT INTO @Strings (StringValue) SELECT @token
      -- and replace the string with a token
      SELECT @JSON=STUFF(@json, @start, @end+1,
                    '@string'+CONVERT(NVARCHAR(5), @@identity))
    ENDпарсинг json-строки sql скриптом. полная версия тут : https://www.simple-talk.com/sql/t-sql-programming/consuming-json-strings-in-sql-server/
−98
dispatch_async(dispatch_get_global_queue(0, 0), ^{
            [NSThread sleepForTimeInterval:0.35];
            [[NSThread mainThread] performBlock:^{
                [titleLabel setHidden:NO];
            }];
        });
+67
public final class SomeActivity extends Activity {
       @Override
	protected Dialog onCreateDialog(int id) {
		Dialog dialog = null;
		if (id == DialogGenerator.SETTINGS_DIALOG) {
			dialog = mDialogGenerator.createSettingsDialog();
		}  {
			dialog = super.onCreateDialog(id);
		}
		return dialog;
	}
	@Override
	protected void onPrepareDialog(int id, Dialog dialog) {
		super.onPrepareDialog(id, dialog);
		if (id == DialogGenerator.SETTINGS_DIALOG) {
			mDialogGenerator.prepareSettingsDialog((AlertDialog) dialog, someBoolValue, someObjectValue);
		} 
	}
}
public final class DialogGenerator {
	public Dialog createSettingsDialog() {
		int dialogId = SETTINGS_DIALOG;
		int titleId = R.string.settingsTitle;
		String[] itemsArray = getStringArray(R.array.settings);
		ThreeTypeOptionsAdapter adapter = new ThreeTypeOptionsAdapter(mControllerAsActivity, itemsArray,
				mCheckableOptions, mTwoTextOptions);
		AlertDialogCallback dialogCallback = new AlertDialogCallback(mControllerAsDialogHost, dialogId);
		AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(mControllerAsActivity);
		dialogBuilder.setTitle(titleId);
		// костыль
		dialogBuilder.setSingleChoiceItems(itemsArray, 0, null);
		// конец костыля
		dialogBuilder.setAdapter(adapter, dialogCallback);
		AlertDialog dialog = dialogBuilder.create();
		setMainListenersOnDialog(dialog);
		dialog.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
		return dialog;
	}
	
	public void prepareSettingsDialog(AlertDialog dialog, boolean someBoolValue, String someStringValue) {
		//костыль
		ListView dialogList = dialog.getListView();
		dialogList.clearChoices();
		dialogList.setItemChecked(POSITION_FOR_BOOL, someBoolValue);
		//конец костыля
		ThreeTypeOptionsAdapter adapter = (ThreeTypeOptionsAdapter) dialogList.getAdapter();
		adapter.setAdditionalValue(POSITION_FOR_STRING, someStringValue);	
	}
}
            Задача: показать диалог, внутри которого есть 3 типа ячеек: выделяемые с чекбоксом справа, невыделяемые с дополнительной надписью справа, обычные невыделяемые.
Примерно так:
Use GPS                     checkbox
Selected country         Russia
Launch some activity
В комментах к методам я описал костыль: 
Здравствуйте, дорогие друзья. Сегодня мы с вами поговорим об уникальном виде животных, которых открыли только в конце XX века. Это, дорогие друзья, Ява-обезьяны. Давайте дружно откроем сырцы Андроид-СДК, а именно - класс com.android.internal.app.AlertController  .AlertParams - и метод createListView(AlertController). Видите, одна обезьяна решила, что нам будет удобней, если диалог автоматом задисмиссится, когда мы щёлкнем по элементу списка в CHOICE_MODE_NONE, и OnClickListener будет не null? А теперь давайте перейдём в android.app.AlertDialog.Builder. Видите, там другая обезьяна решила, что для multi-choice списка нам не потребуется хитроумный адаптер? Поэтому, дорогие друзья, когда мы поставили кастомный адаптер (setAdapter()) и сопроводили его слушателем, то какой бы мы choice mode не ставили после AlertDialog.Builder.create(), диалог дисмиссился. Поэтому, дорогие друзья, пришлось пойти на хитрость и вначале установить single choice (чтобы флаг mIsSingleChoice стал true), а потом уже ставить адаптер.
        
+133
drwxrwxrwx  1 wvxvw None       0 02-17 16:59 .svn
  -rw-rw-rw-  1 wvxvw None   22082 02-04 11:03 header.asp
  -rw-rw-rw-  1 wvxvw None   14331 02-04 11:02 header.utf.asp
  -rw-rw-rw-  1 wvxvw None   10333 02-04 11:01 header2.asp
  -rw-rw-rw-  1 wvxvw None   10368 02-04 11:02 header2_test.asp
  -rw-rw-rw-  1 wvxvw None   11825 02-04 11:02 header3.asp
  -rw-rw-rw-  1 wvxvw None   11734 02-04 11:03 header3_liran.asp
  -rw-rw-rw-  1 wvxvw None   11238 02-04 11:01 header3_old.asp
  -rw-rw-rw-  1 wvxvw None    7403 02-04 11:02 header3_ssl.asp
  -rw-rw-rw-  1 wvxvw None    9045 02-04 11:01 header3del.asp
  -rw-rw-rw-  1 wvxvw None   39451 02-04 11:02 header4.asp
  -rw-rw-rw-  1 wvxvw None   40224 02-04 11:02 header4_new.asp
  -rw-rw-rw-  1 wvxvw None   13348 02-04 11:02 header4rus.asp
  -rw-rw-rw-  1 wvxvw None     230 02-04 11:02 headers.asp
  -rw-rw-rw-  1 wvxvw None     208 02-06 09:37 headers.phpНаследство.
+157
if (!("" instanceof String)) throw new Error("Empty string is not a string");Майкрософт. JScript, ASP.
+145
if (!$to && !$from)
        {
            $msgInstance->setStatus(1);
            $msgInstance->setDeletedTo(1);
            $msgInstance->setDeletedFrom(1);
            $incomingL = -1;
            $outcomingL = -1;
        }
        elseif (!$to){
            $msgInstance->setStatus(1);
            $msgInstance->setDeletedTo(1);
            $incomingL = -1;
            $outcomingL = 0;
        }
        elseif (!$from)
        {
            $msgInstance->setDeletedFrom(1);
            $incomingL = 0;
            $outcomingL = -1;
        }Оцените xD ;)
+28
if ( _It->m_sOpenText.substr( 0, 3 ) == "<tr" ||
		 _It->m_sOpenText.substr( 0, 3 ) == "<th" ||
		 _It->m_sOpenText.substr( 0, 3 ) == "<td" ||
		 _It->m_sOpenText.substr( 0, 6 ) == "<thead" ||
		 _It->m_sOpenText.substr( 0, 6 ) == "<tbody" ||
		 _It->m_sOpenText.substr( 0, 6 ) == "<tfoot" ||
		 _It->m_sOpenText.substr( 0, 8 ) == "<caption" ||
		 _It->m_sOpenText.substr( 0, 4 ) == "<col" ||
		 _It->m_sOpenText.substr( 0, 9 ) == "<colgroup" )
		return; // TODO: я пишу ТАКОЙ код, убейте меня...Продолжаем неделю свитчей — HTML-препроцессор!