ruby_learner 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/ruby_learner/version.rb +1 -1
  4. data/questions/sequential_check/section_1/part_1/lib/sentence.org +19 -2
  5. data/questions/sequential_check/section_1/part_2/lib/sentence.org +5 -1
  6. data/questions/sequential_check/section_1/part_3/lib/sentence.org +7 -1
  7. data/questions/sequential_check/section_10/part_1/lib/sentence.org +12 -2
  8. data/questions/sequential_check/section_10/part_2/lib/sentence.org +13 -3
  9. data/questions/sequential_check/section_11/part_1/lib/sentence.org +12 -3
  10. data/questions/sequential_check/section_11/part_2/lib/sentence.org +8 -1
  11. data/questions/sequential_check/section_2/part_1/lib/sentence.org +6 -1
  12. data/questions/sequential_check/section_2/part_2/lib/sentence.org +14 -2
  13. data/questions/sequential_check/section_3/part_1/lib/sentence.org +1 -2
  14. data/questions/sequential_check/section_4/part_1/lib/sentence.org +16 -2
  15. data/questions/sequential_check/section_5/part_1/lib/sentence.org +9 -1
  16. data/questions/sequential_check/section_5/part_2/lib/sentence.org +10 -2
  17. data/questions/sequential_check/section_6/part_1/lib/sentence.org +13 -1
  18. data/questions/sequential_check/section_6/part_2/lib/sentence.org +2 -1
  19. data/questions/sequential_check/section_6/part_3/lib/sentence.org +7 -1
  20. data/questions/sequential_check/section_6/part_4/lib/sentence.org +10 -1
  21. data/questions/sequential_check/section_7/part_1/lib/sentence.org +15 -2
  22. data/questions/sequential_check/section_7/part_2/lib/sentence.org +22 -2
  23. data/questions/sequential_check/section_8/part_1/lib/sentence.org +20 -2
  24. data/questions/sequential_check/section_9/part_1/lib/sentence.org +8 -2
  25. data/questions/sequential_check/section_9/part_2/lib/sentence.org +15 -2
  26. data/questions/sequential_check/section_9/part_3/lib/sentence.org +8 -2
  27. data/takahashi/docs/README.org +8 -0
  28. data/takahashi/docs/README.org~ +9 -0
  29. data/takahashi/docs/drill.org +14 -13
  30. data/takahashi/sample_prog/answer/1_1.rb +1 -1
  31. data/takahashi/sample_prog/answer/1_1.rb~ +1 -0
  32. data/takahashi/sample_prog/answer/9_2.rb +1 -0
  33. data/takahashi/sample_prog/answer/9_2.rb~ +5 -0
  34. data/takahashi/sample_prog/question/10_1.org +12 -0
  35. data/takahashi/sample_prog/question/10_2.org +13 -0
  36. data/takahashi/sample_prog/question/11_1.org +13 -0
  37. data/takahashi/sample_prog/question/11_2.org +9 -0
  38. data/takahashi/sample_prog/question/1_1.org +19 -0
  39. data/takahashi/sample_prog/question/1_2.org +6 -0
  40. data/takahashi/sample_prog/question/1_3.org +8 -0
  41. data/takahashi/sample_prog/question/2_1.org +7 -0
  42. data/takahashi/sample_prog/question/2_2.org +14 -0
  43. data/takahashi/sample_prog/question/3_1.org +1 -0
  44. data/takahashi/sample_prog/question/4_1.org +16 -0
  45. data/takahashi/sample_prog/question/5_1.org +10 -0
  46. data/takahashi/sample_prog/question/5_2.org +10 -0
  47. data/takahashi/sample_prog/question/6_1.org +14 -0
  48. data/takahashi/sample_prog/question/{6_2.rb → 6_2.org} +2 -1
  49. data/takahashi/sample_prog/question/{6_3.rb → 6_3.org} +7 -1
  50. data/takahashi/sample_prog/question/6_4.org +12 -0
  51. data/takahashi/sample_prog/question/7_1.org +16 -0
  52. data/takahashi/sample_prog/question/7_2.org +22 -0
  53. data/takahashi/sample_prog/question/8_1.org +20 -0
  54. data/takahashi/sample_prog/question/9_1.org +8 -0
  55. data/takahashi/sample_prog/question/9_2.org +15 -0
  56. data/takahashi/sample_prog/question/9_3.org +8 -0
  57. metadata +27 -25
  58. data/takahashi/sample_prog/question/10_1.rb +0 -2
  59. data/takahashi/sample_prog/question/10_2.rb +0 -3
  60. data/takahashi/sample_prog/question/11_1.rb +0 -4
  61. data/takahashi/sample_prog/question/11_2.rb +0 -2
  62. data/takahashi/sample_prog/question/1_1.rb +0 -2
  63. data/takahashi/sample_prog/question/1_2.rb +0 -2
  64. data/takahashi/sample_prog/question/1_3.rb +0 -2
  65. data/takahashi/sample_prog/question/2_1.rb +0 -2
  66. data/takahashi/sample_prog/question/2_2.rb +0 -2
  67. data/takahashi/sample_prog/question/3_1.rb +0 -2
  68. data/takahashi/sample_prog/question/4_1.rb +0 -2
  69. data/takahashi/sample_prog/question/5_1.rb +0 -2
  70. data/takahashi/sample_prog/question/5_2.rb +0 -2
  71. data/takahashi/sample_prog/question/6_1.rb +0 -2
  72. data/takahashi/sample_prog/question/6_4.rb +0 -3
  73. data/takahashi/sample_prog/question/7_1.rb +0 -3
  74. data/takahashi/sample_prog/question/7_2.rb +0 -2
  75. data/takahashi/sample_prog/question/8_1.rb +0 -2
  76. data/takahashi/sample_prog/question/9_1.rb +0 -2
  77. data/takahashi/sample_prog/question/9_2.rb +0 -2
  78. data/takahashi/sample_prog/question/9_3.rb +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a3869d64ff647ab1b56c965f07268670fbc96c27
4
- data.tar.gz: 40ce344b3d77c003be5d8e4385ad94ac8f41fa46
3
+ metadata.gz: 530b4b500f5fe0c5cc0cb97a451971dd74678069
4
+ data.tar.gz: 57e5c8e2565455f5aafb805ea220369bcd8ad2a1
5
5
  SHA512:
