package Ġcom . kotlin . in action . chapter _ 8 Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author Ġw zc Ċ Ġ* Ġ@ date Ġ 2 0 1 9 / 6 / 2 Ċ Ġ*/ Ċ data Ġclass ĠSite Visit 4 ( ĊĠĠĠ Ġval Ġpath : ĠString , ĊĠĠĠ Ġval Ġduration : ĠDouble , ĊĠĠĠ Ġval Ġos : ĠOS 4 Ċ ) Ċ Ċ enum Ġclass ĠOS 4 Ġ{ ĠWINDO WS , ĠLIN UX , ĠMAC , ĠIOS , ĠAND ROID Ġ} Ċ Ċ val Ġlog 4 Ġ= Ġmutable ListOf ( ĊĠĠĠ ĠSite Visit 4 ("/", 3 4 . 0 , ĠOS 4 . WINDOWS ), ĊĠĠĠ ĠSite Visit 4 ("/", 2 2 . 0 , OS 4 . MAC ), ĊĠĠĠ ĠSite Visit 4 ("/ login ", 1 2 . 0 , OS 4 . WINDOWS ), ĊĠĠĠ ĠSite Visit 4 ("/ signup ", 8 . 0 , OS 4 . IOS ), ĊĠĠĠ ĠSite Visit 4 ("/", 1 6 . 3 , OS 4 . ANDROID ) Ċ ) Ċ Ċ fun ĠList < Site Visit 4 >. aver ate Duration For ( predicate : Ġ( Site Visit 4 ) Ġ-> ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠ Ġfilter ( predicate ). map ( Site Visit 4 :: duration ). average () Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġprintln ( log 4 . aver ate Duration For Ġ{ Ġit . os Ġin Ġset Of < OS 4 >( OS 4 . ANDROID , ĠOS 4 . IOS ) Ġ}) ĊĠĠĠ Ġprintln ( log 4 . aver ate Duration For Ġ{ Ġit . os Ġ== ĠOS 4 . IOS Ġ&& Ġit . path Ġ== Ġ"/ signup " Ġ}) Ċ } Ċ Ċ /** Ċ Ġ* Ġ æĢ» ç»ĵ ï¼ļ Ċ Ġ* Ġ 1 ï¼Į çĶ¨ ä¸Ģä¸ª é«ĺ éĺ¶ åĩ½æķ° åİ» éĻ¤ éĩįå¤į ä»£çłģ ; Ċ Ġ* Ġ 2 , Ġä½¿çĶ¨ Ġlambda Ġä¸į ä»ħ åı¯ä»¥ æĬ½ åıĸ éĩįå¤į çļĦæķ°æį® ï¼Į è¿ĺ åı¯ä»¥ æĬ½ åıĸ éĩįå¤į çļĦ è¡Įä¸º ãĢĤ Ċ Ġ*/