不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

paizaラーニング 『Ruby体験編1: Rubyをはじめよう (全15回) 』を受講してみた

2021-01-26 16:32:24 | paiza
今まで、Rubyに触れて来なかったので、

RubyってPythonみたいなスクリプト言語だから、
メモ帳とかエディタであれば、何でも良さそうだけど、
どうやらVisual Studio Code(VScode)でスタイルを自動整形しながらできるみたいだから、
Ubuntuでもそれでやっていこう。

とりあえずRubyに関しては、VScodeのデフォルト設定のままでやっていって、
使いにくそうだったら拡張機能を足していこう。

重要そうなところをメモ

#01:プログラミングとは

  • プログラミング言語 Ruby の特徴
    ・ 汎用プログラミング言語
    ・ オブジェクト指向
    ・ コードを自然な形で書ける

#02:はじめてのプログラミング

  • 文字の出力
    puts "Hello world"

#03:間違いやすいポイント

  • まぁよくある、「日本語入力に気をつけて」ってな感じ。

#04:コメントを書く

  • #をつける

#05:数値を扱う

  • クォーテーションなしで式を記述する
  • 式をシングルクォーテーションかダブルクォーテーションで囲むと、文字列として扱う

#06:プログラムで計算する

  • 四則演算の演算子
    +:足し算
    -:引き算
    *:掛け算
    /:割り算

#07:変数にデータを入れる

  • Pythonと同じように、型名を指定する必要なし
  • 文字列の中に変数を式展開する
name = 'paiza'
puts "#{name}さん、冒険にようこそ"

# paizaさん、冒険にようこそ

#08:データを受け取る

  • 文字列の場合は、gets.chomp
  • 整数の場合は、gets.to_i

#09:標準入力と標準出力

  • 標準入力:gets
  • 標準出力:puts

#10:条件に一致したら処理を実行する

  • if 条件式 then
    条件式の外側に()は必須ではない
if name == 'ruby' then
 puts 'Welcome'
end
  • 比較演算子
    • ==  等しい。代入と区別する    a == b
    • !=  等しくない  a != b
    • > 大なり    a > b   aはbより大きい。範囲にbを含まない
    • < 小なり a < b aはbより小さい。範囲にbを含まない
    • >= 以上 a >= b aはb以上。範囲にbを含める
    • <= 以下     a <= b  aはb以下。範囲にbを含める

#11:条件に合わせて処理を変える

  • else の基本形:条件が成立しなかった場
name = gets.chomp
puts "Hello #{name}"

if name == 'ruby' then
 puts 'Welcome'
else
 puts 'Goodbye'
end
  • elsif を追加する
name = gets.chomp
puts "Hello #{name}"

if name == 'ruby' then
 puts 'Welcome'
elsif name == 'Ruby' then
 puts 'Good morning'
else
 puts 'Goodbye'
end

#12:数値を分類してみよう

  • 数値で分岐

#13:同じ処理を何度も繰り返す

  • times の基本形
greeting = 'Hello world'
3.times do
 puts greeting
end
よくあるfor分と全然違う!😲 

#14:複数のデータを受け取る

  • 複数のデータを受け取る
count = gets.to_i

count.times do
 name = gets.chomp
 puts "Hello #{name}"
end

#15:複数のデータを分類する

  • #14とif文の組合せ

認定証を取得



paizaラーニング『スキルチェック入門編6: 神経衰弱 (Bランク) (全3回) 』を受講してみた

2021-01-26 15:40:08 | paiza
スキルチェック最後のレッスン


このレッスンの対象問題は、『神経衰弱 (paizaランク B 相当)』

また、このレッスンの解説はJavaで行われているので、
Pythonに置き換えて解答した。

結構、無駄に行数が増えてしまったけど、
一応すべてのテストに合格することができた。

認定証も取得


ちなみに、スキルチェック入門編の学習ステータスは、
最終的に一流盗賊になるけど、盗賊ってあまり嬉しくないな😅 


paizaラーニング『スキルチェック入門編5:宝くじ (Cランク) (全4回) 』を受講してみた

2021-01-26 14:56:56 | paiza
はい、次。


このレッスンの対象問題は、『宝くじ (paizaランク C 相当) 』である。
https://paiza.jp/works/mondai/skillcheck_archive/lottery?language_uid=python3

このレッスンは、Rubyで解説するとのこと。
やはりPythonに置き換えてやっていこう。

一応、対象問題はPythonで解くことができたけど、
Rubyを勉強したことないから、ほとんど分からなかった。

何はともあれ、認定証を取得



paizaラーニング『スキルチェック入門編4:検索履歴(Cランク) (全4回) 』を受講してみた

2021-01-26 14:19:19 | paiza
次も、Cランクの問題。


このレッスンの対象問題は、『検索履歴 (paizaランク C 相当) 』である。

ただ、このレッスンでは、プログラミング言語として、Javaを使用しているので、
Pythonへの置き換えが必要になってくる。
まだ、ちゃんとJavaを勉強したことがないからな。

案の定、Javaでの解説はあまりよく分からなかったので、
写経はしたが、結局Pythonで問題を解いた。
レッスン3の対象問題『単語のカウント』とほぼ同じような方法で、
Pythonでも実装できた。

ということで、認定証を取得。