web-dev-qa-db-ja.com

ジェイド/パグ(その他の条件の場合)

Node.jsを使用して、.jsファイルから.jadeファイルに日付を送信しています。 #{date}フィールドがfalseの場合、elseを実行してmanを応答として出力します。何がうまくいかないのでしょうか?

if #{date} == false
  | #{date}
else
  | man
18
Kumar Kailash

日付がfalseの場合、文字列「man」を出力しますか?はいの場合、あなたのifおよびelseステートメントは間違った方法です...

どうですか:

if date
  = date
else
  | man

あるいは:

| #{date ? date : 'man'}

または単に:

| #{date || 'man'}
31
Mike Causer

If式内では、#{...}なしでプレーンな変数名を記述します

if date == false
  | #{date}
else
  | man
9
Marc

あなたの発言は逆だった。構文については、このスタイルを使用して作業できます。

p Date:
  if date
    | date
  else
    |  man

式内で#{}を必要としないのは正しいことです。 =を動作させることができなかった、または他の回答で他の方法を使用できませんでした。

三元スタイル

私自身も、1行でこれを行うための3項演算子を探していました。私はそれをこれまで削りました:

p Date: #{(date ? date : "man")}

または、varを使用して、1行追加することもできますが、OPよりも行数は少なくなります。

- var myDate = (date ? date : "man")
p Date: #{myDate}

別の答えで示唆されているように、私は以下を機能させることができませんでした。

| #{date ? date : 'man'}
2
blamb