paiza.ioでelixir その151

# 概要
paiza.ioでelixirやってみた。
練習問題やってみた。

# 練習問題
jsonをパースして、csvを、生成せよ。

# サンプルコード

```

defmodule Main do
	def print(nil, nil, nil) do
    end
    def print(lat, lon, name) do
        IO.write "#{name}, #{lon}, #{lat}\n"
    end
    def main() do
        json = """
{
		"bikuya": [{
				"lat": "37.929687",
				"lon": "140.151111",
				"name": "オートショップユニット"
		}, {
				"lat": "37.929220",
				"lon": "140.109344",
				"name": "（株）エイジュウプロ"
		}, {
				"lat": "37.923453",
				"lon": "140.093108",
				"name": "（株）ホンダウイングロードショウ"
		}, {
				"lat": "37.911333",
				"lon": "140.112004",
				"name": "（有）カーセンター葵商会"
		}, {
				"lat": "37.907591",
				"lon": "140.108036",
				"name": "塚本サイクル"
		}, {
				"lat": "37.928429",
				"lon": "140.114247",
				"name": "サイクルショップ川口"
		}, {
				"lat": "37.916279",
				"lon": "140.099879",
				"name": "サイクルショップ中村"
		}, {
				"lat": "37.917854",
				"lon": "140.101416",
				"name": "菅原商会"
		}, {
				"lat": "37.912485",
				"lon": "140.108688",
				"name": "サイクルセンター卯月"
		}, {
				"lat": "37.912049",
				"lon": "140.105914",
				"name": "ホンダ野村モータース"
		}, {
				"lat": "37.869915",
				"lon": "140.103534",
				"name": "モーターハウスＫ"
		}, {
				"lat": "37.918955",
				"lon": "140.109289",
				"name": "ライダースサロン・ヤマカ"
		}, {
				"lat": "37.915746",
				"lon": "140.108313",
				"name": "中央ホンダ"
		}, {
				"lat": "37.905011",
				"lon": "140.107225",
				"name": "香澄ホンダ"
		}, {
				"lat": "37.912663",
				"lon": "140.123328",
				"name": "佐藤オート商会"
		}, {
				"lat": "37.910789",
				"lon": "140.121636",
				"name": "香坂輪店"
		}, {
				"lat": "37.958525",
				"lon": "140.125682",
				"name": "斎藤モータース"
		}, {
				"lat": "37.956678",
				"lon": "140.117820",
				"name": "ニューホンダ石山"
		}, {
				"lat": "37.903901",
				"lon": "140.131694",
				"name": "二輪屋たかはし"
		}, {
				"lat": "37.886019",
				"lon": "140.104554",
				"name": "夢工場"
		}, {
				"lat": "37.874814",
				"lon": "140.103239",
				"name": "あべ輪店"
		}, {
				"lat": "37.905055",
				"lon": "140.137379",
				"name": "レッドバロン米沢"
		}]
}
"""
        json = String.replace(json, "\n", "")
        json = String.replace(json, "\t", "")
        line = String.split(json, "lat")
        IO.puts "name, lat, lon"
        Enum.map(line, fn s -> 
            mat = Regex.named_captures(~r/\": \"(?<lat>.+)\",\"lon\": \"(?<lon>.+)\",\"name\": \"(?<name>.+)\"}/, s)
            print(mat["lat"], mat["lon"], mat["name"])
        end)
    end
end

Main.main




```

# 実行結果

```
name, lat, lon
オートショップユニット, 140.151111, 37.929687
（株）エイジュウプロ, 140.109344, 37.929220
（株）ホンダウイングロードショウ, 140.093108, 37.923453
（有）カーセンター葵商会, 140.112004, 37.911333
塚本サイクル, 140.108036, 37.907591
サイクルショップ川口, 140.114247, 37.928429
サイクルショップ中村, 140.099879, 37.916279
菅原商会, 140.101416, 37.917854
サイクルセンター卯月, 140.108688, 37.912485
ホンダ野村モータース, 140.105914, 37.912049
モーターハウスＫ, 140.103534, 37.869915
ライダースサロン・ヤマカ, 140.109289, 37.918955
中央ホンダ, 140.108313, 37.915746
香澄ホンダ, 140.107225, 37.905011
佐藤オート商会, 140.123328, 37.912663
香坂輪店, 140.121636, 37.910789
斎藤モータース, 140.125682, 37.958525
ニューホンダ石山, 140.117820, 37.956678
二輪屋たかはし, 140.131694, 37.903901
夢工場, 140.104554, 37.886019
あべ輪店, 140.103239, 37.874814
レッドバロン米沢, 140.137379, 37.905055
```

# 成果物

https://paiza.io/projects/aBdg2gFq4hYZR0hX5GOGSw?language=elixir


以上。