6
- metadata.gz: bc6358593f83e3ae9ea1923aa5cd27f09b0b30c367a0c1f742be75f868e509a9a0c743d22453dcb12a67cd8d33e28a11e55228adf4b64cbd8875f1601e8b3388
7
- data.tar.gz: fbefbd17018e40ece793648ac3dd2ccb5cc93d511b628b707878baa98f920d44a5c82103e3a425fbf6c193c6a5cf3eb948dfef1204d1887a510aef9570e4f61f
6
+ metadata.gz: 0e274b7eca1174532d65bda914ce5d4ed1ea5d32ea4f809fee3670819f98d8c1a95eccd07752b37e0d45dba51e49cbeda53196764c6fd231d1e83fc49a984b07
7
+ data.tar.gz: 5c9c5fe0cbcb4344866e8d561b6bfc40f6d79987fe6591fff75a87b594ea31655c65196467b82f89ee16191dff78368a75b459bdaed6125e3701cec22b8abef7
data/README.md CHANGED
@@ -58,7 +58,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
58
58
 
59
59
  ## Contributing
60
60
 
61
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/ruby_learner. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
61
+ Bug reports and pull requests are welcome on GitHub at https://github.com/Takaki0403/ruby_learner. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
62
62
 
63
63
  ## License
64
64
 
@@ -1,3 +1,3 @@
1
1
  module RubyLearner
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
@@ -1,2 +1,19 @@
1
- # -*- coding: utf-8 -*-
2
- 「Hello, Ruby.」という文字列を表示するプログラムを作成せよ。
1
+
2
+ 「Hello, Ruby.」という文字列を表示するプログラムを作成せよ。文字列の終わりは改行すること。
3
+
4
+
5
+ - オブジェクト
6
+
7
+ Rubyにおいて、文字列、数値、時刻など、様々なデータを表現するための用語。
8
+
9
+
10
+ - print, puts
11
+
12
+ print 引数
13
+ puts 引数
14
+
15
+ 引数として与えられた文字列を出力するメソッド。
16
+ putsメソッドはprintメソッドの処理に加え、与えられた文字列の末尾で改行を行う。
17
+
18
+ 文字列は「"(ダブルクォート)」で囲われた文字の集合を指す。
19
+ 改行は特殊文字「\n」を用いる。
@@ -1,2 +1,6 @@
1
- # -*- coding: utf-8 -*-
2
1
  「Hello, "Ruby".」という文字列を表示するプログラムを作成せよ。
2
+
3
+
4
+ - 特殊文字
5
+
6
+ 文字列中に「"」や「\」を用いたい場合は、それぞれ特殊文字「\"」「\\」を用いる。
@@ -1,2 +1,8 @@
1
- # -*- coding: utf-8 -*-
2
1
  「"Hello,\n\tRuby."」という文字列を表示するプログラムを作成せよ。
2
+
3
+ - p
4
+
5
+ p 引数
6
+
7
+ 引数として与えられた文字列を「" "」で囲んで表示するメソッド
8
+ その他の処理はputsメソッドに順ずる
@@ -1,2 +1,12 @@
1
- # -*- coding: utf-8 -*-
2
- 「Hello, Ruby.」と表示するメソッドhelloを用いて、「Hello, Ruby.」と表示するプログラムを作成せよ。
1
+ 「Hello, Ruby.」と表示するメソッドを作成し、helloメソッドを用いて「Hello, Ruby.」と表示するプログラムを作成せよ。
2
+
3
+
4
+ - メソッドの作成
5
+
6
+ def メソッド名
7
+ メソッドで実行したい処理
8
+ end
9
+
10
+ メソッドを自分で作る際には、この構文を用いる。
11
+
12
+ 作成したメソッドは、メソッド名をプログラム中に記述することで実行できる。
@@ -1,3 +1,13 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、「Hello, [受け取った文字列].」と表示するメソッドhelloを作成し、
3
- 2つの文字列を受け取り、「Hello, [受け取った文字列].」と2行表示するプログラムを作成せよ。
1
+ 1つの文字列を受け取り、「Hello, 受け取った文字列.」と表示するメソッドhelloを作成し、2つの文字列を受け取り、「Hello, 受け取った文字列.」と2行表示するプログラムを作成せよ。
2
+
3
+
4
+ - 引数を持つメソッドの作成
5
+
6
+ def メソッド名(変数名)
7
+ メソッド内で実行したい処理
8
+ end
9
+
10
+ 自分で作ったメソッドに引数を渡すこともできる。
11
+ 実行する際は次のように記述する。
12
+
13
+ メソッド名(引数)
@@ -1,4 +1,13 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、「Hello, [受け取った文字列].」と表示するメソッドhelloが書かれたプログラムhello.rbがある。
1
+ 1つの文字列を受け取り、「Hello, 受け取った文字列.」と表示するメソッドhelloが書かれたプログラムhello.rbがある。
3
2
 
4
- このプログラムを取り込んで、1つの文字列を受け取り、「Hello, [受け取った文字列].」と表示するプログラムを作成せよ。
3
+ このプログラムを取り込んで、1つの文字列を受け取り、「Hello, 受け取った文字列.」と表示するプログラムを作成せよ。
4
+
5
+
6
+ - require_relative
7
+
8
+ require_relative 使いたいライブラリのファイル名
9
+
10
+ require_relativeメソッドは、他のプログラムから読み込んで利用するためのプログラムである、ライブラリを読み込むためのメソッド。
11
+ このメソッドを呼ぶと、Rubyは引数に指定されたライブラリを探して、そのファイルに書かれた内容を読み込む。読み込みが終わると再び、メソッドの次の行から処理を再開する。
12
+
13
+ この際、使いたいライブラリのファイル名の「.rb」は省略することができる。
@@ -1,2 +1,9 @@
1
- # -*- coding: utf-8 -*-
2
1
  Rubyの標準ライブラリ「date」を用いて、Rubyが誕生した1993年2月24日から、今日までの日数を表示するプログラムを作成せよ。
