`clean_ops = [str.strip,remove_punctuation,str.title]`的模式

时间:2018-05-14 00:40:02

标签: python

我学会了将函数作为参数传递的技巧

while((ch = getch()) != KEY_F(2)) {
    switch(ch) {
        case KEY_MOUSE :

            if (getmouse(&event) == OK) {



                if (event.y == 39 && event.x >= 1 && event.x <= 10) {
                    item_actif = PLUS;
                    mvwprintw(fen_outils, 0, 1, "X");
                    mvwprintw(fen_outils, 1, 1, " ");
                    wrefresh(fen_outils);
                }
                else if (event.y == 40 && event.x >=1 && event.x <= 10) {
                    item_actif = MINUS;
                    mvwprintw(fen_outils, 0, 1, " ");
                    mvwprintw(fen_outils, 1, 1, "X");
                    wrefresh(fen_outils);
                }
                else if (event.y > 0 && event.y < NB_LIGNES_SIM + 1 && event.x > 0 && event.x < NB_COL_SIM + 1) {
                    switch (item_actif) {

                        case PLUS :

                            k=0;
                            l=0;

                            for(i = 0;i<36;i+=4){
                                k++;
                                l=0;
                                for(j=19;j<129;j+=11){

                                    if((event.y==i+1 && event.x==j+1)){
                                        ++tab[k][l];
                                        sprintf(tabChar[k][l],"%d",tab[k][l]);
                                        mvwprintw(fen_sim, event.y - 1, event.x - 1, tabChar[k][l]);
                                        wrefresh(fen_sim);
                                        refresh();
                                        break;                                          
                                    }

                                    l++;
                                }

                            }

                        break;
                        case MINUS :

                                k=0;
                                l=0;

            for(i = 0;i<36;i+=4){
              k++;
              l=0;
              for(j=19;j<129;j+=11){

                if((event.y==i+1 && event.x==j+1)){
                  --tab[k][l];
                  sprintf(tabChar[k][l],"%d",tab[k][l]);
                  mvwprintw(fen_sim, event.y - 1, event.x - 1, tabChar[k][l]);
                   wrefresh(fen_sim);
                   refresh();
                    break;

                }

                l++;
              }
            }



            }
                    }
                }



            }
    }

我觉得将所需的函数封装到一个甚至有助于思考过程的列表中真是太棒了。

这种做法的模式是什么?

0 个答案:

没有答案