2013-09-23 8 views
0

я после урока самана, в котором мы делаем текстовое поле и текст я обновить в нем от функции SayHello()1137: Неправильное количество аргументов. Ожидается не более 0 утверждение не копируется из учебника, но не работает

import flash.display.MovieClip 
import flash.display.MovieClip; 
import flash.display.Sprite; 
import flash.display.SimpleButton; 
import flash.events.MouseEvent; 
import flash.events.TextEvent; 
import flash.text.TextField; 
    var myGreeter:Greeter = new Greeter(); 
    mainText.text = myGreeter.sayHello("Bob"); 

Это написано в первом кадре ^^^^^

функция SayHello находится в другом Actionscript файл в той же папке со следующим кодом

package 
{ 
    import flash.display.MovieClip; 
public class Greeter 
{ 
public function sayHello():String 
{ 
var greeting:String; 
greeting = "Hello World!"; 
return greeting; 
} 
} 
} 

Может быть, некоторые бы спросить, что вы положили в TextField на сцене и дать это n имя экземпляра и ответ да, я сделал.

Учебное пособие, за которым я последовал, не знаю, почему после того, как мы сказали, что код сказал нам правильные ошибки, если есть в нем, так что есть вероятность, что они хотели бы нас обучить.

я немного путают с привратником класса сам, как, почему мы пишем

sayHello("Bob") 

Почему не

sayHello() 

я говорю это потому, что переменная имеет только строка Hellow миру, что он должен с этим человек Боб

Было бы хорошо, если вы также можете мне это объяснить, что

Я тоже спрашиваю об этом, потому что мне также нужно иметь полное представление о коде.

ответ

0

Я не уверен, но вы, возможно, сконфигурировали два шага в учебнике. Вы правы, что с определением sayHello, вы должны вызвать

sayHello(); 

Чтобы иметь функцию принимать аргумент, вам нужно определить функцию, чтобы принять аргумент:

public function sayHello(user:String):String { 
    return "Hello, " + user + "!"; 
} 

Вы бы тогда звоните:

sayHello('Hamza'); 

и вернется

"Hello, Hamza!" 
+0

Вы написали пользователя: String почему бы не пользователь, строка? Можете ли вы рассказать, как использовать эту функцию? sayHello (Bob: String) ?? Я не понимаю, пожалуйста, объясните, что я новичок в программировании будет ли мы использовать это утверждение как mainText.text = myGreeter.sayHello (Hamza: String); (нет результата) –

+0

Я добавил немного больше подробностей о том, как вы будете использовать эту функцию. Использование 'user: String' является просто синтаксисом аргументов actionscript. Я бы рекомендовал найти лучший учебник. –

0

Вкратце: «Учебник неправильный или он неполный». Вы вызываете sayHello с одним параметром, но sayHello объявляются без параметров. И компилятор дает вам правильную ошибку для этого вызова.