こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Rubyで素数かどうかの判定するPrime.prime?メソッドについて
- Prime.prime?メソッドとは
 - Prime.prime?メソッドを使ったサンプルプログラム
 
と、この記事で丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
| OS | Windows10 | 
|---|---|
| Rubyのバージョン | 2.6.6 | 
Rubyのインストールは、下の記事をご参考ください。
Prime.prime?メソッドとは
Prime.prime?メソッドとは、引数の数が素数かどうかを判定してboolを返すメソッドです。
素数であればtrue、それ以外ならfalseを返します。
Prime.prime?メソッドを使うには
| 
					 1  | 
						require 'prime'  | 
					
を宣言する必要があります。
require関数は、ライブラリや外部ファイルを読み込むことができる関数です。
詳しくはこちらの記事をご参考ください。
使い方サンプルは以下です。
| 
					 1  | 
						result = Prime.prime?(7)  | 
					
実行後は7は素数なのでresultには
| 
					 1  | 
						true  | 
					
という値が返されます。
注意点として、引数に設定する値はInteger型である必要があります。
もし
| 
					 1  | 
						result = Prime.prime?(1.2)  | 
					
のように引数にInteger型以外の値を指定して実行した場合

| 
					 1 2 3 4  | 
						Traceback (most recent call last):         2: from prime_prime_sample.rb:3:in `<main>'         1: from C:/Ruby26-x64/lib/ruby/2.6.0/forwardable.rb:230:in `prime?' C:/Ruby26-x64/lib/ruby/2.6.0/prime.rb:153:in `prime?': Expected an integer, got 1.2 (ArgumentError)  | 
					
とエラーとなるので、ご注意ください。
では、次の章で実際に使ってみます。
Prime.prime?メソッドを解説するプログラムの概要
Prime.prime?メソッドを解説するプログラムでは
- 1
 - 3
 - 4
 
の3パターンでPrime.prime?メソッドを実行して動作を確認します。
Rubyサンプルプログラム
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30  | 
						require 'prime' puts "■Prime.prime?メソッドサンプル" puts num1 = 1 puts "・1の場合" if Prime.prime?(num1)     puts "#{num1}は素数です" else     puts "#{num1}は素数ではありません" end puts num3 = 3 puts "・3の場合" if Prime.prime?(num3)     puts "#{num3}は素数です" else     puts "#{num3}は素数ではありません" end puts num4 = 4 puts "・4の場合" if Prime.prime?(num4)     puts "#{num4}は素数です" else     puts "#{num4}は素数ではありません" end  | 
					
実行結果
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。

| 
					 1 2 3 4 5 6 7 8 9 10  | 
						■Prime.prime?メソッドサンプル ・1の場合 1は素数ではありません ・3の場合 3は素数です ・4の場合 4は素数ではありません  | 
					
素数の判定ができていることが確認できました。
まとめ:Prime.prime?メソッドを使ってみよう!
以上がPrime.prime?メソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
  
  
  
  
コメント