特に転職したいというわけではないが、最近あまりコードを書いていなかったのとキッカケがありpaizaの問題を解いている。
大抵の問題はレベルによって様々だが一番簡単なもので数分、難しいものでも2時間程度で解けるようなものが多い。 Swiftで解いていたが、Swiftに飽きてきたので他の言語でもやってみようと思う。この記事では、Swiftでよく使った関数と他の言語の対応表を作って素早く問題が解けるようにしたい。
Swift | Ruby | |
---|---|---|
入力 | readLine() | gets |
出力 | print() | puts |
0からn未満までのRange | 0..<n | 0...n |
String→Int | Int(s) | s.to_i |
Int→String | String(i) | i.to_s |
Number format | import Foundation*1 String(format: "%04d", 12) |
format("%04d", 12)*2 |
map | .map {(s) in s} | .map {|s| s} |
each | .forEach{(s) in print(s)} | .each {|s| in puts s} |
filter | .filter {(i) in i % 2} | .select {|i| in i % 2} |
reduce | .reduce(0) {(r, i) in r + i} | .inject(0) {|r, i| in r + i} |
split | .split(separator: " ") | .split(" ") |
join | joined(separator: " ") | join(" ") |