В моем случае я хотел добавить метод с пользовательским swift-объектом в качестве параметра типа, а имя, которое я дал переменной в параметре, было точно таким же, как имя класса пользовательского объекта
Проблемы были примерно такими:
func moveBlob(**blob** : blob){
...code
}
Часть жирным шрифтом вызывала ошибку необъявленного типа
Vb6:
Private Function factCalculation(ByVal Number%)
Dim intNum%
intNum = 1
For i = 2 To Number
intNum = intNum * Number
Next i
return intNum
End Function
Private Sub Form_Load()
Dim FactResult% : FactResult = factCalculation(3) 'e.g
Print FactResult
End Sub
C ++ constexpr
constexpr uint64_t fact(uint32_t n)
{
return (n==0) ? 1:n*fact(n-1);
}
В Ио :
factorial := method(n,
if (list(0, 1) contains(n),
1,
n * factorial(n - 1)
)
)
я абсолютно уверен, что это могло быть большим количеством effieicnet. Это - моя первая функция шепелявости кроме "привет, мир" и вводящий в примере кода в третьей главе. Практический язык Common LISP является большим текстом. Эта функция, действительно кажется, обрабатывает большие факториалы хорошо.
(defun factorial (x)
(if (< x 2) (return-from factorial (print 1)))
(let ((tempx 1) (ans 1))
(loop until (equalp x tempx) do
(incf tempx)
(setf ans (* tempx ans)))
(list ans)))
Common Lisp, так как никто еще не совершил это:
(defun factorial (n)
(if (<= n 1)
1
(* n (factorial (1- n)))))
FoxPro:
function factorial
parameters n
return iif( n>0, n*factorial(n-1), 1)
factorial n = factorial' n 1
factorial' 0 a = a
factorial' n a = factorial' (n-1) (n*a)
function f($n){return array_reduce(range(1,$n),'bcmul',1);}
<час> array_product(range(1,$n));
Встроенная табличная функция с использованием рекурсивного общего табличного выражения. SQL Server 2005 и выше.
CREATE FUNCTION dbo.Factorial(@n int) RETURNS TABLE
AS
RETURN
WITH RecursiveCTE (N, Value) AS
(
SELECT 1, CAST(1 AS decimal(38,0))
UNION ALL
SELECT N+1, CAST(Value*(N+1) AS decimal(38,0))
FROM RecursiveCTE
)
SELECT TOP 1 Value
FROM RecursiveCTE
WHERE N = @n