Alice: What? "Cody" * 5 == "CodyCodyCodyCodyCody"? You've gotta be kidding me!
Bob: No, I am serious! Python supports such "multiplication" of strings, which actually means replication of strings!
Alice: Really?
Bob: Modern languages (C++, Java, Python, etc) tend to use native operators (via overloading) to perform simple string manipulations, such as + for string concatenation (e.g., "Cody" + "Cody" == "CodyCody"). Also, Python adopts * to perform string replication. Since R2016b, MATLAB has followed the same convention by introducing the + operator to perform string concatenation (See Problem 43663 for a Cody example). Nevertheless, as of R2017b, there is no support for the * operator (or any other operators) which performs string replication in MATLAB.
Alice: Sounds like there is a gap...
Bob: You got it. Now, I'd like you to fill the gap by using whatever method (preferably overloading) to make * perform string replication in Cody (similar to * in Python), e.g.,
>> "Cody" * 2 ans = "CodyCody"
>> 3 * "Cody" ans = "CodyCodyCody"
Alice: Gotcha. Let me give it a try.
It's a little scary redefining mtimes this way! As soon as I solved it, I deleted the function.
Actually, this is not a correct solution. The else branch leads to infinite recursion.
1607 Solvers
339 Solvers
Sum all integers from 1 to 2^n
6315 Solvers
Back to basics 19 - character types
189 Solvers
Determine the number of odd integers in a vector
320 Solvers