2
+
3
+
4
+ - requireメソッド
5
+
6
+ require 使いたいライブラリのファイル名
7
+
8
+ requireメソッドは、Rubyに標準で付属指定るライブラリなど、既存のライブラリを読み込む際に使われるメソッド。
9
+ その他はrequire_relativeメソッドに順ずる。
@@ -1,2 +1,7 @@
1
- # -*- coding: utf-8 -*-
2
1
  コマンドラインから5つの引数を受け取り、受け取った順に表示するプログラムを作成せよ。
2
+
3
+
4
+ - ARGV[num]
5
+
6
+ コマンドラインから引数として与えられた文字列を格納する配列オブジェクト
7
+ 1つ目の引数はARGV[0]に格納される
@@ -1,2 +1,14 @@
1
- # -*- coding: utf-8 -*-
2
- コマンドラインから数値を2つ受け取り、その和、差、積、商を表示するプログラムを作成せよ。
1
+ コマンドラインから2つの引数を受け取って数値に変換し、その和、差、積、商を表示するプログラムを作成せよ。
2
+
3
+
4
+ - 変数
5
+
6
+ 変数名 = オブジェクト
7
+
8
+
9
+ - .to_i
10
+
11
+ 変数名 = オブジェクト.to_i
12
+
13
+ オブジェクトの直後に記述することで、そのオブジェクトを数値に変換する。
14
+ ARGVは引数を文字列として受け取るため、そのままでは計算には使えないことに注意。
@@ -1,2 +1 @@
1
- # -*- coding: utf-8 -*-
2
- 3つの数値をx、y、zとして受け取り、縦x、横y、高さzの直方体の表面積と体積を求め、表示するプログラムを作成せよ。
1
+ 3つの数値を変数x、y、zとして受け取り、縦x、横y、高さzの直方体の表面積と体積を求め、表示するプログラムを作成せよ。
@@ -1,2 +1,16 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの数値を受け取り、それが10より大きければ「greater」小さければ「smaller」と表示するプログラムを作成せよ。
1
+ 1つの数値を受け取り、それが10より大きければ「greater」小さければ「smaller」と表示するプログラムを作成せよ、
2
+
3
+
4
+ - if ~ else ~ end
5
+
6
+ if 条件
7
+ 条件が成り立ったときに実行したい処理
8
+ else
9
+ 条件が成り立たなかったときに実行したい処理
10
+ end
11
+
12
+
13
+ 条件によってプログラムの挙動を変える際に用いるメソッド。
14
+ 条件には値がtrue かfalse となる式を書くのが一般的。
15
+ 例えば、2つの値を比較して一致すればtrue,しなければfalseといった具合。
16
+ また、不等号は「<=」、等号は「==」を用いる。
@@ -1,2 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  1つの数値をnとして受け取り、1からnまでの数を順番に表示するプログラムを作成せよ。
2
+
3
+ - while文
4
+
5
+ while 繰り返し続ける条件
6
+ 繰り返したい処理
7
+ end
8
+
9
+ 繰り返しを行うための基本的な構文。
10
+ 条件が成り立つ限り、処理を繰り返す。
@@ -1,2 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
- 「All work and no play makes Jack a dull boy.」と5行表示するプログラムを作成せよ。
1
+ 「All work and no play makes Jack a dull boy.」と5行表示するプログラムを作成せよ。
2
+
3
+
4
+ - timesメソッド
5
+
6
+ 繰り返す回数.times do
7
+ 繰り返したい処理
8
+ end
9
+
10
+ 繰り返す回数が決まっている場合は、timesメソッドを使ってシンプルにできる。
@@ -1,2 +1,14 @@
1
- # -*- coding: utf-8 -*-
2
1
  1つの数値をnとして受け取り、配列のn番目の要素を取り出し、表示するプログラムを作成せよ。ただし、配列はプログラム内で定義し、配列には数値が入るものとする。
2
+
3
+
4
+ - 配列(Array)
5
+
6
+ 配列名 = [オブジェクト, オブジェクト, ...]
7
+
8
+ 配列はいくつかのオブジェクトを順序付きで格納したオブジェクト。
9
+ 配列の要素を取り出すには、位置を表す番号であるインデックスを用いて
10
+
11
+ 配列名[インデックス]
12
+
13
+ という構文を用いる。
14
+ 配列の先頭の要素のインデックスは「0」であることに注意。
@@ -1,3 +1,4 @@
1
- # -*- coding: utf-8 -*-
2
1
  配列の先頭の要素をコマンドラインに入力した要素に変更するプログラムを作成せよ。
3
2
  ただし、配列はプログラム内で定義し、配列には数値が入るものとする。
3
+
4
+
@@ -1,3 +1,9 @@
1
- # -*- coding: utf-8 -*-
2
1
  配列を表示し、その配列の大きさも表示するプログラムを作成せよ。
3
2
  ただし、配列はプログラム内で定義すること。
3
+
4
+
5
+ - sizeメソッド
6
+
7
+ 配列名.size
8
+
9
+ sizeメソッドを用いると、配列の大きさを得られる。
@@ -1,3 +1,12 @@
1
- # -*- coding: utf-8 -*-
2
1
  配列全体を表示してから、配列の要素を順に表示するプログラムを作成せよ。
3
2
  ただし、配列はプログラム内で定義すること。
3
+
4
+
5
+ - eachメソッド
6
+
7
+ 配列名.each do |変数|
8
+ 繰り返したい処理(|変数|で指定された変数を含む)
9
+ end
10
+
11
+ eachメソッドは、配列の要素すべてにアクセスする必要がある際に用いられる。
12
+ 配列から要素を1つずつ取り出して、|変数|で指定された変数に代入して処理を繰り返し実行する。
@@ -1,3 +1,16 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、シンボルに変換して表示するプログラムを作成せよ。
1
+ 1つの引数を受け取り、シンボルに変換して表示するプログラムを作成せよ。
2
+
3
+
4
+ - シンボル
5
+
6
+ 文字列に似たオブジェクトで、Rubyがメソッドなどの名前を識別するためのラベルをオブジェクトにしたもの。
7
+ 先頭に「:」をつけて表現する。
8
+
9
+
10
+ - to_symメソッド
11
+
12
+ 文字列.to_sym
13
+
14
+ 文字列をシンボルに変換するためのメソッド。
15
+ 逆に、シンボルを文字列に変換するには、to_sメソッドを用いる。
3
16
 
