名前はまだない。

プログラミングのことや趣味のことに関して綴ります。

いろんな言語でワンライナーfizzbuzz

タイトル通り、いろんな言語でFizzBuzzワンライナーをしてみた。
FizzBuzzに関してはこちらを参照のこと。

Java*1

Javaでワンライナーfizzbuzz

型に厳格なJavaは条件評価時に0や""(空文字),nullをfalseとしてくれないのでこういう時めんどい・・・
悪く言うと、Javaはこういったサクッとしたタスクを書くのには適していないということがわかりますね

Ruby

rubyでワンライナーfizzbuzz

流石はRubyといったところか
Ruby初心者の私でもこんなにスッキリとしたコードを書くことが出来た
一応、今回書いたコード中で一番バイト数が少ないのがこの言語

PHP

phpでワンライナーfizzbuzz

久しぶりにPHP書いた時、文字列結合を間違えて+にしちゃうあるある
糞分かりづらいので+に統一してくださいお願いします

JavaScript

JavaScriptでワンライナーfizzbuzz

地味に小技を使っているJavaScriptのコード
個人的にfor文を使っているのがいただけない
ということでES6の力を借りて書き直したのがこちら↓

ES6でワンライナーfizzbuzz

...で配列を展開することが出来るSpread operatorを使用している
アロー演算子(ラムダ式)気持ちイィ!!

Perl

perlでワンライナーfizzbuzz

個人的に結構好きなPerlのコード
書いていてなんだか楽しい気分になっていた
範囲演算子好き

kotlin*2

kotlinでワンライナーfizzbuzz

(・8・)チュンチュン!!
kotlinには三項演算子は存在しないので、when式を代用
kotlinはif文とかswitch文ではなく、if式、when式なところが結構好き
式なのでつまり返却値があるということですね
これが三項演算子が不要な理由でもあります
あと、クロージャに渡されている値を暗黙的にitで呼べるのも好きです

最後に

バイト先の新人研修の課題としてFizzBuzzが出ていたので、そのノリに便乗して書きだしたのが始まりでした。
あと、Gistの貼り付けがしてみたかったなんて理由もあったり。
今度から軽いコードはGistを通じてこちらにピックアップする形で行きたいと思います。

*1:import文やclass、mainメソッドの宣言は省略してあります

*2:Javaに同じく