ruby_learner 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/ruby_learner/version.rb +1 -1
- data/questions/sequential_check/section_1/part_1/lib/sentence.org +19 -2
- data/questions/sequential_check/section_1/part_2/lib/sentence.org +5 -1
- data/questions/sequential_check/section_1/part_3/lib/sentence.org +7 -1
- data/questions/sequential_check/section_10/part_1/lib/sentence.org +12 -2
- data/questions/sequential_check/section_10/part_2/lib/sentence.org +13 -3
- data/questions/sequential_check/section_11/part_1/lib/sentence.org +12 -3
- data/questions/sequential_check/section_11/part_2/lib/sentence.org +8 -1
- data/questions/sequential_check/section_2/part_1/lib/sentence.org +6 -1
- data/questions/sequential_check/section_2/part_2/lib/sentence.org +14 -2
- data/questions/sequential_check/section_3/part_1/lib/sentence.org +1 -2
- data/questions/sequential_check/section_4/part_1/lib/sentence.org +16 -2
- data/questions/sequential_check/section_5/part_1/lib/sentence.org +9 -1
- data/questions/sequential_check/section_5/part_2/lib/sentence.org +10 -2
- data/questions/sequential_check/section_6/part_1/lib/sentence.org +13 -1
- data/questions/sequential_check/section_6/part_2/lib/sentence.org +2 -1
- data/questions/sequential_check/section_6/part_3/lib/sentence.org +7 -1
- data/questions/sequential_check/section_6/part_4/lib/sentence.org +10 -1
- data/questions/sequential_check/section_7/part_1/lib/sentence.org +15 -2
- data/questions/sequential_check/section_7/part_2/lib/sentence.org +22 -2
- data/questions/sequential_check/section_8/part_1/lib/sentence.org +20 -2
- data/questions/sequential_check/section_9/part_1/lib/sentence.org +8 -2
- data/questions/sequential_check/section_9/part_2/lib/sentence.org +15 -2
- data/questions/sequential_check/section_9/part_3/lib/sentence.org +8 -2
- data/takahashi/docs/README.org +8 -0
- data/takahashi/docs/README.org~ +9 -0
- data/takahashi/docs/drill.org +14 -13
- data/takahashi/sample_prog/answer/1_1.rb +1 -1
- data/takahashi/sample_prog/answer/1_1.rb~ +1 -0
- data/takahashi/sample_prog/answer/9_2.rb +1 -0
- data/takahashi/sample_prog/answer/9_2.rb~ +5 -0
- data/takahashi/sample_prog/question/10_1.org +12 -0
- data/takahashi/sample_prog/question/10_2.org +13 -0
- data/takahashi/sample_prog/question/11_1.org +13 -0
- data/takahashi/sample_prog/question/11_2.org +9 -0
- data/takahashi/sample_prog/question/1_1.org +19 -0
- data/takahashi/sample_prog/question/1_2.org +6 -0
- data/takahashi/sample_prog/question/1_3.org +8 -0
- data/takahashi/sample_prog/question/2_1.org +7 -0
- data/takahashi/sample_prog/question/2_2.org +14 -0
- data/takahashi/sample_prog/question/3_1.org +1 -0
- data/takahashi/sample_prog/question/4_1.org +16 -0
- data/takahashi/sample_prog/question/5_1.org +10 -0
- data/takahashi/sample_prog/question/5_2.org +10 -0
- data/takahashi/sample_prog/question/6_1.org +14 -0
- data/takahashi/sample_prog/question/{6_2.rb → 6_2.org} +2 -1
- data/takahashi/sample_prog/question/{6_3.rb → 6_3.org} +7 -1
- data/takahashi/sample_prog/question/6_4.org +12 -0
- data/takahashi/sample_prog/question/7_1.org +16 -0
- data/takahashi/sample_prog/question/7_2.org +22 -0
- data/takahashi/sample_prog/question/8_1.org +20 -0
- data/takahashi/sample_prog/question/9_1.org +8 -0
- data/takahashi/sample_prog/question/9_2.org +15 -0
- data/takahashi/sample_prog/question/9_3.org +8 -0
- metadata +27 -25
- data/takahashi/sample_prog/question/10_1.rb +0 -2
- data/takahashi/sample_prog/question/10_2.rb +0 -3
- data/takahashi/sample_prog/question/11_1.rb +0 -4
- data/takahashi/sample_prog/question/11_2.rb +0 -2
- data/takahashi/sample_prog/question/1_1.rb +0 -2
- data/takahashi/sample_prog/question/1_2.rb +0 -2
- data/takahashi/sample_prog/question/1_3.rb +0 -2
- data/takahashi/sample_prog/question/2_1.rb +0 -2
- data/takahashi/sample_prog/question/2_2.rb +0 -2
- data/takahashi/sample_prog/question/3_1.rb +0 -2
- data/takahashi/sample_prog/question/4_1.rb +0 -2
- data/takahashi/sample_prog/question/5_1.rb +0 -2
- data/takahashi/sample_prog/question/5_2.rb +0 -2
- data/takahashi/sample_prog/question/6_1.rb +0 -2
- data/takahashi/sample_prog/question/6_4.rb +0 -3
- data/takahashi/sample_prog/question/7_1.rb +0 -3
- data/takahashi/sample_prog/question/7_2.rb +0 -2
- data/takahashi/sample_prog/question/8_1.rb +0 -2
- data/takahashi/sample_prog/question/9_1.rb +0 -2
- data/takahashi/sample_prog/question/9_2.rb +0 -2
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 530b4b500f5fe0c5cc0cb97a451971dd74678069
|
4
|
+
data.tar.gz: 57e5c8e2565455f5aafb805ea220369bcd8ad2a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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/
|
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
|
|
data/lib/ruby_learner/version.rb
CHANGED
@@ -1,2 +1,19 @@
|
|
1
|
-
|
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,12 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
「Hello, Ruby.」と表示するメソッドを作成し、helloメソッドを用いて「Hello, Ruby.」と表示するプログラムを作成せよ。
|
2
|
+
|
3
|
+
|
4
|
+
- メソッドの作成
|
5
|
+
|
6
|
+
def メソッド名
|
7
|
+
メソッドで実行したい処理
|
8
|
+
end
|
9
|
+
|
10
|
+
メソッドを自分で作る際には、この構文を用いる。
|
11
|
+
|
12
|
+
作成したメソッドは、メソッド名をプログラム中に記述することで実行できる。
|
@@ -1,3 +1,13 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
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
|
-
|
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,14 @@
|
|
1
|
-
|
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
|
-
|
2
|
-
3つの数値をx、y、zとして受け取り、縦x、横y、高さzの直方体の表面積と体積を求め、表示するプログラムを作成せよ。
|
1
|
+
3つの数値を変数x、y、zとして受け取り、縦x、横y、高さzの直方体の表面積と体積を求め、表示するプログラムを作成せよ。
|
@@ -1,2 +1,16 @@
|
|
1
|
-
|
2
|
-
|
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,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,16 @@
|
|
1
|
-
|
2
|
-
|
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
|
-
|
2
|
-
|
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
|
-
|
2
|
-
|
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,15 @@
|
|
1
|
-
|
2
|
-
|
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メソッドはそれぞれファイルを読み込むためにファイルを開くメソッド、開いたファイルを閉じるメソッド。
|
data/takahashi/docs/README.org
CHANGED
@@ -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
|
+
|
data/takahashi/docs/README.org~
CHANGED
@@ -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
|
+
どうしましょ
|
data/takahashi/docs/drill.org
CHANGED
@@ -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
|
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
|
-
|
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
|
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
|
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
|
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,
|
429
|
-
2つの文字列を受け取り、「Hello,
|
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,
|
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
|
1
|
+
print "Hello, Ruby.\n"
|
@@ -0,0 +1 @@
|
|
1
|
+
print 'Hello, Ruby.\n'
|
@@ -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,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 @@
|
|
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,14 @@
|
|
1
|
+
1つの数値をnとして受け取り、配列のn番目の要素を取り出し、表示するプログラムを作成せよ。ただし、配列はプログラム内で定義し、配列には数値が入るものとする。
|
2
|
+
|
3
|
+
|
4
|
+
- 配列(Array)
|
5
|
+
|
6
|
+
配列名 = [オブジェクト, オブジェクト, ...]
|
7
|
+
|
8
|
+
配列はいくつかのオブジェクトを順序付きで格納したオブジェクト。
|
9
|
+
配列の要素を取り出すには、位置を表す番号であるインデックスを用いて
|
10
|
+
|
11
|
+
配列名[インデックス]
|
12
|
+
|
13
|
+
という構文を用いる。
|
14
|
+
配列の先頭の要素のインデックスは「0」であることに注意。
|
@@ -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,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メソッドはそれぞれファイルを読み込むためにファイルを開くメソッド、開いたファイルを閉じるメソッド。
|
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.
|
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-
|
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.
|
324
|
-
- takahashi/sample_prog/question/10_2.
|
325
|
-
- takahashi/sample_prog/question/11_1.
|
326
|
-
- takahashi/sample_prog/question/11_2.
|
327
|
-
- takahashi/sample_prog/question/1_1.
|
328
|
-
- takahashi/sample_prog/question/1_2.
|
329
|
-
- takahashi/sample_prog/question/1_3.
|
330
|
-
- takahashi/sample_prog/question/2_1.
|
331
|
-
- takahashi/sample_prog/question/2_2.
|
332
|
-
- takahashi/sample_prog/question/3_1.
|
333
|
-
- takahashi/sample_prog/question/4_1.
|
334
|
-
- takahashi/sample_prog/question/5_1.
|
335
|
-
- takahashi/sample_prog/question/5_2.
|
336
|
-
- takahashi/sample_prog/question/6_1.
|
337
|
-
- takahashi/sample_prog/question/6_2.
|
338
|
-
- takahashi/sample_prog/question/6_3.
|
339
|
-
- takahashi/sample_prog/question/6_4.
|
340
|
-
- takahashi/sample_prog/question/7_1.
|
341
|
-
- takahashi/sample_prog/question/7_2.
|
342
|
-
- takahashi/sample_prog/question/8_1.
|
343
|
-
- takahashi/sample_prog/question/9_1.
|
344
|
-
- takahashi/sample_prog/question/9_2.
|
345
|
-
- takahashi/sample_prog/question/9_3.
|
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
|