@@ -1,2 +1,22 @@
1
- # -*- coding: utf-8 -*-
2
- :name, :furigana というそれぞれのキーに"高橋", "タカハシ"というオブジェクトが格納されているハッシュを作成、表示し、さらに:tel というキーに"000-1234-5678"を格納して再度表示するプログラムを作成せよ。
1
+ :name, :furigana というそれぞれのキーに"高橋", "タカハシ"というオブジェクトが格納されているハッシュを作成、表示し、さらに:tel というキーに"000-1234-56778"を格納して再度表示するプログラムを作成せよ。
2
+
3
+
4
+ - ハッシュ
5
+
6
+ ハッシュ名 = {キー => オブジェクト, キー => オブジェクト, ...}
7
+
8
+ 文字列やシンボルなどをキーにしてオブジェクトを格納するコンテナ。
9
+ オブジェクトを取り出すためのキーと、それに対応させるオブジェクトの組からなる。
10
+
11
+ また、キーがシンボルである場合、より短い書き方として、以下のような構文がある。
12
+
13
+ ハッシュ名 = {キー: オブジェクト, キー: オブジェクト, ...}
14
+
15
+
16
+ ハッシュに格納されたオブジェクトを取り出すには、次の構文を用いる。
17
+
18
+ ハッシュ名[キー]
19
+
20
+ また、オブジェクトを格納するには次の構文を用いる。
21
+
22
+ ハッシュ名[キー] = 格納したいオブジェクト
@@ -1,2 +1,20 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、それが「Hello, Ruby」とマッチするなら「match.」マッチしないなら「not match」と表示するプログラムを作成せよ。
1
+ 1つの文字列を受け取り、それが「Hello, Ruby」とマッチするなら「match.」マッチしないなら「not match.」と表示するプログラムを作成せよ。
2
+
3
+
4
+ - マッチング
5
+
6
+ ある文字列が、特定の文字列のパターンに一致する部分を持っているか調べること。
7
+ パターンに当てはまることを「マッチする」という。
8
+
9
+
10
+ - 正規表現
11
+
12
+ /パターン/
13
+
14
+ マッチングを行う際に用いられる構文。
15
+ 正規表現と文字列のマッチングを行うには、
16
+
17
+ /パターン/ =~ マッチングしたい文字列
18
+
19
+ という構文を用いる。マッチングに成功すると、マッチした部分の位置を返す。
20
+
@@ -1,2 +1,8 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、該当するファイル名のテキストデータを表示するプログラムを作成せよ。
1
+ 1つの文字列を受け取り、文字列と一致するファイル名のテキストデータを表示するプログラムを作成せよ。
2
+
3
+
4
+ - File.read
5
+
6
+ text = File.read(ファイル名)
7
+
8
+ File.readメソッドは、受け取ったファイル名と同じ名前のファイルのデータを読み込むメソッド。
@@ -1,2 +1,15 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、該当するファイル名のテキストデータを1行ずつ読み取り、表示するプログラムを作成せよ。
1
+ 1つの文字列を受け取り、文字列と一致するファイル名のテキストデータを1行ずつ読み取り、表示するプログラムを作成せよ。
2
+
3
+
4
+ - file.each_line
5
+
6
+ file = File.open(ファイル名)
7
+ file.each_line do |変数|
8
+ 繰り返したい処理
9
+ end
10
+ file.close
11
+
12
+ each_lineメソッドはファイルの各行をそれぞれ処理するメソッド。
13
+ ファイルを1行ずつ読み込み、処理を繰り返す。
14
+
15
+ open,closeメソッドはそれぞれファイルを読み込むためにファイルを開くメソッド、開いたファイルを閉じるメソッド。
@@ -1,2 +1,8 @@
1
- # -*- coding: utf-8 -*-
2
- 2つの文字列を受け取り、2つ目の文字列に該当するファイル名のテキストデータの中から、1つ目の文字列にマッチする行を出力するプログラムを作成せよ。
1
+ 2つの文字列を受け取り、2つ目の文字列に一致するファイル名のテキストデータの各行から、1つ目の文字列にマッチする行を出力するプログラムを作成せよ。
2
+
3
+
4
+ - Regexp.new
5
+
6
+ 変数名 = Regexp(文字列)
7
+
8
+ 与えられた文字列から正規表現オブジェクトを作るメソッド。
@@ -146,3 +146,11 @@ answer/2_1.rb:1:1: C: Style/Encoding: Unnecessary utf-8 encoding comment.
146
146
  たのしいRuby掲載のrake関係の頁は正直本を読み込まないと理解できないレベルのコードが書いてある
147
147
 
148
148
  どうしましょ
149
+ ** 8/20
150
+
151
+ Sequential_checkの問題に構文等の解説を追加する作業。
152
+
153
+ 9_1まで暫定の解説を追加
154
+
155
+ 9_2.rb解答例最後の行に file.closeを追加
156
+
@@ -137,3 +137,12 @@ answer/2_1.rb:1:1: C: Style/Encoding: Unnecessary utf-8 encoding comment.
137
137
 
138
138
  -ARGVで受け取った文字列を数値に変換して表示するプログラム
139
139
  -正規表現を上手い具合に問題に落とし込みたい
140
+
141
+ ** 8/13
142
+
143
+ 問題文作成
144
+
145
+ 応用問題としてrakeを使うって話があったはず
146
+ たのしいRuby掲載のrake関係の頁は正直本を読み込まないと理解できないレベルのコードが書いてある
147
+
148
+ どうしましょ
@@ -26,10 +26,10 @@
26
26
 
27
27
  ** helloruby.rb
28
28
 
29
- 「Hello, Ruby.」という文字列を表示するプログラムを作成せよ。
29
+ 「Hello, Ruby.」という文字列を表示するプログラムを作成せよ。文字列の終わりは改行すること。
30
30
 
31
31
  #+begin_src ruby
32
- print 'Hello, Ruby.\n'
32
+ print "Hello, Ruby.\n"
33
33
  #+end_src
34
34
 
35
35
  #+begin_example
