{"action":"created","issue":{"url":"https://api.github.com/repos/exercism/x-common/issues/225","repository_url":"https://api.github.com/repos/exercism/x-common","labels_url":"https://api.github.com/repos/exercism/x-common/issues/225/labels{/name}","comments_url":"https://api.github.com/repos/exercism/x-common/issues/225/comments","events_url":"https://api.github.com/repos/exercism/x-common/issues/225/events","html_url":"https://github.com/exercism/x-common/issues/225","id":147947934,"number":225,"title":"Exercise Proposal","user":{"login":"mglodack","id":3950171,"avatar_url":"https://avatars.githubusercontent.com/u/3950171?v=3","gravatar_id":"","url":"https://api.github.com/users/mglodack","html_url":"https://github.com/mglodack","followers_url":"https://api.github.com/users/mglodack/followers","following_url":"https://api.github.com/users/mglodack/following{/other_user}","gists_url":"https://api.github.com/users/mglodack/gists{/gist_id}","starred_url":"https://api.github.com/users/mglodack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mglodack/subscriptions","organizations_url":"https://api.github.com/users/mglodack/orgs","repos_url":"https://api.github.com/users/mglodack/repos","events_url":"https://api.github.com/users/mglodack/events{/privacy}","received_events_url":"https://api.github.com/users/mglodack/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-04-13T05:12:43Z","updated_at":"2016-04-16T16:09:00Z","closed_at":null,"body":"I've recently taken on the challenge of creating a query string builder, and I found it to be a rewarding exercise. \r\n\r\nThis is an exercise that I enjoy doing whenever I learn a new language and would like to share it.\r\n\r\n##### Exercise:\r\n\r\n```\r\nWrite a program that provided a list of tuples can return a HTTP query string.\r\n\r\nFor example: (Rust-specific)\r\n\r\nInput: \r\nlet params = vec![(\"key1\", \"value1\"), (\"key2\", \"value2\")];\r\n\r\nOutput: \r\n\"?key1=value1&key2=value2\"\r\n```"},"comment":{"url":"https://api.github.com/repos/exercism/x-common/issues/comments/210847343","html_url":"https://github.com/exercism/x-common/issues/225#issuecomment-210847343","issue_url":"https://api.github.com/repos/exercism/x-common/issues/225","id":210847343,"user":{"login":"mglodack","id":3950171,"avatar_url":"https://avatars.githubusercontent.com/u/3950171?v=3","gravatar_id":"","url":"https://api.github.com/users/mglodack","html_url":"https://github.com/mglodack","followers_url":"https://api.github.com/users/mglodack/followers","following_url":"https://api.github.com/users/mglodack/following{/other_user}","gists_url":"https://api.github.com/users/mglodack/gists{/gist_id}","starred_url":"https://api.github.com/users/mglodack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mglodack/subscriptions","organizations_url":"https://api.github.com/users/mglodack/orgs","repos_url":"https://api.github.com/users/mglodack/repos","events_url":"https://api.github.com/users/mglodack/events{/privacy}","received_events_url":"https://api.github.com/users/mglodack/received_events","type":"User","site_admin":false},"created_at":"2016-04-16T16:09:00Z","updated_at":"2016-04-16T16:09:00Z","body":"@IanWhitney Thank you for providing such great feedback. I completely agree with you that exercise with a progression of complexity are more interesting.\r\n\r\nWith regards to what functions the students should use, I believe that is entirely up to the student.\r\n\r\nSometimes, I write my own functions then come to realize there is a library that already exists for it. What happens then?\r\n\r\n0. I've learned a lot more than I initially thought I would\r\n0. If the lib is open source I now have something to compare against\r\n\r\nComparing solutions and getting deep into language specific functionality, I think are what exercism does extremely well.\r\n\r\n@NobbZ  Is absolutely correct that you have to escape special characters.\r\n\r\nFor now, I'm going to create a more detailed exercise proposal that has some sort of progression of complexity. Then I will paste it back here for some more feedback. 😄 \r\n\r\n"}}