From de5c1c3fee0cc90600ec00ce85e89c285c2b359e Mon Sep 17 00:00:00 2001 From: Arjun Mahishi Date: Wed, 20 Dec 2017 22:03:58 +0530 Subject: [PATCH 1/4] Snippet to implement inRange --- snippets/inRange.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 snippets/inRange.md diff --git a/snippets/inRange.md b/snippets/inRange.md new file mode 100644 index 000000000..025cf42a0 --- /dev/null +++ b/snippets/inRange.md @@ -0,0 +1,14 @@ +### inRange + +Checks if the given number falls in the given range. + +`end` is an optional parameter. If `end` is not given, the range is considered from 0 to start. + +```js +const inRange = (n, start, end=null) => (end == null) ? (n>=0 && n<=start) : (n>=start && n<=end); + +// inRange(3, 2, 5) -> true +// inRange(3, 4) -> true +// inRange(2, 3, 5) -> false +// inrange(3, 2) -> false +``` \ No newline at end of file From 1892bd8609a2173a65b5a150d80f736fd979a8ce Mon Sep 17 00:00:00 2001 From: Arjun Mahishi Date: Wed, 20 Dec 2017 22:07:30 +0530 Subject: [PATCH 2/4] modified description --- snippets/inRange.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/inRange.md b/snippets/inRange.md index 025cf42a0..b970fa8c1 100644 --- a/snippets/inRange.md +++ b/snippets/inRange.md @@ -2,7 +2,7 @@ Checks if the given number falls in the given range. -`end` is an optional parameter. If `end` is not given, the range is considered from 0 to start. +`end` is an optional parameter. If `end` is not given, the range is considered from `0` to `start`. ```js const inRange = (n, start, end=null) => (end == null) ? (n>=0 && n<=start) : (n>=start && n<=end); From 998c6ccaf09d9a4156e22b25df698c0f29d525b1 Mon Sep 17 00:00:00 2001 From: Arjun Mahishi Date: Wed, 20 Dec 2017 23:42:20 +0530 Subject: [PATCH 3/4] Fixed bugs pointed out by @kingdavidmartins --- snippets/inRange.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/snippets/inRange.md b/snippets/inRange.md index b970fa8c1..f98535f86 100644 --- a/snippets/inRange.md +++ b/snippets/inRange.md @@ -5,7 +5,10 @@ Checks if the given number falls in the given range. `end` is an optional parameter. If `end` is not given, the range is considered from `0` to `start`. ```js -const inRange = (n, start, end=null) => (end == null) ? (n>=0 && n<=start) : (n>=start && n<=end); +const inRange = (n, start, end=null) => { + if(end && start > end) end = [start, start=end][0] + return (end == null) ? (n>=0 && n=start && n true // inRange(3, 4) -> true From 431d3194112301e35427584dc8080727d9a4735a Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Thu, 21 Dec 2017 11:05:39 +0200 Subject: [PATCH 4/4] Update inRange.md --- snippets/inRange.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/snippets/inRange.md b/snippets/inRange.md index f98535f86..7162c52d8 100644 --- a/snippets/inRange.md +++ b/snippets/inRange.md @@ -2,16 +2,16 @@ Checks if the given number falls in the given range. -`end` is an optional parameter. If `end` is not given, the range is considered from `0` to `start`. +Use arithmetic comparison to check if the given number is in the specified range. +If the second parameter, `end`, is not specified, the reange is considered to be from `0` to `start`. ```js const inRange = (n, start, end=null) => { - if(end && start > end) end = [start, start=end][0] - return (end == null) ? (n>=0 && n=start && n end) end = [start, start=end][0]; + return (end == null) ? (n>=0 && n=start && n true // inRange(3, 4) -> true // inRange(2, 3, 5) -> false // inrange(3, 2) -> false -``` \ No newline at end of file +```