Skip to content

Commit 89935a9

Browse files
authored
Update main.go
1 parent 5edd26d commit 89935a9

1 file changed

Lines changed: 24 additions & 5 deletions

File tree

main.go

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,32 @@ package main
22

33
import (
44
"bufio"
5+
"fmt"
56
"io"
67
"os"
78
)
89

910
func main() {
10-
reader := bufio.NewReader(os.Stdin)
11-
writer := bufio.NewWriter(os.Stdout)
11+
// 引数チェック(ファイルパスが貼り付けられてくる想定)
12+
if len(os.Args) < 2 {
13+
fmt.Println("使用法: go run main.go <ファイルパス>")
14+
return
15+
}
16+
filePath := os.Args[1]
17+
18+
file, err := os.Open(filePath)
19+
if err != nil {
20+
fmt.Fprintf(os.Stderr, "エラー: %v\n", err)
21+
os.Exit(1)
22+
}
23+
defer file.Close()
24+
25+
process(file, os.Stdout)
26+
}
27+
28+
func process(r io.Reader, w io.Writer) {
29+
reader := bufio.NewReader(r)
30+
writer := bufio.NewWriter(w)
1231
defer writer.Flush()
1332

1433
inString := false
@@ -26,7 +45,7 @@ func main() {
2645

2746
if !inString && r == '/' {
2847
next, _, _ := reader.ReadRune()
29-
if next == '/' { // 1行コメント //
48+
if next == '/' { // 1行コメント
3049
for {
3150
n, _, _ := reader.ReadRune()
3251
if n == '\n' || n == 0 {
@@ -35,7 +54,7 @@ func main() {
3554
}
3655
}
3756
continue
38-
} else if next == '*' { // 複数行コメント /* */
57+
} else if next == '*' { // 複数行コメント
3958
for {
4059
n, _, _ := reader.ReadRune()
4160
if n == '*' {
@@ -49,7 +68,7 @@ func main() {
4968
continue
5069
} else {
5170
writer.WriteRune(r)
52-
reader.UnreadRune()
71+
_ = reader.UnreadRune()
5372
continue
5473
}
5574
}

0 commit comments

Comments
 (0)