Kumite (ko͞omiˌtā) is the practice of taking techniques learned from Kata and applying them through the act of freestyle sparring.
You can create a new kumite by providing some initial code and optionally some test cases. From there other warriors can spar with you, by enhancing, refactoring and translating your code. There is no limit to how many warriors you can spar with.
A great use for kumite is to begin an idea for a kata as one. You can collaborate with other code warriors until you have it right, then you can convert it to a kata.
module ReverseDigs where revDigs :: Integer -> Integer revDigs = read . rev . show where rev :: [Char] -> [Char] rev [] = [] rev (x:xs) = ((rev xs) ++ [x])public class Algorithms {public static int reverseInt(int n) {int reversed = 0;while(n != 0){reversed = reversed * 10 + (n % 10);n /= 10;}return reversed;}}- module ReverseDigs where
- revDigs :: Integer -> Integer
- revDigs = read . rev . show
- where
- rev :: [Char] -> [Char]
- rev [] = []
- rev (x:xs) = ((rev xs) ++ [x])
module ReverseDigsSpec where import ReverseDigs import Test.Hspec import Test.QuickCheck palindrome :: Integer -> Integer palindrome x = read $ s ++ reverse s where s = show x -- TODO: Replace examples and use TDD development by writing your own tests spec :: Spec spec = do describe "Reverse ints" $ do it "Should reverse ints" $ do revDigs 54321 `shouldBe` (12345 :: Integer) it "Should leave palindromic numbers" $ property $ forAll (choose (1, 1000)) $ \int -> revDigs (palindrome int) `shouldBe` (palindrome int)import org.junit.Test;import static org.junit.Assert.assertEquals;import org.junit.runners.JUnit4;- module ReverseDigsSpec where
- import ReverseDigs
- import Test.Hspec
- import Test.QuickCheck
// TODO: Replace examples and use TDD development by writing your own tests- palindrome :: Integer -> Integer
- palindrome x = read $ s ++ reverse s
- where s = show x
- -- TODO: Replace examples and use TDD development by writing your own tests
public class SolutionTest {@Testpublic void reverseIntTest() {assertEquals(54321, Algorithms.reverseInt(12345));}}- spec :: Spec
- spec = do
- describe "Reverse ints" $ do
- it "Should reverse ints" $ do
- revDigs 54321 `shouldBe` (12345 :: Integer)
- it "Should leave palindromic numbers" $ property $
- forAll (choose (1, 1000)) $ \int ->
- revDigs (palindrome int) `shouldBe` (palindrome int)
def prime_checker(n): if n in [2, 3, 5]: return True elif n % 2 == 0 or n % 3 == 0 or n % 5 == 0: return False a = int(n ** 0.5 / 30) b = [7, 11, 13, 17, 19, 23, 29, 31] for i in [30 * j for j in range(a + 1)]: if True in [n % (i + q) == 0 for q in b if i + q is not n]: return False return True"""https://en.wikipedia.org/wiki/Primality_testThis one has lesser tests or usage of % operator.An alternative using primality mod 30 = 2 * 3 * 5 instead of 6 = 2 * 3"""- def prime_checker(n):
- if n in [2, 3, 5]:
- return True
- elif n % 2 == 0 or n % 3 == 0 or n % 5 == 0:
- return False
- a = int(n ** 0.5 / 30)
- b = [7, 11, 13, 17, 19, 23, 29, 31]
- for i in [30 * j for j in range(a + 1)]:
- if True in [n % (i + q) == 0 for q in b if i + q is not n]:
- return False
- return True
public static class Kata { public static bool IsOdd(int i) => (i & 1) == 1; }- public static class Kata
- {
public static bool IsOdd(int input){return ((input % 10 == 1) || (input % 10 == 3) || (input % 10 == 5) || (input % 10 == 7) || (input % 10 == 9));}- public static bool IsOdd(int i) => (i & 1) == 1;
- }
hello :- write("Hello, Prolog!").System.Console.WriteLine("Hello, C#!");- hello :- write("Hello, Prolog!").
% plunit can be used to test solution :- begin_tests(example). :- include(example). test(example_test) :- hello, assertion(true == true). :- end_tests(example).- % plunit can be used to test solution
- :- begin_tests(example).
- :- include(example).
- test(example_test) :-
- hello,
- assertion(true == true).
- :- end_tests(example).
const materia = { conteudo: { titulo: 'UOL', }, tags: ['São Paulo', 'SP', 'Sudeste', 'Brasil', 'América Latina'] }; const [,uf, regiao] = materia.tags; const {conteudo:{titulo}} = materia;var materia = {- const materia = {
- conteudo: {
- titulo: 'UOL',
- },
- tags: ['São Paulo', 'SP', 'Sudeste', 'Brasil', 'América Latina']
- };
var uf = materia.tags[1];var regiao = materia.tags[2];var titulo = materia.conteudo.titulo;- const [,uf, regiao] = materia.tags;
- const {conteudo:{titulo}} = materia;
function monteCarlo() { return new Promise(function (resolve, reject) { resolve([{ titulo: 'UOL - O Melhor conteúdo' }]); }); } async function main() { // converter para ES6 const response = await monteCarlo(); return true; }- function monteCarlo() {
- return new Promise(function (resolve, reject) {
- resolve([{
- titulo: 'UOL - O Melhor conteúdo'
- }]);
- });
- }
- async function main() {
- // converter para ES6
monteCarlo().then(function(response) {console.log(response)});- const response = await monteCarlo();
- return true;
- }