@@ -39,10 +39,10 @@ Hello, Ruby.
39
39
 
40
40
  ** helloruby_2.rb
41
41
 
42
- 「Hello, "Ruby".」という文字列を表示するプログラムを作成せよ。
42
+ 「Hello, "Ruby".」という文字列を表示するプログラムを作成せよ。文字列の終わりは改行すること。
43
43
 
44
44
  #+begin_src ruby
45
- print Hello, \"Ruby\".\n"
45
+ print "Hello, \"Ruby\".\n"
46
46
  #+end_src
47
47
 
48
48
  #+begin_example
@@ -88,7 +88,7 @@ puts ARGV[4]
88
88
 
89
89
  ** arg_arith.rb
90
90
 
91
- コマンドラインから数値を2つ受け取り、その和、差、積、商を表示するプログラムを作成せよ。
91
+ コマンドラインから2つの引数を受け取って数値に変換し、その和、差、積、商を表示するプログラムを作成せよ。
92
92
 
93
93
  #+begin_src ruby
94
94
  num0 = ARGV[0].to_i
@@ -355,7 +355,7 @@ not match.
355
355
 
356
356
  ** read_text.rb
357
357
 
358
- 1つの文字列を受け取り、該当するファイル名のテキストデータを表示するプログラムを作成せよ。
358
+ 1つの文字列を受け取り、文字列と一致するファイル名のテキストデータを表示するプログラムを作成せよ。
359
359
 
360
360
  #+begin_src ruby
361
361
  filename = ARGV[0]
@@ -370,7 +370,7 @@ print text
370
370
 
371
371
  ** read_line.rb
372
372
 
373
- 1つの文字列を受け取り、該当するファイル名のテキストデータを1行ずつ読み取り、表示するプログラムを作成せよ。
373
+ 1つの文字列を受け取り、文字列と一致するファイル名のテキストデータを1行ずつ読み取り、表示するプログラムを作成せよ。
374
374
 
375
375
  #+begin_src ruby
376
376
  filename = ARGV[0]
@@ -378,6 +378,7 @@ file = File.open(filename)
378
378
  file.each_line do |line|
379
379
  print line
380
380
  end
381
+ file.close
381
382
  #+end_src
382
383
 
383
384
  #+begin_example
@@ -386,7 +387,7 @@ end
386
387
 
387
388
  ** simple_grep.rb
388
389
 
389
- 2つの文字列を受け取り、2つ目の文字列に該当するファイル名のテキストデータの中から、1つ目の文字列にマッチする行を出力するプログラムを作成せよ。
390
+ 2つの文字列を受け取り、2つ目の文字列に一致するファイル名のテキストデータの各行から、1つ目の文字列にマッチする行を出力するプログラムを作成せよ。
390
391
 
391
392
  #+begin_src ruby
392
393
  pattern = Regexp.new(ARGV[0])
@@ -408,7 +409,7 @@ file.close
408
409
  * メソッドの作成
409
410
  ** hello_ruby2.rb
410
411
 
411
- 「Hello, Ruby.」と表示するメソッドhelloを用いて、「Hello, Ruby.」と表示するプログラムを作成せよ。
412
+ 「Hello, Ruby.」と表示するメソッドhelloを作成し、helloメソッドを用いて「Hello, Ruby.」と表示するプログラムを作成せよ。
412
413
 
413
414
  #+begin_src ruby
414
415
  def hello
@@ -425,8 +426,8 @@ Hello, Ruby.
425
426
 
426
427
  ** hello_ruby3.rb
427
428
 
428
- 1つの文字列を受け取り、「Hello, [受け取った文字列].」と表示するメソッドhelloを作成し、
429
- 2つの文字列を受け取り、「Hello, [受け取った文字列].」と2行表示するプログラムを作成せよ。
429
+ 1つの文字列を受け取り、「Hello, 受け取った文字列.」と表示するメソッドhelloを作成し、
430
+ 2つの文字列を受け取り、「Hello, 受け取った文字列.」と2行表示するプログラムを作成せよ。
430
431
 
431
432
  #+begin_src ruby
432
433
  def hello(name)
@@ -446,9 +447,9 @@ Hello, Takahashi.
446
447
 
447
448
  ** ディレクトリ内のファイルの取り込み
448
449
 
449
- 1つの文字列を受け取り、「Hello, [受け取った文字列].」と表示するメソッドhelloが書かれたプログラムhello.rbがある。
450
+ 1つの文字列を受け取り、「Hello, 受け取った文字列.」と表示するメソッドhelloが書かれたプログラムhello.rbがある。
450
451
 
451
- このプログラムを取り込んで、1つの文字列を受け取り、「Hello, [受け取った文字列].」と表示するプログラムを作成せよ。
452
+ このプログラムを取り込んで、1つの文字列を受け取り、「Hello, 受け取った文字列.」と表示するプログラムを作成せよ。
452
453
 
453
454
 
454
455
  - hello.rb
@@ -1 +1 @@
1
- print 'Hello, Ruby.\n'
1
+ print "Hello, Ruby.\n"
@@ -0,0 +1 @@
1
+ print 'Hello, Ruby.\n'
@@ -3,3 +3,4 @@ file = File.open(filename)
3
3
  file.each_line do |line|
4
4
  print line
5
5
  end
6
+ file.close
@@ -0,0 +1,5 @@
1
+ filename = ARGV[0]
2
+ file = File.open(filename)
3
+ file.each_line do |line|
4
+ print line
5
+ end
@@ -0,0 +1,12 @@
1
+ 「Hello, Ruby.」と表示するメソッドを作成し、helloメソッドを用いて「Hello, Ruby.」と表示するプログラムを作成せよ。
2
+
3
+
4
+ - メソッドの作成
5
+
6
+ def メソッド名
7
+ メソッドで実行したい処理
8
+ end
9
+
10
+ メソッドを自分で作る際には、この構文を用いる。
11
+
12
+ 作成したメソッドは、メソッド名をプログラム中に記述することで実行できる。
@@ -0,0 +1,13 @@
1
+ 1つの文字列を受け取り、「Hello, 受け取った文字列.」と表示するメソッドhelloを作成し、2つの文字列を受け取り、「Hello, 受け取った文字列.」と2行表示するプログラムを作成せよ。
2
+
3
+
4
+ - 引数を持つメソッドの作成
5
+
6
+ def メソッド名(変数名)
7
+ メソッド内で実行したい処理
8
+ end
9
+
10
+ 自分で作ったメソッドに引数を渡すこともできる。
11
+ 実行する際は次のように記述する。
12
+
13
+ メソッド名(引数)
@@ -0,0 +1,13 @@
1
+ 1つの文字列を受け取り、「Hello, 受け取った文字列.」と表示するメソッドhelloが書かれたプログラムhello.rbがある。
2
+
3
+ このプログラムを取り込んで、1つの文字列を受け取り、「Hello, 受け取った文字列.」と表示するプログラムを作成せよ。
4
+
5
+
6
+ - require_relative
7
+
8
+ require_relative 使いたいライブラリのファイル名
9
+
10
+ require_relativeメソッドは、他のプログラムから読み込んで利用するためのプログラムである、ライブラリを読み込むためのメソッド。
11
+ このメソッドを呼ぶと、Rubyは引数に指定されたライブラリを探して、そのファイルに書かれた内容を読み込む。読み込みが終わると再び、メソッドの次の行から処理を再開する。
12
+
13
+ この際、使いたいライブラリのファイル名の「.rb」は省略することができる。
@@ -0,0 +1,9 @@
1
+ Rubyの標準ライブラリ「date」を用いて、Rubyが誕生した1993年2月24日から、今日までの日数を表示するプログラムを作成せよ。
2
+
3
+
4
+ - requireメソッド
5
+
6
+ require 使いたいライブラリのファイル名
7
+
8
+ requireメソッドは、Rubyに標準で付属指定るライブラリなど、既存のライブラリを読み込む際に使われるメソッド。
9
+ その他はrequire_relativeメソッドに順ずる。
@@ -0,0 +1,19 @@
1
+
2
+ 「Hello, Ruby.」という文字列を表示するプログラムを作成せよ。文字列の終わりは改行すること。
3
+
4
+
5
+ - オブジェクト
6
+
7
+ Rubyにおいて、文字列、数値、時刻など、様々なデータを表現するための用語。
8
+
9
+
10
+ - print, puts
11
+
12
+ print 引数
13
+ puts 引数
14
+
15
+ 引数として与えられた文字列を出力するメソッド。
16
+ putsメソッドはprintメソッドの処理に加え、与えられた文字列の末尾で改行を行う。
17
+
18
+ 文字列は「"(ダブルクォート)」で囲われた文字の集合を指す。
19
+ 改行は特殊文字「\n」を用いる。
@@ -0,0 +1,6 @@
1
+ 「Hello, "Ruby".」という文字列を表示するプログラムを作成せよ。
2
+
3
+
4
+ - 特殊文字
5
+
6
+ 文字列中に「"」や「\」を用いたい場合は、それぞれ特殊文字「\"」「\\」を用いる。
@@ -0,0 +1,8 @@
1
+ 「"Hello,\n\tRuby."」という文字列を表示するプログラムを作成せよ。
2
+
3
+ - p
4
+
5
+ p 引数
6
+
7
+ 引数として与えられた文字列を「" "」で囲んで表示するメソッド
8
+ その他の処理はputsメソッドに順ずる
@@ -0,0 +1,7 @@
1
+ コマンドラインから5つの引数を受け取り、受け取った順に表示するプログラムを作成せよ。
2
+
3
+
4
+ - ARGV[num]
5
+
6
+ コマンドラインから引数として与えられた文字列を格納する配列オブジェクト
7
+ 1つ目の引数はARGV[0]に格納される
@@ -0,0 +1,14 @@
1
+ コマンドラインから2つの引数を受け取って数値に変換し、その和、差、積、商を表示するプログラムを作成せよ。
2
+
3
+
4
+ - 変数
5
+
6
+ 変数名 = オブジェクト
7
+
8
+
9
+ - .to_i
10
+
11
+ 変数名 = オブジェクト.to_i
12
+
13
+ オブジェクトの直後に記述することで、そのオブジェクトを数値に変換する。
14
+ ARGVは引数を文字列として受け取るため、そのままでは計算には使えないことに注意。
@@ -0,0 +1 @@
1
+ 3つの数値を変数x、y、zとして受け取り、縦x、横y、高さzの直方体の表面積と体積を求め、表示するプログラムを作成せよ。
@@ -0,0 +1,16 @@
1
+ 1つの数値を受け取り、それが10より大きければ「greater」小さければ「smaller」と表示するプログラムを作成せよ、
2
+
3
+
4
+ - if ~ else ~ end
5
+
6
+ if 条件
7
+ 条件が成り立ったときに実行したい処理
8
+ else
9
+ 条件が成り立たなかったときに実行したい処理
10
+ end
11
+
12
+
13
+ 条件によってプログラムの挙動を変える際に用いるメソッド。
14
+ 条件には値がtrue かfalse となる式を書くのが一般的。
15
+ 例えば、2つの値を比較して一致すればtrue,しなければfalseといった具合。
16
+ また、不等号は「<=」、等号は「==」を用いる。
@@ -0,0 +1,10 @@
1
+ 1つの数値をnとして受け取り、1からnまでの数を順番に表示するプログラムを作成せよ。
2
+
3
+ - while文
4
+
5
+ while 繰り返し続ける条件
6
+ 繰り返したい処理
7
+ end
8
+
9
+ 繰り返しを行うための基本的な構文。
10
+ 条件が成り立つ限り、処理を繰り返す。
@@ -0,0 +1,10 @@
1
+ 「All work and no play makes Jack a dull boy.」と5行表示するプログラムを作成せよ。
2
+
3
+
4
+ - timesメソッド
5
+
6
+ 繰り返す回数.times do
7
+ 繰り返したい処理
8
+ end
9
+
10
+ 繰り返す回数が決まっている場合は、timesメソッドを使ってシンプルにできる。
@@ -0,0 +1,14 @@
1
+ 1つの数値をnとして受け取り、配列のn番目の要素を取り出し、表示するプログラムを作成せよ。ただし、配列はプログラム内で定義し、配列には数値が入るものとする。
2
+
3
+
4
+ - 配列(Array)
5
+
6
+ 配列名 = [オブジェクト, オブジェクト, ...]
7
+
8
+ 配列はいくつかのオブジェクトを順序付きで格納したオブジェクト。
9
+ 配列の要素を取り出すには、位置を表す番号であるインデックスを用いて
10
+
11
+ 配列名[インデックス]
12
+
13
+ という構文を用いる。
14
+ 配列の先頭の要素のインデックスは「0」であることに注意。
@@ -1,3 +1,4 @@
1
- # -*- coding: utf-8 -*-
2
1
  配列の先頭の要素をコマンドラインに入力した要素に変更するプログラムを作成せよ。
3
2
  ただし、配列はプログラム内で定義し、配列には数値が入るものとする。
3
+
4
+
@@ -1,3 +1,9 @@
1
- # -*- coding: utf-8 -*-
2
1
  配列を表示し、その配列の大きさも表示するプログラムを作成せよ。
3
2
  ただし、配列はプログラム内で定義すること。
3
+
4
+
5
+ - sizeメソッド
6
+
7
+ 配列名.size
8
+
9
+ sizeメソッドを用いると、配列の大きさを得られる。
@@ -0,0 +1,12 @@
1
+ 配列全体を表示してから、配列の要素を順に表示するプログラムを作成せよ。
2
+ ただし、配列はプログラム内で定義すること。
3
+
4
+
5
+ - eachメソッド
6
+
7
+ 配列名.each do |変数|
8
+ 繰り返したい処理(|変数|で指定された変数を含む)
9
+ end
10
+
11
+ eachメソッドは、配列の要素すべてにアクセスする必要がある際に用いられる。
12
+ 配列から要素を1つずつ取り出して、|変数|で指定された変数に代入して処理を繰り返し実行する。
@@ -0,0 +1,16 @@
1
+ 1つの引数を受け取り、シンボルに変換して表示するプログラムを作成せよ。
2
+
3
+
4
+ - シンボル
5
+
6
+ 文字列に似たオブジェクトで、Rubyがメソッドなどの名前を識別するためのラベルをオブジェクトにしたもの。
7
+ 先頭に「:」をつけて表現する。
8
+
9
+
10
+ - to_symメソッド
11
+
12
+ 文字列.to_sym
13
+
14
+ 文字列をシンボルに変換するためのメソッド。
15
+ 逆に、シンボルを文字列に変換するには、to_sメソッドを用いる。
16
+
@@ -0,0 +1,22 @@
1
+ :name, :furigana というそれぞれのキーに"高橋", "タカハシ"というオブジェクトが格納されているハッシュを作成、表示し、さらに:tel というキーに"000-1234-56778"を格納して再度表示するプログラムを作成せよ。
2
+
3
+
4
+ - ハッシュ
5
+
6
+ ハッシュ名 = {キー => オブジェクト, キー => オブジェクト, ...}
7
+
8
+ 文字列やシンボルなどをキーにしてオブジェクトを格納するコンテナ。
9
+ オブジェクトを取り出すためのキーと、それに対応させるオブジェクトの組からなる。
10
+
11
+ また、キーがシンボルである場合、より短い書き方として、以下のような構文がある。
12
+
13
+ ハッシュ名 = {キー: オブジェクト, キー: オブジェクト, ...}
14
+
15
+
16
+ ハッシュに格納されたオブジェクトを取り出すには、次の構文を用いる。
17
+
18
+ ハッシュ名[キー]
19
+
20
+ また、オブジェクトを格納するには次の構文を用いる。
21
+
22
+ ハッシュ名[キー] = 格納したいオブジェクト
@@ -0,0 +1,20 @@
1
+ 1つの文字列を受け取り、それが「Hello, Ruby」とマッチするなら「match.」マッチしないなら「not match.」と表示するプログラムを作成せよ。
2
+
3
+
4
+ - マッチング
5
+
6
+ ある文字列が、特定の文字列のパターンに一致する部分を持っているか調べること。
7
+ パターンに当てはまることを「マッチする」という。
8
+
9
+
10
+ - 正規表現
11
+
12
+ /パターン/
13
+
14
+ マッチングを行う際に用いられる構文。
15
+ 正規表現と文字列のマッチングを行うには、
16
+
17
+ /パターン/ =~ マッチングしたい文字列
18
+
19
+ という構文を用いる。マッチングに成功すると、マッチした部分の位置を返す。
20
+
@@ -0,0 +1,8 @@
1
+ 1つの文字列を受け取り、文字列と一致するファイル名のテキストデータを表示するプログラムを作成せよ。
2
+
3
+
4
+ - File.read
5
+
6
+ text = File.read(ファイル名)
7
+
8
+ File.readメソッドは、受け取ったファイル名と同じ名前のファイルのデータを読み込むメソッド。
@@ -0,0 +1,15 @@
1
+ 1つの文字列を受け取り、文字列と一致するファイル名のテキストデータを1行ずつ読み取り、表示するプログラムを作成せよ。
2
+
3
+
4
+ - file.each_line
5
+
6
+ file = File.open(ファイル名)
7
+ file.each_line do |変数|
8
+ 繰り返したい処理
9
+ end
10
+ file.close
11
+
12
+ each_lineメソッドはファイルの各行をそれぞれ処理するメソッド。
13
+ ファイルを1行ずつ読み込み、処理を繰り返す。
14
+
15
+ open,closeメソッドはそれぞれファイルを読み込むためにファイルを開くメソッド、開いたファイルを閉じるメソッド。
@@ -0,0 +1,8 @@
1
+ 2つの文字列を受け取り、2つ目の文字列に一致するファイル名のテキストデータの各行から、1つ目の文字列にマッチする行を出力するプログラムを作成せよ。
2
+
3
+
4
+ - Regexp.new
5
+
6
+ 変数名 = Regexp(文字列)
7
+
8
+ 与えられた文字列から正規表現オブジェクトを作るメソッド。
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_learner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takaki Otsu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-19 00:00:00.000000000 Z
11
+ date: 2018-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -301,6 +301,7 @@ files:
301
301
  - takahashi/sample_prog/answer/11_1.rb
302
302
  - takahashi/sample_prog/answer/11_2.rb
