Skip to content

Instantly share code, notes, and snippets.

@kaz-utashiro
Last active March 12, 2019 09:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kaz-utashiro/7984349 to your computer and use it in GitHub Desktop.
Save kaz-utashiro/7984349 to your computer and use it in GitHub Desktop.
1行しか必要でない変数をどうやって宣言するかという話。カッコいい書き方はないものだろうか。
## なんとなく嫌だ
my %seen;
@opt_icode = grep { not $seen{$_}++ } @opt_icode;
## ダサい
{
my %seen;
@opt_icode = grep { not $seen{$_}++ } @opt_icode;
}
## 頭はいいがお尻がダサい
do {
my %seen;
@opt_icode = grep { not $seen{$_}++ } @opt_icode;
};
## 悪くないが、入れようかやめようか悩んでる感じがする
if (1) {
my %seen;
@opt_icode = grep { not $seen{$_}++ } @opt_icode;
}
## いっその事コメントを書いてしまうとか
if ("unify duplicated entries") {
my %seen;
@opt_icode = grep { not $seen{$_}++ } @opt_icode;
}
## やや違和感あるが、これが一番マシな気がする…
if (my %seen, 1) {
@opt_icode = grep { not $seen{$_}++ } @opt_icode;
}
## これはない
unless (my %seen, 0) {
@opt_icode = grep { not $seen{$_}++ } @opt_icode;
}
## 綺麗だが意味がわからない
unless (my %seen) {
@opt_icode = grep { not $seen{$_}++ } @opt_icode;
}
## if の方がすっきりするがやっぱり意味不明
if (not my %seen) {
@opt_icode = grep { not $seen{$_}++ } @opt_icode;
}
## ビジュアル的にはこれがいいかもね_
## ロジックも破綻してないし
if (my %seen or 1) {
@opt_icode = grep { not $seen{$_}++ } @opt_icode;
}
## こうしてもいいけど
if (my %seen = () or 1) {
@opt_icode = grep { not $seen{$_}++ } @opt_icode;
}
## こうかな
@opt_icode = do {
my %seen;
grep { not $seen{$_}++ } @opt_icode;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment