Memoize

BasicWerk   EC Support   Technique   Facebook  

20140611165924_factor_max_length_string

factor_max_length_string

 

一番長い文字列を取得してみよう。

 

使えるパーツ。

 
IN: scratchpad auto-use "aaa" length .
3
 
IN: scratchpad auto-use 1 2 max .
2
 
IN: scratchpad auto-use { 1 2 3 } 0 [ max ] reduce .
3
 

 

文字列のリストに対してそれぞれの長さのリストを map で作り、長さの最大値と一致する文字列だけ filter する。

 
IN: scratchpad auto-use { "aaa" "aaab" "aaabc" "aaacb" }
 
--- Data stack:
{ "aaa" "aaab" "aaabc" "aaacb" }
 
IN: scratchpad auto-use dup [ length ] map
 
--- Data stack:
{ "aaa" "aaab" "aaabc" "aaacb" }
{ 3 4 5 5 }
 
IN: scratchpad auto-use 0 [ max ] reduce
 
--- Data stack:
{ "aaa" "aaab" "aaabc" "aaacb" }
5
 
! _ に 5 がセットされる
IN: scratchpad auto-use '[ length _ = ] filter .
{ "aaabc" "aaacb" }
 

 


© Shin Nakamura/BasicWerk 2014