Прежде всего, постарайтесь не разорвать меня на части :) Я относительно новичок в программировании в целом, и это мой первый вопрос по StackOverflow!
Надеюсь, это простой вопрос, как я могу вернуть строку "var m = ..." вне функции, приведенной ниже? Я пытаюсь реализовать метод численного деления пополам (замечен на rayweiderlich.com), но для другого уравнения. Я пытаюсь получить доступ к переменной за пределами функции, чтобы обновить метку на viewcontroller. Примечание: итерационная переменная, которую я пытаюсь найти, выводит правильно, и это число равно 0,8789. Поэтому я думаю, что алгоритм правильный. Вот ссылка на учебник https://www.raywenderlich.com/99559/numeric-algorithms-using-playgrounds и моя версия кода учебников:
//: Playground - noun: a place where people can play
import UIKit
func bisection(x: Double) -> Double {
var lower = 0.0
var upper = x
let constant1 = Double((1+2*60))
let constant2 = Double(1+4*60)
var m = (constant1 - pow(constant2, 0.5)) / (2.0*60.0) //This returns the number I want (0.8789)
let epsilon = 1e-3
while (fabs(m * m - x) > epsilon) {
m = (lower + upper)/2
if m * m > x {
upper = m
print(m)
} else {
lower = m
print(m)
}
}
print(m)
return m //This returns the number I DON'T want (0.9995)
}
let bis = bisection(x: 1.0)
//somewhere around here is where I would like to use the "m" variable to update a label in a view controller