御参拝、誠に有難う御座います。住職(管理人)の修羅観音です。
この寺院(ブログ)では、Rubyで仏教プログラミングと題して、私が学んだ事を活用して、仏教を語る、あるいはプログラムを作るという試みを連載しております。
Rubyで仏教プログラミングシリーズも、結構数が増えてきましたから、ここで一旦ひとまとめにしたページをこしらえて、使い易くすることに致しました。
このまとめページは、言うなれば、電子書籍の目次ページ的な役割を担う記事です。
この総集編ページをつがいとして頂ければ、各々が学びたい箇所へ飛ぶ事が出来ます。
今回は、特にRubyを学び始めた初期段階の人、初心者・初学者の人を対象とした、初学者向け総集編・まとめページです。
Rubyというプログラミング言語を学び始めると、だいたいputsメソッドやif文、配列やハッシュを学ぶかと存じます。
そのような場合、この初心者・初学者向け総集編ページは、道標となり得ましょう。
ここを拠点としてお使い頂くと、「puts」や「gets」、配列などをさらっと復習しに行く、あるいは精読しに言って頂けます。
この総集編・まとめ記事を上手に活用して、あなたのRubyライフ、プログラミング学習が捗れば、嬉しゅう御座います。
Contents
Rubyで仏教プログラミングまとめ1:一歩目の基本「putsメソッド」
Rubyで仏教プログラミング、最初に紹介致します話は、「putsメソッド」などの出力メソッドについてです。Rubyと言うプログラミング言語を学び始めると、恐らくどこでも最初に学ぶ事になるのが、この出力メソッドでありましょう。
Rubyは、「putsメソッドを使えば、一行でプログラミングを体験出来る」という解説の仕方があります。
実際に、私にプログラミングとブログについての事柄を教えて下さる、神里よしとさんも、ご自身のブログで、そのように伝えて下さっています。
神里よしとさんの参照記事:「【これであなたもプログラマー】rubyで最も初歩的なコード「puts」を使いこなそう!」
私が、この寺院(ブログ)でお伝えした事柄は、それに加えて、「print」と「p」という出力メソッドについても、解説しております。
私が以前に解説した、Rubyの出力メソッド「puts」「print」「p」については、こちらです。
参照記事:「Rubyで仏教プログラミング|出力メソッド(puts,print,p)で表示する」
恐らく、Rubyを使ってプログラミング・コーディングをする場合、puts等の出力メソッドは、必ずと言って良い程使う事になるくらいのメソッドです。
これを上手に使いこなされば、出力したい事柄を、より的確に出力することが出来ましょう。
Rubyで学ぶ最初の項目にして、なかなかに奥が深い。
最初に学び、でも最後まで使う事になる、という話を聞くと、ボクシングを思い出します。
ジャブは、最初に教わり、その後もずっと練習し続ける重要な拳ですからね。
putsを、打つべし、打つべし。

Rubyで仏教プログラミングまとめ2:キーボードや標準入力から値を取り出す「getsメソッド」
Rubyで最初の頃に学び、使う頻度も多い「putsメソッド」などの出力メソッドですが、出力があれば入力が御座います。標準入力という項目で習う事になる、便利なメソッドが「gets」というメソッドです。
参照記事:「Rubyで仏教プログラミング|getsを使って24時間不断念仏会の修養証プログラムを作る」
「gets」メソッドは、キーボードから直接入力された文字列や値に反応する処理を書いたり、標準入力の値を抜き出す際に使われるメソッドです。
「Paizaラーニング」では、この機能を使って、演習課題や問題を出題しています。
Rubyを一通り使えるようになり、getsメソッドを使いこなせるようになれば、Paiza経由で自身の問題をとく能力を判定出来たり、Paiza経由の就職や仕事を請け負う確率も上がります。
getsメソッドを使いこなせるようになると、Paizaの演習課題や練習問題、就職に役立つ機能をフル活用出来るようになりますよ。
ちなみに私は、Paizaラーニングの練習問題をときたいがために、getsメソッドや標準入力を勉強しました。
getsメソッドは、こういった副産物的な有り難い要素が、現代社会には御座います。
どこかのタイミングで、getsメソッドや標準入力についての技を、磨いておくと宜しいかと存じます。

