Экспортируйте DataTable в Excel File

Ленивый К

Ваши чисто функциональные ночные кошмары программирования сбываются!

Единственный эзотерический тьюрингово-полный язык программирования , который имеет:

Вот факториальный код во всей его круглой славе:

K(SII(S(K(S(S(KS)(S(K(S(KS)))(S(K(S(KK)))(S(K(S(K(S(K(S(K(S(SI(K(S(K(S(S(KS)K)I))
 (S(S(KS)K)(SII(S(S(KS)K)I))))))))K))))))(S(K(S(K(S(SI(K(S(K(S(SI(K(S(K(S(S(KS)K)I))
 (S(S(KS)K)(SII(S(S(KS)K)I))(S(S(KS)K))(S(SII)I(S(S(KS)K)I))))))))K)))))))
 (S(S(KS)K)(K(S(S(KS)K)))))))))(K(S(K(S(S(KS)K)))K))))(SII))II)

Особенности:

  • Никаких вычитаний или условных выражений
  • Печатает все факториалы (если вы ждете достаточно долго)
  • Использует второй слой церковных цифр для преобразования N-го факториала в N! звездочки, за которыми следует новая строка
  • Использует комбинатор Y для рекурсии

Если вы хотите попытаться понять его, вот исходный код Схемы для запустить через компилятор Lazier:

(lazy-def '(fac input)
   '((Y (lambda (f n a) ((lambda (b) ((cons 10) ((b (cons 42)) (f (1+ n) b))))
       (* a n)))) 1 1))

(для подходящих определений Y, минусы, 1, 10, 42, 1+ и *).

РЕДАКТИРОВАТЬ:

Фактор Ленивый K в десятичном формате

( 10 КБ тарабарщины или я бы вставил его). Например, в приглашении Unix:

    $ echo "4" | ./lazy facdec.lazy
    24
    $ echo "5" | ./lazy facdec.lazy
    120

Довольно медленно для чисел выше, скажем, 5.

Код вроде раздутый, потому что мы должны включить библиотечный код для всех наших собственных примитивов (код, написанный в Hazy , интерпретатор лямбда-исчисления и LC-to-Lazy) K компилятор написан на Хаскеле).

32
задан Muhammad Akhtar 17 November 2009 в 06:17
поделиться

1 ответ

используйте этот код ...

    dt = city.GetAllCity();//your datatable
    string attachment = "attachment; filename=city.xls";
    Response.ClearContent();
    Response.AddHeader("content-disposition", attachment);
    Response.ContentType = "application/vnd.ms-excel";
    string tab = "";
    foreach (DataColumn dc in dt.Columns)
    {
        Response.Write(tab + dc.ColumnName);
        tab = "\t";
    }
    Response.Write("\n");
    int i;
    foreach (DataRow dr in dt.Rows)
    {
        tab = "";
        for (i = 0; i < dt.Columns.Count; i++)
        {
            Response.Write(tab + dr[i].ToString());
            tab = "\t";
        }
        Response.Write("\n");
    }
    Response.End();
68
ответ дан 27 November 2019 в 20:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: