エントリー

※注意:このエントリーは、旧日記「Mio Diary Code:P」からデータを移管したものです。

Perl のコーディングスタイルに関して・パート2
 今回は、Perl での 代入演算子 や 三項演算子 の記述方法について。

代入演算子

Perl では、長い式は代入演算子の前で折り返すとです。

# 推奨
$equilibrium_potential_val
    = ( ( $GAS_CONST * $TEMP ) / ( $z * $FARADAY_CONST) )
      * log( $ion_out_concentration / $ion_in_concentration );

# 非推奨
$equilibrium_potential_val =
    ( ( $GAS_CONST * $TEMP ) / ( $z * $FARADAY_CONST) )
      * log( $ion_out_concentration / $ion_in_concentration );

# 非推奨
$equilibrium_potential_val = ( ( $GAS_CONST * $TEMP ) / ( $z * $FARADAY_CONST) )
                             * log( $ion_out_concentration
                             / $ion_in_concentration )
                             ;

# 非推奨
$equilibrium_potential_val = (
                                 (
                                     $GAS_CONST * $TEMP
                                 ) / (
                                     $z * $FARADAY_CONST
                                 )
                             ) * log (
                                 $ion_out_concentration / $ion_in_concentration
                             )
                             ;

 

あっ、これは遵守できてなかった。私は、代入先変数の後ろに代入演算子を置きまくり。

 

三項演算子

Perl では、三項演算子は列で統一するとです。

一連の三項演算子
# 推奨
my $mode = $query{mode} eq $EMPTY_STR         ? 'user'
         : $query{mode} =~ m/^admin-(.*) /xms ? "administrator_\1"
         : $query{mode} =~ m/^pub-(.*)   /xms ? "publisher_\1"
         : defined $query{mode}               ? "$query{mode}"
         :                                      'user'
         ;

# 非推奨
my $mode = $query{mode} eq $EMPTY_STR ? 'user'
         : $query{mode} =~ m/^admin-(.*)/xms ? "administrator_\1"
         : $query{mode} =~ m/^pub-(.*)/xms ? "publisher_\1"
         : defined $query{mode} ? $query{mode} : 'user';
単一の三項演算子
# 推奨
my $name = defined $query{name} ? $query{name}
         :                        'John Doe'
         ;

# 非推奨
my $name = defined $query{name} ? $query{name} : 'John Doe';

 

えっ、これ遵守するの、無理ゲーじゃない?

 

#####コメント#####

本日のツッコミ
tako - 2010/05/17 (月) 12:06
ムリダナ。><

ページ移動

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
登録フォーム
名前 *
URL
コメント *
閲覧制限 *
【スパム対策】 2 × 2 × 2 = ? (半角数字で)

ユーティリティ

user profile

calendar

102024/1112
S M T W T F S
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

tag cloud