join() 函數(shù)是將兩個列表連接合并成一個列表。
>> join(10px 20px, 30px 40px) (10px 20px 30px 40px) >> join((blue,red),(#abc,#def)) (#0000ff, #ff0000, #aabbcc, #ddeeff) >> join((blue,red),(#abc #def)) (#0000ff, #ff0000, #aabbcc, #ddeeff)
不過 join() 只能將兩個列表連接成一個列表,如果直接連接兩個以上的列表將會報錯:
>> join((blue red),(#abc, #def),(#dee #eff)) SyntaxError: $separator: (#ddeeee #eeffff) is not a string for `join'
但很多時候不只碰到兩個列表連接成一個列表,這個時候就需要將多個 join() 函數(shù)合并在一起使用:
>> join((blue red), join((#abc #def),(#dee #eff))) (#0000ff #ff0000 #aabbcc #ddeeff #ddeeee #eeffff)
在 join() 函數(shù)中還有一個很特別的參數(shù) $separator,這個參數(shù)主要是用來給列表函數(shù)連接列表值是,使用的分隔符號,默認(rèn)值為 auto。
join() 函數(shù)中 $separator 除了默認(rèn)值 auto 之外,還有 comma 和 space 兩個值,其中 comma 值指定列表中的列表項值之間使用逗號(,)分隔,space 值指定列表中的列表項值之間使用空格( )分隔。
在 join() 函數(shù)中除非明確指定了 $separator值,否則將會有多種情形發(fā)生:
如果列表中的第一個列表中每個值之間使用的是逗號(,),那么 join() 函數(shù)合并的列表中每個列表項之間使用逗號,分隔:
>> join((blue, red, #eff),(green orange)) (#0000ff, #ff0000, #eeffff, #008000, #ffa500)
但當(dāng)?shù)谝粋€列表中只有一個列表項,那么 join() 函數(shù)合并的列表項目中每個列表項目這間使用的分隔符號會根據(jù)第二個列表項中使用的,如果第二列表項中使用是,分隔,則使用逗號分隔;如果第二列項之間使用的空格符,則使用空格分隔:
>> join(blue,(green, orange)) (#0000ff, #008000, #ffa500) >> join(blue,(green orange)) (#0000ff #008000 #ffa500)
如果列表中的第一個列表中每個值之間使用的是空格,那么 join() 函數(shù)合并的列表中每個列表項之間使用空格分隔:
>> join((blue green),(red,orange)) (#0000ff #008000 #ff0000 #ffa500) >> join((blue green),(red orange)) (#0000ff #008000 #ff0000 #ffa500)
如果當(dāng)兩個列表中的列表項小于1時,將會以空格分隔:
>> join(blue,red) (#0000ff #ff0000)
如此一來,會有多種情形發(fā)生,造成使用混亂的情形,如果你無法記得,什么時候會是用逗號分隔合并的列表項,什么時候是使用空格分隔合并 的列表項,在些建議大家使用 join() 函數(shù)合并列表項的時候就明確指定 $separator 參數(shù),用來指定合并的列表中使用什么方式來分隔列表項:
>> join(blue,red,comma) (#0000ff, #ff0000) >> join(blue,red,space) (#0000ff #ff0000) >> join((blue green),(red,orange),comma) (#0000ff, #008000, #ff0000, #ffa500) >> join((blue green),(red,orange),space) (#0000ff #008000 #ff0000 #ffa500) >> join((blue, green),(red,orange),comma) (#0000ff, #008000, #ff0000, #ffa500) >> join((blue, green),(red,orange),space) (#0000ff #008000 #ff0000 #ffa500) >> join(blue,(red,orange),comma) (#0000ff, #ff0000, #ffa500) >> join(blue,(red,orange),space) (#0000ff #ff0000 #ffa500) >> join(blue,(red orange),comma) (#0000ff, #ff0000, #ffa500) >> join(blue,(red orange),space) (#0000ff #ff0000 #ffa500)
你可以寫出下面函數(shù)運行出的結(jié)果嗎?
請驗證,完成請求
由于請求次數(shù)過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報