Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

RubyGetsとRubyChompメソッドの使用方法

Rubyプログラムを作成していて、ユーザーに質問したい…

どうすればそれができますか?

さて、あなたはRubyのgetsを使うことができます ユーザー入力を読み取るメソッド。

getsを呼び出すことができます 。

次に、プログラムはキーボードで何かを入力してEnterキーを押すのを待ち始めます。

結果は?

文字列が返されます。

この文字列には、ユーザー(またはユーザー)が入力した内容が含まれているため、この文字列を変数に割り当てると、この文字列を使用できるようになります。

一般的な例は挨拶プログラムです。

このように見えます

name = gets.chomp

puts "Hello #{name}, nice to meet you!"

#{name} これは文字列補間と呼ばれます

これを試してみて、どのように機能するかを自分で確認してください。

  • まず、このコードを「greeting.rb」ファイルに保存します
  • 次に、「rubygreeting.rb」(ターミナルプログラムから)で使用します

名前を入力すると、プログラムがあなたを迎えます!

かなりかっこいい。

このchompとは ビジネスのすべて?

これは、getsの結果を変更するRubyメソッドです。 非常に具体的な方法で。

削除してみてください。

ドットを含む(. )その前に、name = getsになります 、name = gets.chompの代わりに 。

コードを保存して再実行すると…

あいさつ全体が1行ではなく、2行に分割されていることがわかります。

どうしたの?

詳細を掘り下げて調べてみましょう!

改行と特殊文字を理解する

Rubyは、getの実行中に、プログラムに入力したすべてのものを読み取ります。 メソッドがアクティブです。

あいさつプログラム 、これにはあなたの名前が含まれます。

そして、挨拶メッセージを2行に分割する特別な「改行」文字!

改行文字に会います

\n

これらの種類の特殊文字は通常は表示されず、新しい線、スペース、色などの形でのみ表示されます。

それらを見たい場合は、10,000ドルの価格の魔法の懐中電灯が必要です。

冗談です!

必要なのはpだけです メソッドまたはinspect メソッド。

使用例

p name
# "Jesus\n"

あります!

「改行」文字(\n

これにより、元の質問に戻ります…

chompとは すべてについて?

chompの目的 文字列の最後にある改行文字を削除することです。

ご覧のとおり、これは非常に役立ちます。

別の例

この改行文字またはその他の特殊文字を使用すると、文字列を印刷したときの外観よりも多くのことに影響します。

ifステートメントにも影響を与える可能性があります!

name = gets

if name == "David"
  puts "Hello David, we were expecting you!"
end

このコードでは、chompを使用しない場合 getsを使用 、改行文字(\nのため、2つの文字列は同じではありません )、したがって、これはfalseと評価されます 。

ところで…

これは、getsの外部で取得する文字列にも当てはまります 、データベース、ファイル、またはその他のソースを読み取ることで取得するデータと同様です。

これらの特殊文字に目を光らせてください!

チョップvsチョップvsストリップ

ユーザー入力のクリーンアップに役立つ可能性のある別の2つの方法は、chopです。 &strip

stripを使用 空白を削除できます。

"    John Smith    ".strip

chopを使用 常に最後の文字を削除します。

最初の文字の削除

もう1つ必要なのは、最初から文字を削除することです。

このようにできます

str = "Mr. John"

str[0..3] = ""

str
# "John"

これにより、最初の4文字が削除されます。

2つのGetsメソッド?プロットが厚くなる!

特別な場合があります…

$stdin.getsを使用する必要がある場所 単なるgetsの代わりに 。

このようなエラーが発生した場合

`gets': No such file or directory @ rb_sysopen

なぜですか?

getsには2つのバージョンがあるためです メソッド。

  • デフォルトバージョンはファイル名を読み取ろうとします
  • 代替バージョン($stdin.gets )常にユーザー入力から読み取ります

これで、getsの使用中にそのようなエラーが表示された場合はわかります 、$stdin.getsに変更してみてください 。

概要

get&chompメソッド、その機能、機能、およびそれらが役立つ理由について学習しました。

このRubyチュートリアルで学び続けてください。

読んでくれてありがとう! 🙂


  1. RubyでStructとOpenStructを使用する方法

    Rubyの構造体とは何ですか? 構造体は組み込みのRubyクラスであり、値オブジェクトを生成する新しいクラスを作成するために使用されます。値オブジェクトは、関連する属性を一緒に格納するために使用されます。 ここに例があります : Point 2つの座標(x &y 。 このデータはさまざまな方法で表すことができます。 いいね : 配列[10, 20] ハッシュ{ x: 10, y: 10 } オブジェクトPoint.new(10, 20) 複数のPointを使用する場合 、オブジェクトアプローチを使用することをお勧めします。 しかし… これら2つの値を一緒に格納するた

  2. Rubyの配列クラスの使用方法(例+便利なメソッド)

    アレイとは何ですか? 配列は組み込みのRubyクラスであり、0個以上のアイテムのリストを保持します 、およびこれらすべてのアイテムを簡単に追加、アクセス、およびループするのに役立つメソッドが含まれています。 配列が存在しない場合は多くの変数を使用する必要があるため、これは便利です。 例 : a =1b =2c =3 しかし、代わりに、あなたはそうすることができます : 番号=[1、2、3] 最良の部分は? 配列内には何でも入れることができます! いいね : 数字 文字列 より多くのアレイ! (それは多次元配列になります) アレイを最大限に活用できるように、アレイについ