<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Jcat
    寵辱不驚,閑看庭前花開花落~~
    posts - 173,comments - 67,trackbacks - 0

    1. 閉包代表(定義)了一段代碼(操作):光看這一句,其實(shí)方法也能實(shí)現(xiàn)相同的功能呀。
    2. 閉包可以作為方法的參數(shù):這才是閉包的特殊之處和真正意義。


    下面演示一個(gè)只有閉包能做,方法做不到的例子。

    方法的作用是提煉共性,再代之以不同的參數(shù)。即對(duì)不同的“數(shù)據(jù)”進(jìn)行相同的“操作”。從3個(gè)loop可以看出:
    ????Comm1:相同的數(shù)據(jù)
    ????Comm2:相同的for循環(huán)
    ????Diff1:循環(huán)體內(nèi)執(zhí)行的操作不同

    Comm1很好搞定,參數(shù)aa就是提煉出的共性
    Comm2看似是共性,卻很難提煉,因?yàn)閒or循環(huán)和循環(huán)體內(nèi)的操作實(shí)際是一個(gè)整體;Comm2被Diff1糾纏,3個(gè)loop是完全不同的3組操作,無法提煉。

    比如,如果現(xiàn)在想要按照奇數(shù)循環(huán),只能依次改動(dòng)三個(gè)循環(huán)。?

    int []?aa? = ?[ 1 ,? 2 ,? 3 ,? 4 ,? 5 ,? 6 ]

    // ?loop1
    for ?( int ?i? = ? 0 ;?i? < ?aa.length;?i ++ )?{
    ????println?aa[i]
    }

    // ?loop2
    for ?( int ?i? = ? 0 ;?i? < ?aa.length;?i ++ )?{
    ????print?aa[i]
    }

    // ?loop3
    for ?( int ?i? = ? 0 ;?i? < ?aa.length;?i ++ )?{
    ????print?aa[i]?
    + ? ' ? '
    }
    ????????

    // ?loop1
    for ?( int ?i? = ? 0 ;?i? < ?aa.length;?i? += ? 2 )?{
    ????println?aa[i]
    }

    // ?loop2
    for ?( int ?i? = ? 0 ;?i? < ?aa.length;?i? += ? 2 )?{
    ????print?aa[i]
    }

    // ?loop3
    for ?( int ?i? = ? 0 ;?i? < ?aa.length;?i? += ? 2 )?{
    ????print?aa[i]?
    + ? ' ? '
    }


    下面我們看看閉包的強(qiáng)大之處,Comm1和Comm2都被很好的封裝在了loop方法里;Diff1則作為參數(shù)(閉包)傳入loop方法。

    static?void?main(String[]?a)?{
    ????
    int[]?aa?=?[1,?2,?3,?4,?5,?6]

    ????loop(aa)?{?println?it }
    ??? loop(aa)?{?print?it?}???
    ??? loop(aa)?{?print?it?
    +?'?'?}
    }
    如果我們想要改變循環(huán)的方式,只需要改一處
    static?void?loop(int[]?aa,?Closure?c)?{
    ????
    for?(int?i?=?0;?i?<?aa.length;?i++)?{
    ????????c.call(aa[i])
    ????}
    ????println?
    '?'
    }
    static?void?loop(int[]?aa,?Closure?c)?{
    ????
    for?(int?i?=?0;?i?<?aa.length;?i?+=?2)?{
    ????????c.call(aa[i])
    ????}
    ????println?
    '?'
    }

    總結(jié),閉包本身并沒什么難點(diǎn),關(guān)鍵是怎樣合理的設(shè)計(jì)一個(gè)接受Closure類型參數(shù)的方法。從GDK的方法也可以看出,大多數(shù)接受閉包的方法都是和數(shù)組迭代有關(guān)(也即循環(huán))。
    posted @ 2008-11-07 02:04 Jcat 閱讀(1560) | 評(píng)論 (2)編輯 收藏

    Definition

    ??? /*
    ????????1.?變量是用來裝“數(shù)據(jù)”的,閉包就是用來裝“操作”的
    ????????2.?和定義一個(gè)方法一樣,閉包也可以有入?yún)?br />???????
    */
    ????????Closure?p?
    = ?{x? ->
    ????????????print?x?
    + ? ' ? '
    ????????}
    ????????[
    1 ,? 2 ,? 3 ].each(p)

    ????????[
    4 ,? 5 ,? 6 ].each({x? -> ? // ?閉包是可以匿名的
    ????????????print?x? + ? ' ? '
    ????????})

    ????????[
    7 ,? 8 ,? 9 ].each?{x? -> ? // ?括號(hào)是可以省略的
    ????????????print?x? + ? ' ? '
    ????????}

    ????????[
    10 ,? 11 ,? 12 ].each?{? // ?it是默認(rèn)的參數(shù)名字,所以這里連入?yún)⒌亩x都省了
    ????????????print?it? + ? ' ? '
    ????????}


    Using

    package?jcat.bit

    class?Test?{
    ????
    /*
    ????1.?閉包是對(duì)象,是Closure類的實(shí)例,所以:
    ????????1)可以在類里定義Closure類型的屬性
    ????????2)可以在方法里定義Closure類型的變量
    ????????3)可以定義一個(gè)方法,接收Closure類型的參數(shù)
    ????2.?閉包又有方法特質(zhì),畢竟它裝的是“操作”,甚至可以像調(diào)用方法一樣調(diào)用閉包
    ?????
    */

    ????
    static?final?Closure?PRINT_STR?=?{??//?屬性(類變量)
    ????????println?it
    ????}


    ????
    static?void?main(String[]?a)?{
    ????????
    /*
    ????????閉包類似Java的內(nèi)部類,區(qū)別是閉包只有單一的方法可以調(diào)用,但可以有任意的參數(shù),
    ????????閉包用“{}”括起,“->”前面是參數(shù),后面是處理語句,可以直接調(diào)用,也可以使
    ????????用call調(diào)用。不管那種調(diào)用,最后groovy編譯器都會(huì)把編譯成對(duì)doCall方法的調(diào)用,
    ????????這是groovy對(duì)閉包的一個(gè)隱藏方法。
    ?????????
    */
    ????????PRINT_STR(
    "像方法一樣調(diào)用")
    ????????PRINT_STR.call(
    "作為Closure的實(shí)例,再調(diào)用相應(yīng)的方法")


    ????????Closure?printLength?
    =?{String?s?->??//?局部變量
    ????????????println?s.length()
    ????????}
    ????????printLength(
    "AAA")

    ????????
    /*
    ????????通常,操作是死的,我們能動(dòng)態(tài)代入的是“數(shù)據(jù)”。
    ????????閉包使得我們可以動(dòng)態(tài)的代入一段“操作”。
    ????????“閉包是可以用作方法參數(shù)的代碼塊。”
    ?????????
    */
    ????????closureAsParameter(
    null,?printLength)
    ????????closureAsParameter(
    "BBB",?PRINT_STR)
    ????}

    ????
    static?void?closureAsParameter(String?s,?Closure?c)?{
    ????????
    if?(s?!=?null)?{
    ????????????c.call(s)
    ????????}
    ????}
    }



    -----------------------------------------------------------------
    附上一個(gè)Java的匿名內(nèi)部類的例子,用來和閉包對(duì)比一下。
    package?jcat.bit;

    public?class?AnonymousInnerClass?{
    ????
    public?static?void?main(String[]?args)?{
    ????????AbsClass?a?
    =?new?AbsClass()?{
    ????????????
    public?void?foo(String?s)?{
    ????????????????System.out.println(s);
    ????????????}
    ????????};

    ????????a.foo(
    "ABC");

    ????????AbsClass?b?
    =?new?AbsClass()?{
    ????????????
    public?void?foo(String?s)?{
    ????????????????System.out.println(s.length());
    ????????????}
    ????????};
    ????????b.foo(
    "ABC");
    ????}
    }

    abstract?class?AbsClass?{
    ????
    public?abstract?void?foo(String?s);
    }
    posted @ 2008-11-06 18:50 Jcat 閱讀(363) | 評(píng)論 (0)編輯 收藏
    2008

    10-25 Bind the thief's arms with rope.

    10-26 Beer tests bitter.

    10-27 This pocketknife has two blades.

    10-28 If you don't do the work well, you will incur blame.

    10-29 My mind was a total blank.

    10-30 A blast of wind stirred up the dust.

    10-31 The two brothers bled for their country and died happily.

    11-1? His manner was a blend of friendliness and respect.

    11-2 He gets an awful bloody nose.

    11-3 The roses are in bloom.

    11-4 The mother often boasts to the neighbors about the success of her children.

    11-5 It is very bold of them to venture to travel by sea.

    11-6 The bolts are all tight enough.

    11-7 The terrorists planted a bomb in the building.

    11-8 Comment interests form a bond between us.

    11-9 I've booked you in at the hotel.

    11-10 China is having a great boom in real estate.

    11-11 This new technology will boost the production by 30% next year.

    11-12 The criminal escaped over the border.

    11-13 I am bored by his tedious talk.

    11-14 The football bounced off the goal-post.

    11-15 You are bound to succeed.

    11-16 The new boundaries of the country were fixed after war.

    11-17 The arrow was still held in the bow.

    11-18 The brake didn't work.

    11-19 He has his own brand of humour.

    11-20 He has traveled the length and breadth of China.

    11-21 Tom was bred up as a sailor.

    11-22 We enjoyed the cool breeze that came from the lake.

    11-23 Next Sunday Alvon will become AFu's bride.

    11-24 Be brief and to the point.
    posted @ 2008-11-05 23:53 Jcat 閱讀(307) | 評(píng)論 (0)編輯 收藏
    最近BI的項(xiàng)目不忙,抽空懷念了一下編程技術(shù):

    1. <Flex 3> 同事給了我份Flex的教程,把前三章看了一下,有了初步的了解;FlexBuilder也用了一把,不錯(cuò),效果很絢麗。

    2. <IDEA 8> 恰逢IDEA 8 EAP (Early Access Preview)發(fā)布,搞了一個(gè)裝上試試。主要試了試對(duì)Flex的支持,感覺還有待提升。另外IDEA對(duì)內(nèi)存的消耗似乎越來越多了,沒做深入體驗(yàn)。

    3. <Grails 1.0.3> 拿出了小二去年送我的生日禮物《Grails權(quán)威指南》,翻了翻,Hello World一會(huì)就做好了。打算再進(jìn)一步體驗(yàn)一下。
    posted @ 2008-11-04 22:04 Jcat 閱讀(207) | 評(píng)論 (0)編輯 收藏
    Boa
    這是飛俠兄做的Flex網(wǎng)站,很好玩。
    posted @ 2008-10-22 21:14 Jcat 閱讀(204) | 評(píng)論 (0)編輯 收藏
    2008

    國慶這個(gè)假放的,一直沒背單詞,又要慢慢追趕了。


    9-25
    All bacteria are larger than viruses.

    9-26
    The thief has gotten into the room off the balcony.

    9-27
    The treaty bans all nuclear tests.

    9-28
    On their way back home, they encountered a band of robbers.

    9-29
    We heard the bang of a gun.

    9-30
    The company went bankrupt.

    10-1
    The patriots hold aloft the banner of independence.

    10-2
    He opened a snake bar.
    They barred the street to traffic.

    10-3
    The path leads to a bare hill.

    10-4
    He barely remembered anything she has said that day.

    10-5
    I make a fair bargain with the shopkeeper.

    10-6
    The dog always barks at strangers.

    10-7
    The horses seemed to be satisfied with the comfortable barn.

    10-8
    The river is a natural barrier between these two nations.

    10-9
    Baseball is the national sport of the USA.

    10-10
    Charity towards others is the basis of her philosophy.

    10-11
    The garden was bathed in moonlight.

    10-12
    They were faced with a battery of questions.

    10-13
    She spent her summer vacation in Sanya bay.

    10-14
    Beams support the roof of a house.

    10-15
    I cannot bear BB's nagging any longer.

    10-16
    He has a dense beard.

    10-17
    I have lost my bearings in all this mass of facts.

    10-18
    XX saves money on behalf of BB.

    10-19
    He behaves respectfully toward the elderly.

    10-20
    She was beloved of all who knew her.

    10-21
    Fresh air and good food are beneficial to one's health.

    10-22
    I'll bet you that they will win the next game.

    10-23
    The service included some readings from the Bible.

    10-24
    The dealers are bidding against each other at the auction.
    posted @ 2008-10-14 00:20 Jcat 閱讀(843) | 評(píng)論 (2)編輯 收藏
    2008

    8-25
    I saw the arrest of the thief.

    8-26
    The artificial flowers are quite beautiful.

    8-27
    Please assemble everybody in my office at 3'o clock.

    8-28
    It is hard to assess the impact of the war.

    8-29
    The firm's assets were taken over by the bank.

    8-30
    We assigned tomorrow morning for our meeting.

    8-31
    She spent most of her time associating with her friends.


    9-1
    I assume that you have heart the news.


    9-2
    I proceeded alone on the assumption that he would help.

    9-3
    He was assured a well paying job upon graduation.

    9-4
    Chinese athletes won many golden medals in the Olympic Games.


    9-5
    Attach a label to your suitcase.

    9-6

    Finally he attained his goal.

    9-7
    Her work attitude was poor.

    9-8
    The defendant was represented by his attorney.

    9-9
    What a singularly attractive lady!

    9-10
    My mother attributes her good health to careful living.

    9-11
    Many works of literature and art have a wide and devoted audience.

    9-12
    You will get an automatic increase in pay every year.

    9-13
    Some sailboats have auxiliary engines.

    9-14
    There are no tickets available for Friday's performance.

    9-15
    NY's avenue is famous for its advertising industry.

    9-16
    He avoid answering my question.

    9-17
    We have awaited your coming for days.

    9-18
    The university awarded him an honorary degree.

    9-19
    We are fully aware of the gravity of the situation.


    9-20
    I feel awful this morning.

    9-21

    He feel awkward with women.


    9-22
    He was a reporter by background.

    9-23
    He made a backward step.

    9-24
    Bacon and eggs are my favourite foods.
    posted @ 2008-08-27 23:12 Jcat 閱讀(354) | 評(píng)論 (2)編輯 收藏
    世界強(qiáng)隊(duì)從來不是靠抽簽抽出來的,中國男籃,我愛你!

    “進(jìn)場的時(shí)候,我們把手放在一起,把自己交給這支球隊(duì),同時(shí)也把這支球隊(duì)扛在自己肩上,我們所有的人都在為這個(gè)球隊(duì)努力。” -- 大大的姚明
    posted @ 2008-08-16 21:56 Jcat 閱讀(173) | 評(píng)論 (0)編輯 收藏
    中國體操男團(tuán),背負(fù)四年的壓力,重獲金牌,超感人;

    中國男籃vs西班牙,把世錦賽冠軍逼到打加時(shí),雖敗猶榮;

    中國男足都是Sha Bi,窩囊廢。
    posted @ 2008-08-12 18:54 Jcat 閱讀(234) | 評(píng)論 (0)編輯 收藏
    又堅(jiān)持了一個(gè)月,中間短了4、5天,后來靠每天多背一個(gè),給補(bǔ)了回來。


    7/25/2008
    It is very essential to analyze the causes of his failure.

    7/26/2008
    This is an old family firm founded by their French ancestor.

    7/27/2008
    Can you anchor the boat in this storm?

    7/28/2008
    His family has lived in this ancient city for more than two centuries.

    7/29/2008
    The roof is at an angle of 120 degrees to the walls.
    I would like to hear your angle in this dispute.

    7/30/2008
    The whole nation celebrated cheerfully the fiftieth anniversary of the founding of the PRC.

    7/31/2008
    These flies are annoying me.
    We can annoy the enemy by air raids.

    8/1/2008
    BB's thesis was published in the college annual.

    8/2/2008
    We are not anticipating that there will be much trouble.

    8/3/2008
    The antique dealer has a display of his valuable antiques.

    8/4/2008
    He caused his wife great anxiety by driving a long distance alone.

    8/5/2008
    It's too late now, anyhow.

    8/6/2008
    It was apparent that they all understood.

    8/7/2008
    We are appealing for money to build a teacher's club.

    8/8/2008
    He had no appetite to fight.

    8/9/2008
    He won standing applause after he ended his speech.

    8/10/2008
    This is an appliance for opening cans.

    8/11/2008
    That pretty lady is a hopeful applicant for the position.

    8/12/2008
    They applied to return to China.

    8/13/2008
    They arranged an appointment for next week.

    8/14/2008
    We really appreciate the peace and quite of the countryside.
    They deeply appreciate his thoughtfulness.

    8/15/2008
    The professor is easy to approach

    8/16/2008
    It is appropriate that you should save some money in case you lose your job.

    8/17/2008
    The decision met the committee's approval.

    8/18/2008
    His statement is approximate to the truth.

    8/19/2008
    One should not make an arbitrary decision as to what to do in the future.

    8/20/2008
    DXP is called the general architect of the construction of socialist modernizations in China.

    8/21/2008
    Don't argue with me, just do as you are told.

    8/22/2008
    At later stage, there arose an new problem which seemed insoluble.

    8/23/2008
    We aroused him from his deep sleep.

    8/24/2008
    She has arranged numerous contacts between? XX and BB.
    posted @ 2008-07-28 22:23 Jcat 閱讀(358) | 評(píng)論 (1)編輯 收藏
    僅列出標(biāo)題
    共17頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
    主站蜘蛛池模板: 亚洲香蕉成人AV网站在线观看| 人人爽人人爽人人片av免费 | 亚洲精品色午夜无码专区日韩| 成人免费AA片在线观看| 青青操免费在线视频| 美女羞羞免费视频网站| 亚洲欧洲日韩极速播放| 久久久亚洲欧洲日产国码是AV| 亚洲线精品一区二区三区影音先锋 | 免费观看男人吊女人视频| 美女视频黄a视频全免费网站色| 久久精品国产亚洲av麻豆图片| 亚洲AV无码一区二区三区DV | 精品亚洲福利一区二区| 亚洲中文字幕无码一去台湾 | 免费福利视频导航| 久久国产精品2020免费m3u8| 国产成人精品免费大全| 美女无遮挡免费视频网站| 亚洲日韩精品国产一区二区三区 | 免费专区丝袜脚调教视频| 少妇太爽了在线观看免费视频| 中文字幕看片在线a免费| yellow视频免费看| 中美日韩在线网免费毛片视频| 成人亚洲国产精品久久| 亚洲aⅴ无码专区在线观看春色 | 国产免费不卡v片在线观看| 18禁无遮挡无码国产免费网站| 久久国产精品成人免费| 国内精品久久久久影院免费| 日韩精品无码免费专区网站| 最近国语视频在线观看免费播放| j8又粗又长又硬又爽免费视频| 一级做a爱过程免费视| 国产免费黄色无码视频 | 亚洲高清国产拍精品26U| 亚洲av网址在线观看| 亚洲的天堂av无码| 亚洲av日韩av无码av| 亚洲熟女综合一区二区三区|