回答編集履歴
8
修正
test
CHANGED
@@ -284,6 +284,8 @@
|
|
284
284
|
|
285
285
|
```
|
286
286
|
|
287
|
+
-----------------------------
|
288
|
+
|
287
289
|
[1]なぽりたん
|
288
290
|
|
289
291
|
【ナポリタン】
|
@@ -302,6 +304,8 @@
|
|
302
304
|
|
303
305
|
|
304
306
|
|
307
|
+
-----------------------------
|
308
|
+
|
305
309
|
[2]なぽりたん
|
306
310
|
|
307
311
|
【ナポリタン】
|
7
修正
test
CHANGED
@@ -270,7 +270,13 @@
|
|
270
270
|
|
271
271
|
|
272
272
|
|
273
|
-
|
273
|
+
search(ARGV[0]).each do |s|
|
274
|
+
|
275
|
+
puts "-----------------------------"
|
276
|
+
|
277
|
+
puts s
|
278
|
+
|
279
|
+
end
|
274
280
|
|
275
281
|
```
|
276
282
|
|
6
修正
test
CHANGED
@@ -254,8 +254,6 @@
|
|
254
254
|
|
255
255
|
end
|
256
256
|
|
257
|
-
answer = ""
|
258
|
-
|
259
257
|
if flag == 1
|
260
258
|
|
261
259
|
array << line.gsub("<-|->", "\n")
|
5
修正
test
CHANGED
@@ -228,6 +228,96 @@
|
|
228
228
|
|
229
229
|
```
|
230
230
|
|
231
|
+
改良版
|
232
|
+
|
233
|
+
```Ruby
|
234
|
+
|
235
|
+
def search(word)
|
236
|
+
|
237
|
+
word = word.chomp.encode("windows-31J")
|
238
|
+
|
239
|
+
array = []
|
240
|
+
|
241
|
+
File.open("index.txt", "r") do |f|
|
242
|
+
|
243
|
+
f.each_line do |line|
|
244
|
+
|
245
|
+
flag = 0
|
246
|
+
|
247
|
+
line.gsub("<-|->", "\n").each_line.with_index do |element, i|
|
248
|
+
|
249
|
+
if i == 0 && element =~ /\A(#{"★".encode("windows-31J")}|\[\d{1}\])#{word}\Z/
|
250
|
+
|
251
|
+
flag = 1
|
252
|
+
|
253
|
+
end
|
254
|
+
|
255
|
+
end
|
256
|
+
|
257
|
+
answer = ""
|
258
|
+
|
259
|
+
if flag == 1
|
260
|
+
|
261
|
+
array << line.gsub("<-|->", "\n")
|
262
|
+
|
263
|
+
end
|
264
|
+
|
265
|
+
end
|
266
|
+
|
267
|
+
end
|
268
|
+
|
269
|
+
return array
|
270
|
+
|
271
|
+
end
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
puts search(ARGV[0])
|
276
|
+
|
277
|
+
```
|
278
|
+
|
279
|
+
実行結果例
|
280
|
+
|
281
|
+
```
|
282
|
+
|
283
|
+
[1]なぽりたん
|
284
|
+
|
285
|
+
【ナポリタン】
|
286
|
+
|
287
|
+
◇[フ]napolitain
|
288
|
+
|
289
|
+
○(1)[料]トマトを使ってイタリアの都市ナポリ風に味付けを
|
290
|
+
|
291
|
+
した料理。
|
292
|
+
|
293
|
+
○(2)[料](特に)スパゲティ(spaghetti)をベーコン・マッシュ
|
294
|
+
|
295
|
+
ルームなどと炒(イタ)めて、トマトピューレをからめた料理。
|
296
|
+
|
297
|
+
参照⇒なぽれたーに(ナポレターニ)(2)
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
[2]なぽりたん
|
302
|
+
|
303
|
+
【ナポリタン】
|
304
|
+
|
305
|
+
◇[英]Neapolitan(ニーポリタン)
|
306
|
+
|
307
|
+
○(1)[形]ナポリの。
|
308
|
+
|
309
|
+
○(2)[名]ナポリの人。ナポリ出身の人・ナポリ在住の人。
|
310
|
+
|
311
|
+
イタリア語では男性を「ナポレターノ(napoletano)」、女性を
|
312
|
+
|
313
|
+
「ナポレターナ(napoletana)」と呼ぶ。
|
314
|
+
|
315
|
+
○(3)[食](neapolitan)⇒なぽりたんあいすくりーむ(ナポリタ
|
316
|
+
|
317
|
+
ンアイスクリーム,ナポリタン・アイスクリーム)
|
318
|
+
|
319
|
+
```
|
320
|
+
|
231
321
|
素人ながら考えてみました。
|
232
322
|
|
233
323
|
文字列に特定の語が含まれるかだけで表示しているので微妙です。
|
4
修正
test
CHANGED
@@ -250,7 +250,7 @@
|
|
250
250
|
|
251
251
|
```Ruby
|
252
252
|
|
253
|
-
def index(path) #この処理の名前。
|
253
|
+
def index(path) #この処理の名前。何でもよい。
|
254
254
|
|
255
255
|
Dir.glob("#{path}/*").each do |folder| #indexフォルダの中にあるフォルダを全て取得して配列にする。できた配列から1つずつ要素を取り出してfolderに入れる。
|
256
256
|
|
3
修正
test
CHANGED
@@ -245,3 +245,91 @@
|
|
245
245
|
[StreamReader でファイルを 1 行ずつ読み込む](http://jeanne.wankuma.com/tips/csharp/stream/readline.html)
|
246
246
|
|
247
247
|
[文字列に特定の文字列が含まれているかを調べるには?(Contains編)[2.0のみ、C#、VB]](http://www.atmarkit.co.jp/fdotnet/dotnettips/411contains/contains.html)
|
248
|
+
|
249
|
+
##補足
|
250
|
+
|
251
|
+
```Ruby
|
252
|
+
|
253
|
+
def index(path) #この処理の名前。特に意味はない。
|
254
|
+
|
255
|
+
Dir.glob("#{path}/*").each do |folder| #indexフォルダの中にあるフォルダを全て取得して配列にする。できた配列から1つずつ要素を取り出してfolderに入れる。
|
256
|
+
|
257
|
+
Dir.glob("#{folder}/*.txt").each do |file| #folderの中にあるテキストファイルを全て取得して配列にする。できた配列から1つずつ要素を取り出してfileに入れる。
|
258
|
+
|
259
|
+
array = [] #配列を用意。
|
260
|
+
|
261
|
+
File.open(file) do |f| #fileを開きます。
|
262
|
+
|
263
|
+
f.each_line do |line| #fileを一行ずつ読み込んでlineに入れる。
|
264
|
+
|
265
|
+
array << line #lineをarrayに入れる。(文字コードのエラーでsplitが使えなかったのでこんなことをしています。)
|
266
|
+
|
267
|
+
end
|
268
|
+
|
269
|
+
end
|
270
|
+
|
271
|
+
array.shift(5) #配列の前から5つまでの要素を削除(いらないので)
|
272
|
+
|
273
|
+
array.pop #配列の最後の要素を削除(いらないので)
|
274
|
+
|
275
|
+
str = "" #文字列を入れるのに使う。
|
276
|
+
|
277
|
+
array.each do |element| #arrayの中身を一つずつ取り出してelementに入れる。
|
278
|
+
|
279
|
+
element = element.gsub("\n", "<-|->") #elementの文字をgsubで置き換える。(改行文字を"<-|->"に置き換えている。この文字列に特に意味はない。)
|
280
|
+
|
281
|
+
unless element.include?("\t") #elementが改行文字を含まない場合は(unlessはifの逆の意味 「if a != 1」は「unless a == 1」と同じ意味)
|
282
|
+
|
283
|
+
element = "\n" + element #elementの先頭に改行文字を足す。(こうなる場合は項目の最初だけ)
|
284
|
+
|
285
|
+
end
|
286
|
+
|
287
|
+
str += element #strにelementを足す。
|
288
|
+
|
289
|
+
end
|
290
|
+
|
291
|
+
str.slice!(0) #strの先頭の改行文字を取り除く。
|
292
|
+
|
293
|
+
File.open("index.txt", "a") do |output| #index.txtを開く/作る
|
294
|
+
|
295
|
+
output.puts(str) #index.txtにstrの内容を書き込む。
|
296
|
+
|
297
|
+
end
|
298
|
+
|
299
|
+
end
|
300
|
+
|
301
|
+
end
|
302
|
+
|
303
|
+
end
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
=begin
|
308
|
+
|
309
|
+
簡単に言うとindexフォルダの中にあるテキストファイルをすべて連結した
|
310
|
+
|
311
|
+
1つのテキストファイルを作るということをしている。
|
312
|
+
|
313
|
+
=end
|
314
|
+
|
315
|
+
```
|
316
|
+
|
317
|
+
忘れていましたが、「def index」を使う前に
|
318
|
+
|
319
|
+
```Ruby
|
320
|
+
|
321
|
+
Dir.glob("index/*").each do |folder|
|
322
|
+
|
323
|
+
Dir.glob("#{folder}/*").each do |file|
|
324
|
+
|
325
|
+
File.rename(file, "#{file}.txt")
|
326
|
+
|
327
|
+
end
|
328
|
+
|
329
|
+
end
|
330
|
+
|
331
|
+
```
|
332
|
+
|
333
|
+
みたいな感じで「index」フォルダの中にある拡張子のない
|
334
|
+
|
335
|
+
テキストファイルに拡張子をつけるということをしていました。
|
2
修正
test
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
str = ""
|
30
30
|
|
31
|
-
array.
|
31
|
+
array.each do |element|
|
32
32
|
|
33
33
|
element = element.gsub("\n", "<-|->")
|
34
34
|
|
@@ -212,10 +212,10 @@
|
|
212
212
|
|
213
213
|
}
|
214
214
|
|
215
|
+
sr.Close();
|
216
|
+
|
215
217
|
Console.ReadKey();
|
216
218
|
|
217
|
-
sr.Close();
|
218
|
-
|
219
219
|
|
220
220
|
|
221
221
|
}
|
1
修正
test
CHANGED
@@ -239,3 +239,9 @@
|
|
239
239
|
1.「index」というフォルダを1つ作ってその中に解凍してできたフォルダをいれる。
|
240
240
|
|
241
241
|
2.「index」の中にあるファイルの拡張子を全て「.txt」にする。
|
242
|
+
|
243
|
+
C#はこちらのサイトを参考にしました。
|
244
|
+
|
245
|
+
[StreamReader でファイルを 1 行ずつ読み込む](http://jeanne.wankuma.com/tips/csharp/stream/readline.html)
|
246
|
+
|
247
|
+
[文字列に特定の文字列が含まれているかを調べるには?(Contains編)[2.0のみ、C#、VB]](http://www.atmarkit.co.jp/fdotnet/dotnettips/411contains/contains.html)
|