質問編集履歴

3

修正

2018/10/13 05:27

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Rubyそ文言が含まれるタイトル抽出して、そ番号で置換する
1
+ 文章一部分をのみを置換したい
test CHANGED
@@ -1,18 +1,26 @@
1
- ### 前提
1
+ 文章の一部分をのみを置換したい
2
2
 
3
- 複数の文章(post_all)の中から、[[ ]]内に含まれる文言を抽出して
4
-
5
- そのタイトルを検索て(name)、その番号(number)を取得してます
3
+ ### 前提・実現こと
6
4
 
7
5
 
8
6
 
9
- ### 実現こと
7
+ ここに質問の内容を詳く書てください。
8
+
9
+ (例)PHP(CakePHP)で●●なシステムを作っています。
10
+
11
+ ■■な機能を実装中に以下のエラーメッセージが発生しました。
10
12
 
11
13
 
12
14
 
13
- その番号に合致す文章(body_md)を
15
+ ### 発生してい問題・エラーメッセージ
14
16
 
17
+
18
+
19
+ ```
20
+
15
- [#{name}]/posts/(number)の形に置換したいです
21
+ エラーメッセージ
22
+
23
+ ```
16
24
 
17
25
 
18
26
 
@@ -20,49 +28,9 @@
20
28
 
21
29
 
22
30
 
23
- ```ruby
31
+ ```ここに言語名を入力
24
32
 
25
- post_all = [
26
-
27
- {"number" => 12345, "name" => "foo", "body_md" => "[[hoge]]"},
28
-
29
- {"number" => 67890, "name" => "hoge","body_md" => "[[none]]"},
30
-
31
- {"number" => 99999, "name" => "bar", "body_md" => "foo"},
32
-
33
- {"number" => 11111, "name" => "baz", "body_md" => "[[hoge]][[bar]]"}
34
-
35
- ]
36
-
37
- name_tbl = post_all.map{|post| post.values_at('name', 'number') }.to_h
38
-
39
- post_all.each{|post|
40
-
41
- body_md = post['body_md']
42
-
43
- name = post['name']
44
-
45
- number = post['number']
46
-
47
- body_md.scan(/[[(.+?)]]/){|(ref)|
48
-
49
- puts "#{name}: #{ref} => #{name_tbl[ref]}"
50
-
51
- =begin
33
+ ソースコード
52
-
53
- foo: hoge => 67890
54
-
55
- hoge: none =>
56
-
57
- baz: hoge => 67890
58
-
59
- baz: bar => 99999
60
-
61
- =end
62
-
63
- }
64
-
65
- }
66
34
 
67
35
  ```
68
36
 
@@ -72,58 +40,12 @@
72
40
 
73
41
 
74
42
 
75
- ```ruby
76
-
77
- post_all = [
78
-
79
- {"number" => 12345, "name" => "foo", "body_md" => "[[hoge]]"},
80
-
81
- {"number" => 67890, "name" => "hoge","body_md" => "[[none]]"},
82
-
83
- {"number" => 99999, "name" => "bar", "body_md" => "foo"},
84
-
85
- {"number" => 11111, "name" => "baz", "body_md" => "[[hoge]][[bar]]"}
86
-
87
- ]
88
-
89
- name_tbl = post_all.map{|post| post.values_at('name', 'number') }.to_h
90
-
91
- post_all.each{|post|
43
+ ここに問題に対して試したことを記載してください。
92
-
93
- body_md = post['body_md']
94
-
95
- name = post['name']
96
-
97
- number = post['number']
98
-
99
- body_md.scan(/[[(.+?)]]/){|(ref)|
100
-
101
- body_md.gsub!(/[[(.+)]]/, '[\1](/posts/' + "#{$name_tbl[ref]})")
102
-
103
- }
104
-
105
- }
106
-
107
- ```
108
44
 
109
45
 
110
46
 
111
- ### エラ
47
+ ### 補足情報(FW/ツルのバージョンなど)
112
48
 
113
- ```ruby
114
49
 
115
- undefined method `[]' for nil:NilClass (NoMethodError)
116
50
 
117
- #body_mdの内容が更新できていない
51
+ ここにより詳細な情報を記載しくださ
118
-
119
- ```
120
-
121
- ### 試したこと
122
-
123
- ```ruby
124
-
125
- new_body_md = "[" + "#{ref}" + "]" + "/posts/#{name_tbl[ref]}"
126
-
127
- #希望の形をとりあえず出力した
128
-
129
- ```

2

修正

2018/10/13 05:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  その番号に合致する文章(body_md)を
14
14
 
15
- /posts/(number)の形に置換したいです
15
+ [#{name}]/posts/(number)の形に置換したいです
16
16
 
17
17
 
18
18
 

1

修正

2018/10/10 07:50

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -72,10 +72,6 @@
72
72
 
73
73
 
74
74
 
75
-
76
-
77
-
78
-
79
75
  ```ruby
80
76
 
81
77
  post_all = [
@@ -109,3 +105,25 @@
109
105
  }
110
106
 
111
107
  ```
108
+
109
+
110
+
111
+ ### エラー
112
+
113
+ ```ruby
114
+
115
+ undefined method `[]' for nil:NilClass (NoMethodError)
116
+
117
+ #body_mdの内容が更新できていない
118
+
119
+ ```
120
+
121
+ ### 試したこと
122
+
123
+ ```ruby
124
+
125
+ new_body_md = "[" + "#{ref}" + "]" + "/posts/#{name_tbl[ref]}"
126
+
127
+ #希望の形をとりあえず出力した
128
+
129
+ ```