Sha256: 82dc79b558df65381502275e7fabb2d07bc843711bf5d0214cf8c557c7c5dfa9

Contents?: true

Size: 936 Bytes

Versions: 396

Compression:

Stored size: 936 Bytes

Contents

package;

class Bob {
  private static inline var WHATEVER = "Whatever.";
  private static inline var SURE     = "Sure.";
  private static inline var CHILL    = "Whoa, chill out!";
  private static inline var FINE     = "Fine. Be that way!";

  public static function hey(sentence : String) : String {
    var trimmed : String = StringTools.trim(sentence);

    if (isQuestion(trimmed)) { return SURE;  }
    if (isShouting(trimmed)) { return CHILL; }
    if (isSilence(trimmed )) { return FINE;  }
    return WHATEVER;
  }

  private static function isShouting(sentence : String) : Bool {
    return sentence.toUpperCase() == sentence
        && sentence.toLowerCase() != sentence;
  }

  private static function isQuestion(sentence : String) : Bool {
    return StringTools.endsWith(sentence, "?")
        && !isShouting(sentence);
  }

  private static function isSilence(sentence : String) : Bool {
    return sentence == "";
  }
}

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.179 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.178 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.177 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.176 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.175 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.174 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.173 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.172 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.171 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.170 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.169 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.167 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.166 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.165 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.164 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.163 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.162 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.161 tracks/haxe/exercises/bob/src/example.hx
trackler-2.2.1.160 tracks/haxe/exercises/bob/src/example.hx