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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Swift

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

Q&A

解決済

3回答

473閲覧

returnについて

admjm

総合スコア7

Swift

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

0グッド

0クリップ

投稿2020/07/15 06:23

returnについての質問です。

func test (n: Int ) -> String {
return " aaa "
}
let num = test( n: 10 )
print ( num )
出力 aaa

returnと引数名の型をバラバラにしたらどうなるんだろう?と思い、上記のような事をしてみました。
numに代入されたのがaaaだという事はわかったのですが、(n:10) の「10」は何処に行ってしまったのでしょうか..代入されないのに何故エラーにならないのか疑問で仕方ありません..
(n:10)は、(n:100)でも(n:1000)にしても同じ結果でした。
( n ) や( n: ) 、(n: Int )ではエラーになりました。
低レベルな質問でお恥ずかしいのですが、是非ご教授頂けないでしょうかm(__)m

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

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

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

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

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

guest

回答3

0

ベストアンサー

(n:10) の「10」は何処に行ってしまったのでしょうか..

使われないまま破棄されます。

たとえば、数学で同じような例を考えてみたいと思います。

f(x) = 10

という関数を定義したとします。
このとき、f(x)の値は、xをどんな値にしても10しか戻ってきません。
xは使っていないので当然です。

プログラムであっても、基本的な考え方はこれと同じです。

投稿2020/07/15 06:30

TsukubaDepot

総合スコア5086

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

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

admjm

2020/07/15 07:07

簡潔でとてもわかりやすかったです‼️ 基本的な考え方という概念がそもそもあまりなかったので、改めてそれを念頭に置きながら勉強を頑張って行こうと思いました‼️ 皆様からの温かい解答ばかりで凄く悩みましだがベストアアンサーはTsukuさんにさせていただきましたm(__)m 本当にありがとうございました‼️
guest

0

(n:10) の「10」は何処に行ってしまったのでしょうか

関数test(n:Int)の仮引数nに代入されました。(渡された)
test内ではnを使ってないので無視したことになります。

投稿2020/07/15 06:28

ozwk

総合スコア13553

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

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

admjm

2020/07/15 06:56

ここにいる方達はみんな優しくて泣きそうになります???? わかりやすく丁寧に解答くださり本当にありがとうございましたm(__)m
guest

0

func testは
引数nを受け取って"aaa"をreturnしているわけですけど

nに関しては受け取っただけって形になってます。
処理内で使用されていないのでエラーにならないです。

試しに上記コードでreturn n とするとエラーになるはずです。(Stringをreturnするように記載されているが、intをreturnしているため)

投稿2020/07/15 06:27

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2020/07/15 06:30 編集

追記で (n: 10)の10を使用したいとのことでしたら -> String と書かれているところを -> Int に変更して return n にする printの部分で文字列変換してあげるといいです。(文字変換はしなくてもいいかもです)
admjm

2020/07/15 06:52

こんな質問しても相手にされないだろうなー..と不安に思いながら投稿したのですが、すぐに返信があってビックリしました???? お陰様で理解する事が出来ました‼️わかりやすい回答、本当にありがとうございましたm(__)m‼️
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問