Avatar
↓これ確かにできるんだけど、特殊化がきつい気がする。再帰関数を再帰インライン展開することとかあるのかな? // as pseudo syntax. func squares<(T: Numeric)...>(of values: T...) -> (T...) { switch values { case (): return () case let (t, ts...): return (t * t, squares(ts)...) } } (edited)
5:37 AM
再帰インライン展開自体は世の中に存在するのか。 Swift にはあるのかな。 https://stackoverflow.com/questions/190232/can-a-recursive-function-be-inline
inline int factorial(int n) { if(!n) return 1; else return n*factorial(n-1); } As I was reading this, found that the above code would lead to "infinite compilation" if not handled by compi...