2007年2月18日 星期日

Ruby:max, min, substring

string methods裡沒看到substr之類的,google一下發現又是一個搞錯方向的問題,因為ruby的array operator太強了, 不需要substr。例:

“flying camel”[-5..-1] # results to “camel”

用新語言時常遇到這種事,其它語言的常見問題,在另一個世界裡完全不是問題,反而找不到解法,在那世界的人壓根就沒煩惱過這事,自然沒有文件。

找不到Math.max之類的methods也是一樣的情況,因為Math.max本身就是”不直覺”的用法。應該要這麼寫:

[a, b].max
[a, b, c, d, e].max

實務來看,得先生成array,再用array的method “max”,沒有效率,但這樣寫起來其實較合物件的想法,不過我還是覺得max(a, b, c, d)的寫法較對味。

沒有留言:

張貼留言