【徒然】各言語でqw演算子的に書く
Jenkinsを触って、maven(!)を触って、シェルスクリプト触って、Jenkinsを触って、シェルスクリプト触って・・・
という微妙な一日でございました。
アレルギーはなくなったものの、シェルスクリプトは相変わらず不慣れです。
が、for文はググらなくても使えるようになってきましたw
シェルスクリプト
こんな感じ!
#!/bin/bash set -eux DOGS=( pochi hachi taro jiro ) for dog in "${DOGS[@]}"; do echo "$dog" done
で、Perlで言うところのqw演算子的な書き方は便利だなぁと思い、各言語にあるのか調べてみた次第です。
Perl
これこれ。
use v5.12; use warnings; my @DOGS = qw( pochi hachi taro jiro ); for my $dog(@DOGS) { say $dog; }
Ruby
ついでにRubyも。
動くけど、細かいところは自信がありません。
DOGS = %w( pochi hachi taro jiro ) DOGS.each {|dog| puts dog}
JavaScript (Node.js v4)
Node.jsも。
ないけど、それっぽく書けた。。
'use strict'; function qw(text) { return text.trim().split(/\s+/); } const DOGS = qw(` pochi hachi taro jiro `); for (let dog of DOGS) { console.log(dog); }
Python
なさげ。Node.jsと同じくsplit作戦。
DOGS = """ pochi hachi taro jiro """.split() for dog in DOGS: print dog
trimと空白文字の指定が不要な分、Node.jsよりシンプル。
まとめ
書き方に自信がありません。参考程度に。。