質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

1805閲覧

配列を入力値で初期化

TheLastSoldier

総合スコア16

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2016/05/14 13:28

###前提・実現したいこと
整数値を引数とし、要素をすべて引数の値にした要素数10の整数型配列を戻り値とする関数を作成したい
###発生している問題・エラーメッセージ

エラーメッセージ ```Swift basic.playground:103:1: error: missing return in a function expected to return 'Int' } ^ ###該当のソースコード ```Swift func sixteen(num:Int) -> Int{ let todo = [num,num,num,num,num,num,num,num,num,num] for NUM in todo{ print(NUM) return NUM } } sixteen(1)

###試したこと
返り値は、普通ある式の計算結果を代入するが、配列の場合どうすればいいか分からない。
実は返り値の部分を消去するとnumが10回表示される。とりあえず結果を返り値だからNUMを指定しました。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

配列で返すなら戻り値をIntではなく[Int]にする必要があります。

配列にしてそのまま返却する例

swift

1func sixteen(num:Int) -> [Int] { 2 return [num,num,num,num,num,num,num,num,num,num] 3} 4 5sixteen(1) 6//=> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

for文を使用した例

swift

1func sixteen(num:Int) -> [Int]{ 2 3 var intArray: [Int] = [] 4 5 for _ in 1...10 { 6 intArray.append(num) 7 } 8 return intArray 9} 10 11sixteen(1) 12//=> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

他の書き方

swift

1func sixteen(num:Int) -> [Int] { 2 3 return [Int](count: 10, repeatedValue: num) 4} 5 6let intArray = sixteen(1) 7//=> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 8 9 10 11// 回数も引数で指定したい場合(指定しない場合デフォルト10回になります) 12 13func sixteen(num:Int, repeatCount: Int = 10) -> [Int] { 14 15 return [Int](count: repeatCount, repeatedValue: num) 16} 17 18sixteen(1, repeatCount: 5) 19//=> [1, 1, 1, 1, 1] 20 21sixteen(1) 22//=> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

投稿2016/05/14 13:47

編集2016/05/14 22:56
_Kentarou

総合スコア8490

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TheLastSoldier

2016/05/14 13:51

私のコードのどこを変えればいいか教えて下さい
_Kentarou

2016/05/14 13:58

回答に追記しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問