Rubyで仏教プログラミングまとめ3:配列
Rubyで仏教プログラミングで、高僧に次々と登場して頂いた「正信念仏偈高僧プログラム」を作った時に使った野が、「配列」です。参照記事:「Rubyで仏教プログラミング|配列を使って高僧を表示・出力していく」
配列は、この先Ruby on Railsを使って開発をする際にも、役に立つ、と言いますか、使う事になる概念です。
配列を作る際、配列変数を用意して、変数に入れたい値を「=(イコール)」で結びます。
配列の中身は、「[]」で囲みます。
書き方は、こんな感じです。
配列は、0から始まりますから、「龍樹菩薩」を出力したい場合は、
と言うコードを書くと、出力することが出来ます。
頭が「0」から始まる、という事に気をつけましょう。
配列を、順繰りに表示・出力する場合は、「eachメソッド」を使うと、便利ですよ。
配列は、次にお伝え致します「ハッシュ」と共に、Ruby、Ruby on Railsではよく使われる事柄に御座います。
Rubyで仏教プログラミングまとめ4:ハッシュ
Rubyで仏教プログラミングにて、高僧の名前と年齢を組み合わせて表示させたときに使ったものが「ハッシュ」です。参照記事:「Rubyで仏教プログラミング|ハッシュを使って高僧の名前と年齢を表示・出力する」
ハッシュは「連想配列」とも言われており、配列との違いは、「キー」と「値」を、自身で入力するところに御座います。
配列では、頭は「0」から始まるとお伝え致しました。
ハッシュの場合は、この「0」の部分を、自分が好きなように名付け・命名する事が出来ます。
例えば、御宗祖と宗派の名前を組み合わせたハッシュを作るならば、こうなります。
書き方は、ハッシュの変数を用意して、それを「=」で結び、右辺は「{}」で囲みます。
この場合、「”法然上人”」と「”親鸞聖人”」は「キー」であり、そのキーに対応した「”浄土宗”」「”浄土真宗”」が、「値(あたい)」です。
キーと値は、「=>」という、矢印のような記号で結びます。
ハッシュも、eachメソッドを使うと、簡単に出力・表示させる事が出来ますよ。
ハッシュと配列は、使い所で使い分けられるようになると、宜しいかと存じます。

Rubyで仏教プログラミングまとめ5:配列とハッシュの合わせ技
配列とハッシュは、実は組み合わせて使う事が出来ます。この寺院(ブログ)でも、配列とハッシュの合わせ技を用いたプログラミングを、実践した事が御座いました。
参照記事:「Rubyで仏教プログラミング|配列とハッシュの合わせ技」
以前に作ったプログラムは、宗祖の名前と宗派の名前を用いました。
歴史の授業で習うようなこと共に、Rubyを使ったプログラミングも同時に学べるという内容に仕上がっております。
また、このように、一つ一つの要素や概念を組み合わせる事によって、複雑に思えるようなプログラムも書いていくことが出来るようになります。
このことから、一見複雑に見えるプログラムも、一つ一つの要素を組み合わせて出来たものであり、分解すると理解出来るようになる、という構造も見えてきますね。
プログラミングを解読したり、紐解いて行く時の助けとなる話でもあります。

Rubyで仏教プログラミングまとめ6:条件分岐・if文
Rubyで仏教プログラミングの、一回目に登場したのが、「if文」という条件分岐処理と、「timesメソッド」という繰り返し処理に使うメソッドです。初っぱなに、putsメソッドではなくて、if文とtiemsメソッドの解説をしたというのは、今考えると、順序が宜しくなかったかなあ、と反省するところに御座います。
ゆえに、この総集編・まとめページでは、putsを頭に持ってきたのですがね。
if文は、Rubyに限らず、どのプログラミング言語においても、「条件分岐処理」を書く時に用いられる、非常に使用頻度が高いプログラミングの文法です。
Rubyでは、条件分岐処理の便利なものとして、「case文」もありますが、今回はif文の復習だけに留めます。
if文では、「if」の後に条件式を書いて、それに合致すれば「true」を返し、合致しなければ「false」や「nil」という値を返します。
また、複数の条件を作る場合は、「elsif」と「else」を使います。
Rubyで仏教プログラミングシリーズで、最初に作った「十念プログラム」では、9回目だけ違う条件になっていましたね。
その時に、十念は「南無阿弥陀仏」を十回繰り返すお念仏の作法と言う事で、繰り返す回数が分かっているために、「timesメソッド」を使いました。
繰り返す回数が分かっていると、timesメソッドは使い勝手が良くて便利です。
十念プログラムでは、1回目から8回目と10回目が「なむあみだぶ」、9回目だけ「なむあみだぶつ」という発音です。
ゆえに、9回目だけ「なむあみだぶつ」と出力・表示される「十念プログラム」を、if文を用いて書きました。
参照記事:「Rubyで仏教|timesとifで「十念」をプログラミングしてみた」
今ここで、一度「どうやって書くのかな?」と、試し書きしてから、参照記事をお読み頂き、答え合わせして頂くと、より身につくかと存じます。
(これ、実はかなり大切な事です、プログラミング独学習者にとって。)
そして、作られたならば、あなたやあなたの家の信仰によるでしょうけれども、お念仏をご一緒して頂ければ、おてつぎ運動になるかな、とも考える念仏者なる私で御座います。
合掌、同唱十念。
もちろん、強制は致しませんよ、信仰や儀式の強制は、法然上人の御教えではありますまいて。

