[解決済み] Ruby on Railsで文字列が数字かどうかテストする
2022-10-22 15:26:47
質問
アプリケーションコントローラに以下のようなものがあります。
def is_number?(object)
true if Float(object) rescue false
end
で、コントローラで以下のような条件を設定します。
if mystring.is_number?
end
この条件では
undefined method
というエラーを投げています。私が定義した
is_number
を間違った場所に定義してしまったのでしょうか...?
どのように解決するのですか?
作成方法
is_number?
メソッドです。
ヘルパーメソッドを作成します。
def is_number? string
true if Float(string) rescue false
end
そして、このように呼び出します。
my_string = '12.34'
is_number?( my_string )
# => true
拡張
String
クラスです。
を呼び出せるようにしたい場合は
is_number?
を直接呼び出したい場合は、ヘルパー関数にパラメータとして渡す代わりに、 文字列に対して
is_number?
の拡張として
String
クラスの拡張として、次のように記述します。
class String
def is_number?
true if Float(self) rescue false
end
end
で呼び出すことができます。
my_string.is_number?
# => true
関連
-
[解決済み] heroku open - no app specified
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] JavaScriptで文字列を整数に変換する方法は?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜでしょうか?
-
[解決済み] Rubyの文字列から日付への変換
-
[解決済み] Rubyで変数をインクリメントする [重複]。
-
[解決済み] DestroyとDeleteの違い
-
[解決済み] Rails ExecJS::ProgramError in Pages#home?
-
[解決済み] Herokuの問題 : あなたが探しているページは存在しません。
-
[解決済み] Devise Admin Roleの追加【終了しました
-
[解決済み] サーバーはRailsで既に稼働している
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。
-
[解決済み] 未初期化の定数 "コントローラ名"