Start a new Kumite
AllAgda (Beta)BF (Beta)CCFML (Beta)ClojureCOBOL (Beta)CoffeeScriptCommonLisp (Beta)CoqC++CrystalC#D (Beta)DartElixirElm (Beta)Erlang (Beta)Factor (Beta)Forth (Beta)Fortran (Beta)F#GoGroovyHaskellHaxe (Beta)Idris (Beta)JavaJavaScriptJulia (Beta)Kotlinλ Calculus (Beta)LeanLuaNASMNim (Beta)Objective-C (Beta)OCaml (Beta)Pascal (Beta)Perl (Beta)PHPPowerShell (Beta)Prolog (Beta)PureScript (Beta)PythonR (Beta)RacketRaku (Beta)Reason (Beta)RISC-V (Beta)RubyRustScalaShellSolidity (Beta)SQLSwiftTypeScriptVB (Beta)
Show only mine

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.

Ad
Ad
Code
Diff
  • import java.util.ArrayList;
    import java.util.List;
    
    public class TreasuryService {
        public TreasuryJob calculate(List<Transfer> transfers) {
            TreasuryJob job = new TreasuryJob();
            job.setSettlements(new ArrayList<>());
            return job;
        }
    }
    • ##
    • import java.util.ArrayList;
    • import java.util.List;
    • public class TreasuryService {
    • public TreasuryJob calculate(List<Transfer> transfers) {
    • TreasuryJob job = new TreasuryJob();
    • job.setSettlements(new ArrayList<>());
    • return job;
    • }
    • }

Saw an error using the type instead of a variable to set legs. Added tests to test it all.

Code
Diff
  • from dataclasses import dataclass
    
    @dataclass
    class Pet:
        name: str
        species: str
        gender: str
        age: int
        n_legs: int
    
        def have_birthday(self) -> int:
            self.age += 1
            return self.age
        
        def define_n_legs(self, n_leg: int) -> None:
            self.n_legs = n_leg
        
        def define_gender(self, gender: str) -> None:
            self.gender = gender
        
        def change_species(self, new_species: str) -> None:
            self.species = new_species
    
        def display_info(self) -> None:
            s = f"{self.name} the {self.gender} {self.species}, age {self.age} has {self.n_legs} legs!"
            print(s)
            
            return s
    • from dataclasses import dataclass
    • @dataclass
    • class Pet:
    • name: str
    • species: str
    • gender: str
    • age: int
    • n_legs: int
    • def have_birthday(self) -> int:
    • self.age += 1
    • return self.age
    • def define_n_legs(self, n_leg: int) -> None:
    • self.n_legs = int
    • self.n_legs = n_leg
    • def define_gender(self, gender: str) -> None:
    • self.gender = gender
    • def change_species(self, new_species: str) -> None:
    • self.species = new_species
    • def display_info(self) -> None:
    • s = f"{self.name} the {self.gender} {self.species}, age {self.age} has {self.n_legs} legs!"
    • print(s)
    • return s

Interpolation with f strings on eval

Code
Diff
  • def calculator(a, b, k):
        try: return eval(f"{a} {k} {b}")
        except: raise ValueError(f"Unsupported operation: {k}")
    • def calculator(a, b, k):
    • try: return eval(str(a)+k+str(b))
    • try: return eval(f"{a} {k} {b}")
    • except: raise ValueError(f"Unsupported operation: {k}")
Code
Diff
  • public class Program {
      public static int loop(int repeat){
        return repeat > 1 ? 1 + loop(repeat - 1) : 0;
      }
    }
    • public class Program {
    • public static int loop(int repeat){
    • //Trivial case
    • if(repeat == 1)
    • return 0;
    • //The trick is this line of code
    • return loop(repeat-1)+1;
    • return repeat > 1 ? 1 + loop(repeat - 1) : 0;
    • }
    • }