CoffeeScript で clamp関数
3952 ワード
enchantJS でゲームを書いていて欲しくなったので作った
コード
class @ElzupUtils
# 第2, 3引数によって定義される範囲に固定される第1引数の値を計算する
@clamp = (val, max, min=0, padding=0) ->
Math.max(Math.min(max - padding, val), min + padding)
使用例
# 10 から 100 の間に
ElzupUtils.clamp(50, 100, 10)
# -> 50
ElzupUtils.clamp(200, 100, 10)
# -> 100
ElzupUtils.clamp(-20, 100, 10)
# -> 10
# 0 から 10 の間に
ElzupUtils.clamp(-20, 10)
# -> 0
ElzupUtils.clamp(20, 10)
# -> 10
# 5 (= 0 + 5) から 95 (= 100 - 5) の間に
ElzupUtils.clamp(0, 100, 0, 5)
# -> 5
ElzupUtils.clamp(100, 100, 0, 5)
# -> 95
作ってみて思ったこと
- 引数の順番は (val, min, max) のが良いか? (デフォルトが0 の場合が多いためminを後ろにした)
- val は適切な命名か?
- デフォルト引数=演算子の両隣にスペースは必要か?(coffeelint にかけて見たらどちらでも通った)
Author And Source
この問題について(CoffeeScript で clamp関数), 我々は、より多くの情報をここで見つけました https://qiita.com/elzup/items/2072ce34395efc9010ae著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .