あなたも使ってみたくなる! いろんな言語のかっこいい書き方まとめ
あなたも使ってみたくなる! いろんな言語のかっこいい書き方まとめ:
いろんな言語で、思わず「かっこいい!」「使ってみたい!」と思ってしまう書き方をまとめました。
Swift といえば
if文と合わせて書くと気持ちいいことこの上ない
かっこいい!!
Swift といえば
例えば
例えばこのクラスを返すメソッドがあるとすると、こんな書き方ができます。
これを使いこなせたら、気持ちいいでしょうね!
Python といえばリスト内包表記でしょう。
他の言語でいういわゆる
さすがPython! おれたちにできない事を平然とやってのけるッ!
そこにシビれる!あこがれるゥ!!
しかもこれ、 if 文がつけれちゃいます。
みたいな。
なにこの書き方。天才かよ。
さらに
鬼か。1行で書かないと死ぬ病気か。
Python には、
どうですか? 書きたくてうずうずしてきましたね。
Javascript からは、
まずは
変数がすでに定義されていると
スマートですよね。効率化したいという精神がにじみ出てます。
あと、変数への分割代入も捨てがたいです。
最初見たときは、何してんだこれ、って思いましたが、慣れると気持ちいいんですよね。
書きながら フフッ とニヤけてしまうこと受け合いです。
Rubyは構文ではなく、メソッドです。残念ながら構文としてはそれほどかっこいい構文が思いつきませんでした。
Ruby で大好きなメソッドです。
理解するまでは、「ん? よくわからんからもう一度説明して」を無限ループしてしまうメソッドですね。
例えば、このように使います。
params を返しつつ、 params の内容を更新しているというものです。
このやったった感、たまりませんね。
RubyKaigi2018 ではこのネーミングをつけたMatzへのバッシングが多かった
これを使うと気持ちよく chain ができます。
こんな具合にどんどん連鎖できるわけですね。
メソッド
正直たまらん
どうでしたか?
いろんな言語を書きたくなりましたよね。
次の機会に他の言語のかっこいい書き方も紹介していきたいと思います。
また、俺はこんなかっこいい書き方知ってるぜ!という方々、 ぜひコメント欄で暴れていただきたい 。
いろんな言語で、思わず「かっこいい!」「使ってみたい!」と思ってしまう書き方をまとめました。
Swift
Optional と if
Swift といえば Optional ですよね。if文と合わせて書くと気持ちいいことこの上ない
Optional ですよね// specialObject.value が Optional 型だったとすると
if let value = specialObject.value {
// nilじゃないときの処理
...
}
- 変数定義
- nilかどうかのif
- 代入された変数にはOptionalが取れる
Enum と switch
Swift といえば Enum のことも忘れてはいけません。例えば
Enum を下記のように定義しているとします。enum Result<Value> {
case success(Value)
case failure(Error)
}
load { result in
switch result {
case .success(let data):
// 成功時の処理
case .failure(let error):
// 失敗時の処理
}
}
result の Enum の値を switch 文で分岐しつつ、どの値かによって返ってくるデータを変数に入れるという、なぜかわからないがすごいことをしている気分になれる書き方ですね。これを使いこなせたら、気持ちいいでしょうね!
参考URL:https://www.swiftbysundell.com/posts/the-power-of-result-types-in-swift
Python
Python といえばリスト内包表記でしょう。他の言語でいういわゆる
map 関数のような動作を for 文でやるという奇想天外な発想。[ i*2 for i in nums ]
for 文の両側に カッコを付けると map みたいに動くんですね。さすがPython! おれたちにできない事を平然とやってのけるッ!
そこにシビれる!あこがれるゥ!!
しかもこれ、 if 文がつけれちゃいます。
[ i*2 for i in nums if i % 2 == 0]
なにこの書き方。天才かよ。
さらに
[ i*2 if i % 2 == 1 else i*3 for i in nums ]
else までつけれちゃいました。鬼か。1行で書かないと死ぬ病気か。
Python には、
map や reduce なんて使わず何がなんでも for 文でやってしまいたいという「スゴ味」があるッ!どうですか? 書きたくてうずうずしてきましたね。
Javascript
Javascript からは、ES6 で導入された書き方でかっこいいものを紹介します。まずは
Shorthand property names ですね。// すでに変数 a, b が定義されているとする
{ a, b}
// => { a: a, b: b } と同義
key を省略できるんですね。スマートですよね。効率化したいという精神がにじみ出てます。
あと、変数への分割代入も捨てがたいです。
// obj = { a: 'are', b: 'boa', c: 'core' } とする
let { a, b } = obj;
書きながら フフッ とニヤけてしまうこと受け合いです。
Ruby
Rubyは構文ではなく、メソッドです。残念ながら構文としてはそれほどかっこいい構文が思いつきませんでした。
tap
Ruby で大好きなメソッドです。 tap メソッドは、実行したオブジェクトをリターンしつつ、そのオブジェクトを yield するというメソッドです。理解するまでは、「ん? よくわからんからもう一度説明して」を無限ループしてしまうメソッドですね。
例えば、このように使います。
params.tap { |p| p.test = 'aaa' if p.a == nil }
このやったった感、たまりませんね。
then
RubyKaigi2018 ではこのネーミングをつけたMatzへのバッシングが多かった then です。then は実行したオブジェクトを yield しつつ、 ブロックの返り値を返します。これを使うと気持ちよく chain ができます。
1.then { |x| x + 1 }.then { |y| y + 1 }
=> 3
メソッド
chain ってやるだけでなんかできるエンジニア感が出て俺スゲーって謎の優越感に浸れるんですよ。正直たまらん
終わりに
どうでしたか?いろんな言語を書きたくなりましたよね。
次の機会に他の言語のかっこいい書き方も紹介していきたいと思います。
また、俺はこんなかっこいい書き方知ってるぜ!という方々、 ぜひコメント欄で暴れていただきたい 。
コメント
コメントを投稿