challenge 変数の初期値

WEB+DB 43のRecent Perl Worldを読んで知りました。

変数を初期化するに当たってPerlでは
my $var ||= 'foo';
とかきます。この不備を補うためPerlの5.10には
Defined-or演算子が実装されたそうです。
$zero //= 25;
このような変数のデフォルト設定を行う方法を各種言語ではどうかくのでしょうか。


Posted feedbacks - Batchfile

バッチでは、if文に defined条件を指定することで変数が定義されているかどうか調べる
ことができます。

使いどころは様々ですが、一例を挙げれば、Windows NTとWindows 2000以降の cmd.exeの
実装の差異を吸収することが可能です。

  e.g.
    Windows NTの場合
      C:\>echo %DATE%
      %DATE%           <- 環境変数DATEは実装されていないため、変数展開されない。

      C:\>date.bat
      2008/03/09

    Windows 2000の場合
      C:\>echo %DATE%
      2008/03/09

      C:\>date.bat
      2008/03/09
1
2
3
4
5
6
7
:: date.bat
@echo off
  setlocal
    if not defined DATE for /f %%d in ('date /t') do set DATE=%%d
    echo %DATE%
  endlocal
goto :EOF

Index

Feed

Other

Link

Pathtraq

loading...