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.
The Answer to Life, the Universe, and Everything
312 Solvers
152 Solvers
The sum of the numbers in the vector
341 Solvers
342 Solvers
Is this triangle right-angled?
1919 Solvers