Yuuuuuuukaプログラミング学習記

どんな些細なことでも細かくアウトプット

【Ruby】多重配列内の配列を1行ずつ改行して表示する

例えばこんな配列があるとします。

arrays = [["file1", "file2", "file3"], ["file4", "file5", "file6"], ["file7", "file8", "file9"]]

この変数arrays内の配列たちを1行ずつ改行して表示したい場合、eachメソッドを使えばできそうです。

arrays.each do |array|
    print array
    print "\n"
end


#=> 
["file1", "file2", "file3"]
["file4", "file5", "file6"]
["file7", "file8", "file9"]

HatenaBlogにソースコードを乗せたい!コードブロックの使い方について

以前はプログラミング学習のアウトプットをnoteに書いていましたが、今回HatenaBlogに移行し、さぁブログを書いていこう!としたところ、コードブロックってどうすれば出てくるの!?とあたふたしました。 HatenaBlogでは3種類の編集モードで文章を書けるので、それぞれのコードブロックの出し方を乗せておきます。

『見たままモード』での書き方(デフォルト)

設定を変更しない場合、最初は『見たままモード』になっています。

このモードでコードブロックを出すときは以下のように書きます。

<pre>
  <code>
    #ここにソースコードを書く
  </code>
</pre>

はてな記法モード』での書き方

このモードでコードブロックを出すときは以下のように書きます。(pre記法の場合)

>| #ここにソースコードを書く |<

はてな記法モードの詳細は下記を参照ください。 

help.hatenablog.com

Markdownモード』での書き方

このモードでコードブロックを出すときは以下のように書きます。

 ```
  #ここにソースコードを書く
 ```

図で解説!編集モードの変え方

私のように普段Markdown記法で書くことに慣れている人は『見たままモード』のままだとちょっと不便ですので『Markdownモード』に変更します。

トップ画面から右上のメニュー画面をクリックします。

右上のメニュー画面をクリック

「アカウント設定」をクリックします。 メニューバーから「アカウント設定」をクリック

少し下にスクロールして「設定」をクリックします。 アカウント設定から設定をクリック

「基本設定」から編集モードを変更できます。 Image from Gyazo

パッと見て分かるRubyのエラーメッセージの内容と対処法のまとめ

この記事は、フィヨルドブートキャンプ Part 2 Advent Calendar 2023 - Adventarの22日目の記事です。

Part1はこちらからフィヨルドブートキャンプ Part 1 Advent Calendar 2023 - Adventar

Part2の21日目は、siso255さんのVimをちゃんと使い始めて半年経った - sisonohaでした。

はじめに

こんにちは。フィヨルドブートキャンプ(以下、FBCと記載)でプログラミング学習中のYu-kaです😊 私は今年の4月からFBCに入会した完全初心者で、Railsプログラマを目指して勉強中です。

少しずつRubyの学習を進めている上でとにかく出る度重なるエラー、そして指摘内容が全て英語で読めないエラーメッセージ。 これらはいつも私の心を焦らせます💦

頑張って書いたコードも、エラーになると少しテンションが下がり、それが続くと段々やる気が削がれていってしまいます…。

少しでもエラーが出たときの心の負担を減らしたい!と思い、疲れているときでもパッと見てどんなエラーなのかわかりやすいようにまとめてみました!

よく出るエラーメッセージの内容と対処法

ざっくりとした内容と対処法についてをまとめてみました。

ArgumentError(引数の数が合わないよ)

`test': wrong number of arguments (given 0, expected 1) (ArgumentError)

メソッドを呼び出す時に必要な引数の数が間違っているというエラー。 ちなみに本文の「wrong number of arguments (given 0, expected 1)」は、「expected(期待した引数の数)は1個だけど、given(実際に来た引数の数)は0個だったよ」と言っています。

【対処法】 引数が足りない or 多すぎる ので正しい引数の数にしよう。

NoMethodError(そんなメソッドはないよ)

undefined method `apu' for main:Object (NoMethodError)

存在しないメソッドを使ったりメソッド名を打ち間違えた時に出るエラー。 ちなみにメソッド呼び出しの形式でないときは「NameError」と表示されます。

【対処法】 正しいメソッド名に直そう。またはそのメソッドをちゃんと定義しよう。 このエラーは下記のように間違いの箇所を教えてくれるので修正箇所がわかりやすいですね!

# ①存在しないメソッドを打った場合
cherry.rb:1:in `<main>': undefined method `apu' for main:Object (NoMethodError)

apu "aaa"  
^^^
#↑この部分、こんなメソッドはないよと教えてくれている。

# ②もしかしてこのメソッドかも? と候補を出してくれる場合
cherry.rb:1:in `<main>': undefined method `put' for main:Object (NoMethodError)
Did you mean?  puts
               putc

Syntax Error(構文が間違ってるよ)

syntax error, unexpected end-of-input (SyntaxError)

endをenddと書いてしまった、カッコを閉じるのを忘れた、もしくは文の構成が間違っているというエラー。

【対処法】 対象のタイプミス or 構文間違いを直そう。

TypeError(そのデータ型じゃないよ)

no implicit conversion of String into Integer (TypeError)

数値を期待したのに文字列が渡された場合など、期待されるデータ型とは違うデータ型のオブジェクトだったときのエラー。

【対処法】 正しいデータ型に直そう。 例えば、上記のエラー文の場合は文字列を数値にするとOKです。

NameError(そんな変数はないよ)

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

存在しないローカル変数や定数を使用したとき or 変数名を打ち間違えたときに起こるエラー。タイプミスのときが多い気がします。 ちなみにメソッド呼び出しの形式で書かれている場合は「NoMethodError」になります。

【対処法】 タイプミスの場合は正しい変数名に直そう。 またはその変数を定義しよう。

LoadError(ファイルが読み込めないよ)

`require': cannot load such file -- this/file/does/not/exist (LoadError)

requireやloadでファイルを読み込むときに、対象のファイルが見つからない or 正しく読み込めない場合に起こるエラー。 または、使いたいgemがインストールされていないときにもエラーとなります。

エラーメッセージ早見表

もっと早く確認できるように表にまとめてみました。

Rubyエラーメッセージの早見表

おわりに

こうしてまとめてみるとエラーメッセージの種類ってそんなに多くないんだな〜と少し安心しました。これからもRubyの学習頑張っていきます❤️‍🔥