地方の中小システム開発会社で勤務している、MeguMegu1978といいます。こんにちは。
さて、システム開発の現場で各種メッセージサービスを使うことも珍しくなくなりましたが、そんなメッセージサービス上でのやりとりの中で、"はい"の代わりに"ほい"とその亜種を使っているうちに「役職の数に応じて、"ほ"の数が決まる」という謎の仕様が策定されて、社内のエンジニアが役職に応じた"ほい"は何なのか、がわかるJavascriptを作ってくれました。
仕様
担当:ほい
主任:ほほい
係長:ほほほい
課長:ほほほほい
部長:ほほほほほい
…なんのこっちゃ。
最初はSwiftのFizzBuzzでも…と思っていたんですが、"swift fizzbuzz"で検索すると既に先駆者がたくさんヒットして新鮮味がないので、この地方の小さな会社で策定された仕様とJavascriptのコードをSwiftに移植する事にしました。
CUIなSwiftアプリを動かす環境構築手順なんかは割愛しています。
import Cocoa
enum Result {
case Success(String)
case Error(String)
}
func getHoiFromNumber(arg: Int?) -> Result {
if (arg != nil ){
var output = "";
for (var i = 0; i <= arg; i++) {
output += "ほ";
}
output += "い";
return Result.Success(output)
} else {
return Result.Error("Error!.")
}
}
var arg: AnyObject! = NSFileHandle.fileHandleWithStandardInput()
while true {
if let data = arg.availableData {
let str: NSString? = NSString(data: data, encoding: NSUTF8StringEncoding)
var i: Int? = str.toInt()
print(getHoiFromNumber(i))
}
}