人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP で、あるデータが存在したら、その値を代入するというのを

$xxxx = isset($aaa) ? $aaa :"";

のように書きますが、Ruby ではどう書くのでしょうか? aaa を2回書くのが嫌なのですが、Ruby では一回ですむ書き方あるのでしょうか?

●質問者: isogaya
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:aaa PHP Ruby XXXX データ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● しおり
●35ポイント

同じように書くと、

xxxx = defined?(aaa) ? aaa : ''

です。

Rubyリファレンスマニュアル - クラス/メソッドの定義 - defined?


1回で済ます方法はないことはないですが、良い方法ではないと思います。

xxxx = aaa rescue ''

Rubyリファレンスマニュアル - 制御構造 - rescue修飾子


他の方法は思い付きませんでした。

◎質問者からの返答

aaa = false のときだめですね。。。


2 ● kent0608
●35ポイント

xxxx = aaa || ""

aaaがnilかfalseならば、""がxxxxに代入されます。

aaaが何らかのオブジェクトを参照していれば、xxxxにはaaaが代入されます。

http://d.hatena.ne.jp/snoubou/20070809/1186623146

◎質問者からの返答

残念。

未定義だとエラーです。

undefined local variable or method `aaa' for main:Object (NameError)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