csvファイルを任意の名前にしたい

実現したいこと

rubyを使いcsvファイルを出力する際にファイル名を入力されたファイル名にして出力したい

前提

rubyを使ってcsvファイルで出力するメモアプリのようなものを作成中です。
ファイルを出力する際にファイル名をコンソール上で入力し出力したい。

発生している問題・エラーメッセージ

memo.rb:22:in made_memo': undefined local variable or method name' for main:Object (NameError)

エラーメッセージ

該当のソースコード

require "csv"

def make_memo
print"出力するコンテンツ:"
contents=gets.chomp
{"contents"=>contents}
end

def made_memo(memo)
print"ファイル名:"
name=gets.chomp
File.rename("memo.csv",name.csv)
CSV.open(name.csv, "w") do |csv|
csv<<[memo]
end
end

def add_memo(memo)
puts "内容:"
CSV.open(name.csv, "a" ) do |csv|
csv<<[memo]
end
end

memos=[]

while true
puts"新規作成は[1]"
puts"CSVファイルの編集は[2]"
puts"終了は[end]"
mode=gets.chomp

if mode=="1"
memos.push(make_memo)
made_memo(memos)
elsif mode=="2"
memos.push(make_memo)
add_memo(memos)
elsif mode!="1" && mode!="2" && mode!="end"
puts"不明な入力です。再入力して下さい。"
else
mode=="end"
break
end
end

試したこと

名前を入力する用にメソッドを別に記載し試しましたが、同じエラーが出ました。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

コメントを投稿

0 コメント