Rubyで仏教プログラミングまとめ7:繰り返し文「while文」と「for文」
Rubyで仏教プログラミングにて、南無阿弥陀仏を3回称えながら、立ったり座ったりを繰り返す「三唱礼・一千礼拝行プログラム」を作ったときは、繰り返し処理を使いました。「三唱礼・一千礼拝行プログラム」で使った繰り返し処理文は、「while文」です。
参照記事:「Rubyで仏教プログラミング|while文で三唱礼・一千礼拝行を表現する」
while文は、繰り返している間に実行される処理を書いて、繰り返しが終わる条件を満たせば、その繰り返しを抜ける、という文です。
timesメソッドも繰り返し処理に使うものですが、回数が決められていない場合は、while文が役に立ちます。
ただし、while文では、繰り返しを抜ける処理に向かうための条件式も必要として、それがないと無限ループになってしまいます。
while文を書く際は、無限ループにならないように注意しましょう。
無限ループの悪用が、ブラウザクラッシュに代表される、あの迷惑なやつです。
一昔前には、よくあったものですよ。
親切にも、そういうURLには「ブラクラ注意」と、注意勧告がなされておりましてね。
低スペックなPCの時代には、手動でブラウザクラッシュに勝てたものですが、今ではそうはいかんでしょう。
while文やtimesメソッドのような繰り返し処理の仲間に、「for文」が御座います。
for文も、繰り返し処理をプログラミングする際に、よく用いられます。
Rubyで仏教プログラミングでは、while文とfor文の違いを対比させながら、for文の使い方を解説して参りました。
参照記事:「Rubyで仏教プログラミング|while文とfor文の違いを正信偈七高僧配列を使って学習する」
timesメソッドやeachメソッド、while文やfor文などは、if文と共に使われる事が多々御座います。
これらを上手に使い分けられるようになると、よりすっきりしたプログラムを書くことに繋がる事でありましょう。
私も、そのようになるために、日々精進する次第で御座います。

あなたもプログラミングを始めたならば・・・
今回は、今までお伝えしてきました「Rubyで仏教プログラミング」を、ひとまとめにした「総集編」を、お送り致しました。今後も、Progateや色々な所を活用してRubyとRuby on Railsを学んで行き、実際に開発もしていくところへ漕ぎ着ける次第で御座います。
Ruby on Railsと、フレームワークを活用した開発に着したり完成したら、またそれを使ってRubyで仏教プログラミングシリーズの一環として、お伝え出来ればと思います。
あなたも、これからRubyや、その他のプログラミング言語であっても、実際に学び習得していく際に、私の様にブログに記録しながらやると、より捗るかと存じます。
参照記事:「プログラミングとブログ運営を同時にやるメリット|「Rubyで仏教プログラミング」をやる理由に通じる」
実際に私もやってみて、自分が使っている、プログラミングしている事柄を解説するに辺り、再度調べなおす事も多々御座いました。
と、言いますか、解説する事柄に関しては、必ず本やProgate等の情報を調べ直しながら、言語化しております。
不適切な事柄を伝えて、それが間違いの元、不正確なプログラミングに繋がる悪縁となってはなりませんからね。
自身が使っているメソッド、putsやgets等を解説する際、きちんと理解していないと解説出来ません。
また、仏教・仏法、学んでいる仏教の事柄、行為様式のプログラムを作る際には、その仏法や行為様式も理解している必要が御座います。
こうして、自分の興味・関心がある事柄をプログラミングして、プログラムを作ることは、「プログラミング」と「自身の世界」を、言語化する必要に迫られます。
そうすると、確認作業や調べ直しも生じ、よってその事が必然的な「繰り返し学習」となり、プログラミングと自身の世界を同時に進化・深化させる事にもなり得るのです。
もしも、あなたがご自身のいらっしゃる世界の事柄をプログラミングする、興味・関心がある事柄をプログラミングする場合、この話を参考にして頂けましたら、嬉しゅう御座います。
これも一つの、御縁の形なり。
合掌、礼拝