我正在嘗試編寫一個最短的函數代碼,它可以添加/乘法/除法/減去它們。唯一的一點是,該操作將在字符數據類型提供:字符串使用字符運算符但不使用eval的Aritmatic
+ = '+'
- = '-'
/= '/'
* = '*'
我已經成功地實現了相同的地方運營商=「+」:
>> eval(sprintf('%d %c %d',8, operator, 7))
ans =
15
但有沒有使用方法'eval'函數我們可以實現一樣嗎?
==== UPDATE =======
下面是我可以減少:
function value = MathsOperations(numbers,operator)
value(operator == '+') = numbers(1) + numbers(2);
value(operator == '-') = numbers(1) - numbers(2);
value(operator == '*') = numbers(1) * numbers(2);
value(operator == '/') = numbers(1)/numbers(2);
end
如何我仍然可以降低LOC(行代碼)?
您可以簡單地定義*函數*。 – herohuyongtao
同意但是可以在2-3行內完成同一功能? – Prakash