303
303
  - takahashi/sample_prog/answer/1_1.rb
304
+ - takahashi/sample_prog/answer/1_1.rb~
304
305
  - takahashi/sample_prog/answer/1_2.rb
305
306
  - takahashi/sample_prog/answer/1_3.rb
306
307
  - takahashi/sample_prog/answer/2_1.rb
@@ -318,31 +319,32 @@ files:
318
319
  - takahashi/sample_prog/answer/8_1.rb
319
320
  - takahashi/sample_prog/answer/9_1.rb
320
321
  - takahashi/sample_prog/answer/9_2.rb
322
+ - takahashi/sample_prog/answer/9_2.rb~
321
323
  - takahashi/sample_prog/answer/9_3.rb
322
324
  - takahashi/sample_prog/answer/hello.rb
323
- - takahashi/sample_prog/question/10_1.rb
324
- - takahashi/sample_prog/question/10_2.rb
325
- - takahashi/sample_prog/question/11_1.rb
326
- - takahashi/sample_prog/question/11_2.rb
327
- - takahashi/sample_prog/question/1_1.rb
328
- - takahashi/sample_prog/question/1_2.rb
329
- - takahashi/sample_prog/question/1_3.rb
330
- - takahashi/sample_prog/question/2_1.rb
331
- - takahashi/sample_prog/question/2_2.rb
332
- - takahashi/sample_prog/question/3_1.rb
333
- - takahashi/sample_prog/question/4_1.rb
334
- - takahashi/sample_prog/question/5_1.rb
335
- - takahashi/sample_prog/question/5_2.rb
336
- - takahashi/sample_prog/question/6_1.rb
337
- - takahashi/sample_prog/question/6_2.rb
338
- - takahashi/sample_prog/question/6_3.rb
339
- - takahashi/sample_prog/question/6_4.rb
340
- - takahashi/sample_prog/question/7_1.rb
341
- - takahashi/sample_prog/question/7_2.rb
342
- - takahashi/sample_prog/question/8_1.rb
343
- - takahashi/sample_prog/question/9_1.rb
344
- - takahashi/sample_prog/question/9_2.rb
345
- - takahashi/sample_prog/question/9_3.rb
325
+ - takahashi/sample_prog/question/10_1.org
326
+ - takahashi/sample_prog/question/10_2.org
327
+ - takahashi/sample_prog/question/11_1.org
328
+ - takahashi/sample_prog/question/11_2.org
329
+ - takahashi/sample_prog/question/1_1.org
330
+ - takahashi/sample_prog/question/1_2.org
331
+ - takahashi/sample_prog/question/1_3.org
332
+ - takahashi/sample_prog/question/2_1.org
333
+ - takahashi/sample_prog/question/2_2.org
334
+ - takahashi/sample_prog/question/3_1.org
335
+ - takahashi/sample_prog/question/4_1.org
336
+ - takahashi/sample_prog/question/5_1.org
337
+ - takahashi/sample_prog/question/5_2.org
338
+ - takahashi/sample_prog/question/6_1.org
339
+ - takahashi/sample_prog/question/6_2.org
340
+ - takahashi/sample_prog/question/6_3.org
341
+ - takahashi/sample_prog/question/6_4.org
342
+ - takahashi/sample_prog/question/7_1.org
343
+ - takahashi/sample_prog/question/7_2.org
344
+ - takahashi/sample_prog/question/8_1.org
345
+ - takahashi/sample_prog/question/9_1.org
346
+ - takahashi/sample_prog/question/9_2.org
347
+ - takahashi/sample_prog/question/9_3.org
346
348
  - workshop/.rspec
347
349
  - workshop/emacs.d/#init#
348
350
  - workshop/emacs.d/ac-comphist.dat
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 「Hello, Ruby.」と表示するメソッドhelloを用いて、「Hello, Ruby.」と表示するプログラムを作成せよ。
@@ -1,3 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、「Hello, [受け取った文字列].」と表示するメソッドhelloを作成し、
3
- 2つの文字列を受け取り、「Hello, [受け取った文字列].」と2行表示するプログラムを作成せよ。
@@ -1,4 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、「Hello, [受け取った文字列].」と表示するメソッドhelloが書かれたプログラムhello.rbがある。
3
-
4
- このプログラムを取り込んで、1つの文字列を受け取り、「Hello, [受け取った文字列].」と表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- Rubyの標準ライブラリ「date」を用いて、Rubyが誕生した1993年2月24日から、今日までの日数を表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 「Hello, Ruby.」という文字列を表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 「Hello, "Ruby".」という文字列を表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 「"Hello,\n\tRuby."」という文字列を表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- コマンドラインから5つの引数を受け取り、受け取った順に表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- コマンドラインから数値を2つ受け取り、その和、差、積、商を表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 3つの数値をx、y、zとして受け取り、縦x、横y、高さzの直方体の表面積と体積を求め、表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの数値を受け取り、それが10より大きければ「greater」小さければ「smaller」と表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの数値をnとして受け取り、1からnまでの数を順番に表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 「All work and no play makes Jack a dull boy.」と5行表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの数値をnとして受け取り、配列のn番目の要素を取り出し、表示するプログラムを作成せよ。ただし、配列はプログラム内で定義し、配列には数値が入るものとする。
@@ -1,3 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 配列全体を表示してから、配列の要素を順に表示するプログラムを作成せよ。
3
- ただし、配列はプログラム内で定義すること。
@@ -1,3 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、シンボルに変換して表示するプログラムを作成せよ。
3
-
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- :name, :furigana というそれぞれのキーに"高橋", "タカハシ"というオブジェクトが格納されているハッシュを作成、表示し、さらに:tel というキーに"000-1234-5678"を格納して再度表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、それが「Hello, Ruby」とマッチするなら「match.」マッチしないなら「not match」と表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、該当するファイル名のテキストデータを表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 1つの文字列を受け取り、該当するファイル名のテキストデータを1行ずつ読み取り、表示するプログラムを作成せよ。
@@ -1,2 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- 2つの文字列を受け取り、2つ目の文字列に該当するファイル名のテキストデータの中から、1つ目の文字列にマッチする行を出力するプログラムを作成せよ。