たけぼーの備忘録

暇を持て余した人間の無意味なブログ

Javaから見たSwiftとの違い ~for文編~

こんにちは。今回はSwiftネタです。

最近C#とSwiftに一気に手を出してしまったため、苦悶の日々を過ごしております(笑)

両方ちょっとだけ触ってみる予定だったのに…

そんなわけでSwiftに挑戦しているわけですが、よく分からないところが多い!

さらに、Swiftはバージョンがどんどんあがってるようで、今使われているのはSwift3というものだそうです。

そのため、ググってみても古い情報だった、なんてことがよくあります。

『ちょっと手を出したかっただけなのに、苦しめやがって、このやろう!』な気分なので、苦しめられたところをメモしていこうかな、と思います。

今回は、第一回としてfor文を扱っていこうと思います。

本記事をお読みの方へ

ここで注意点ですが、この記事はJavaなどのC言語的文法をもった言語から見ての感想が大いに含まれています。なぜなら私はJavaしか使ったことがない趣味のプログラマーだから。

ほかのもっとモダンな言語使いのプロフェッショナルな方々には、鼻で笑われてしまうような内容となっておりますので、これを読まずにもっとましなものをお読みください。

それでは参りましょう!

for文の基本構文

みなさん、for文使いますか?

うんうん、そうですよね、使いますよね!

巷では、for文を使わなきゃプログラミングしてるとは言わない、と言われてるとか言われてないとか。

ということで、Swiftでfor文を書こうと思うわけですが、これが一癖あります。

Javaではfor文は以下のようになります。

int a = 0;

for(int i = 0; i < 10; i++){
   a += i;
}

aに0から9までを足し続けるという、びっくりするぐらいのくそコードですが、その際そんなことはどうだっていいんです(笑)

C言語C#もほとんど一緒です。しかし、Swiftではこうなります。

var a = 0

for i in 0 ..< 10{
    a += i
}

for文が全然違うじゃないか!ってなりませんか!?
あっ、なりませんか。すいません。

少なくとも私はそう思いました。

forをいつものように書くとXcodeが怒ります。
おい、Cっぽい書き方をやめないか!的なエラーがでて驚かされます。

ここでぐぐってみると、Swiftにはモダンなforの書き方があって、上のものがそうだ、と知りました。

ちなみに、0..<10 は 0≦i<10 を、0...10は 0≦i≦10 を表すそうです。

上のソースを見ると、ちゃっかり型推論が使われています。varってなんかすごいなー、という気分になります。

色々なfor文

上に書いた書き方は、1ずつ増やして処理したい(i++する)時でしか使えません。ではそのほかの場合ではどうなるのでしょうか。

Javaと比較しながら書いておきます。見出しがJava的な書き方となっております。

for(i = 0; i < 10; i +=2)と書きたいとき

for i in stride(from : 0, to : 10, by : 2)

for(i = 0; i <= 10; i +=2)と書きたいとき

for i in stride(from : 0, through : 10, by : 2)

for(i = 10; i >= 0; i -=2)と書きたいとき

for i in stride(from : 0, through : 10, by : 2).reversed()

まとめ

stride()を使えば、刻み幅を変えることができます。toなら~未満を、throughなら~以下を表しています。

徐々に減らしていく処理では、最後にreversed()を付ければよいそうです。
ネットの記事ではよくreverse()とされていますが、そう書くとXcodeに怒られました。

最後に

いかがでしたでしょうか。今後もよく分からないところが出ましたら、その都度書いていこうと思います。

こういう書き方もあるよ!とかここは違うよ!といったアドバイスをいただけると、大変助かります。

ではまた。

Shawn MendesのThere's nothing holding me backを和訳してみた


There's nothing holding me backを和訳してみました。
訳がしっくりこないところが少しありますが、良い訳がありましたらご指摘いただけるとありがたいです。

There's nothing holding me back

I wanna follow where she goes

彼女の行くところについて行きたいな

I think about her

彼女のことを考える

and she knows it

それに、彼女もそれを知ってる

I wanna let her take control

彼女に僕を支配させたい思うんだ

'Cause everytime that
she gets close, yeah

だって、彼女はいつも寄り添ってるから

She pulls me
in enough to keep me guessing

彼女は僕が考えちゃうぐらいひっぱるんだ

And maybe I should stop
and start confessing

そして多分僕は考えるのをやめて打ち明け始めるべきだね

Confessing, yeah

打ち明けよう

Oh, I've been shaking

おお、震えてるよ

I love it when you go crazy

僕は君がクレイジーになるときが好きなんだ

You take all my inhibitions

君は僕の理性を奪う

Baby, there's nothing
holding me back

ああ、もう僕を引き止めるものは何もないよ

You take me places that
tear up my reputation

君は僕の名声を破るような場所に連れて行くよ

Manipulate my decisions

僕の決意を操るんだ

Baby,
there's nothing holding me back

ああ、僕を引き止めるものはもう何もないんだよ

There's nothing holding me back

僕を引き止めるものは何もないんだ

There's nothing holding me back

僕を引き止めるものは何もないよ

She says that she's never afraid

彼女は恐れたことなんかないって言うんだ

Just picture everybody naked

みんなが裸だって想像するだけ

She really doesn't like to wait

彼女はほんとに待つのが嫌いなんだ

Not really into hesitation

ためらったりしないんだよ

Pulls me
in enough to keep me guessing

彼女は僕が考えちゃうぐらいひっぱるんだ

And maybe I should stop
and start confessing

そして多分僕は考えるのをやめて打ち明け始めるべきだね

Confessing, yeah

打ち明けてしまおう

Oh, I've been shaking

おお、震えてるよ

I love it when you go crazy

僕は君がクレイジーになるときが好きなんだ

You take all my inhibitions

君は僕の理性を奪う

Baby, there's nothing
holding me back

ああ、もう僕を引き止めるものは何もないよ

You take me places that
tear up my reputation

君は僕の名声を破るような場所に連れて行くよ

Manipulate my decisions

僕の決意を操るんだ

Baby,
there's nothing holding me back

ああ、僕を引き止めるものはもう何もないんだよ

there's nothing holding me back

ああ、僕を引き止めるものはもう何もないんだよ

'Cause if we lost our minds

だってたとえ僕たちが理性を失って

and we took it way too far

突き進みすぎたとしても

I know we'd be alright,

大丈夫だって知ってる

I know we would be alright

大丈夫だって知ってるんだよ

If you were by my side

もし君が僕のそばにいて

and we stumbled in the dark

たとえ暗闇の中でよろめいたとしても

I know we'd be alright,

大丈夫だって知ってる

I know we would be alright

大丈夫だって僕は知ってるんだよ

'Cause if we lost our minds

だってたとえ僕たちが理性を失って

and we took it way too far

突き進みすぎたとしても

I know we'd be alright,

大丈夫だって知ってる

I know we would be alright

大丈夫だって知ってるんだよ

If you were by my side

もし君が僕のそばにいて

and we stumbled in the dark

たとえ暗闇の中でよろめいたとしても

I know we'd be alright,

大丈夫だって知ってる

I know we would be alright

大丈夫だって僕は知ってるんだよ

Oh, I've been shaking

おお、震えてるよ

I love it when you go crazy

僕は君がクレイジーになるときが好きなんだ

You take all my inhibitions

君は僕の理性を奪う

Baby, there's nothing
holding me back

ああ、もう僕を引き止めるものは何もないよ

You take me places that
tear up my reputation

君は僕の名声を破るような場所に連れて行くよ

Manipulate my decisions

僕の決意を操るんだ

Baby,
there's nothing holding me back

ああ、僕を引き止めるものはもう何もないんだよ

there's nothing holding me back

ああ、僕を引き止めるものはもう何もないんだよ

I feel so free

とても自由に感じるよ

when you're with me, baby

君が一緒にいるときはね

Baby,
there's nothing holding me back

ああ、もう僕を引き止めるものは何もないよ


There's Nothing Holdin' Me Back

There's Nothing Holdin' Me Back

  • ショーン・メンデス
  • ポップ
  • ¥250

思わず聞き入ってしまいますね。
ではまた。

Xamarin.Formsでlabelのテキストを動的に変更する

初歩中の初歩ですが、ググっても欲しい情報が一発ででなかったため、ここにメモします。

C#xamlも初めて触るので、何もかも分からないのです。やっぱり最初は入門書を読むべきかな?!

方法

任意のxamlファイルに(今回はMainPage.xaml)Labelを追加します。
Textタグに記入した文字は、初期値として表示されます。
Nameタグにより、要素に名前を付けるようです。今回はLabelTextという名前にしました。

MainPage.xaml

<Label x:Name="LabelText" Text="Hello, world!" />

あとは、csファイルに処理を加えるだけです。

MainPage.xaml.cs

LabelText.Text = "Good job!"

(要素名).Textにて、要素内の文字列を制御できます。Buttonなど他の要素でも一緒です。

まとめ

非常に簡単です。AndroidのならfindViewByIdで、いちいちidを取得する、という行程を経なければなりませんが、C#ではこれがないため、すっきりとした見た目になったな、と感じます。

これを調べた際に、XamarinのSamplesが非常に役立ちました。今まで、分からないことはすぐググる、という手順で書いておりましたが、Xamarinの場合は、まずサンプルを見てみる、という方が良さそうです。
Samples - Xamarin

ではまた。

Milley CyrusのMalibuを和訳してみた


Malibuを和訳してみました。

Malibuとは、アメリカ カリフォルニア州の地名で、映画『猿の惑星』にて自由の女神像が登場するシーンの撮影が行われたそうです。
この歌のように、優しく美しいところなのかな?

Maribu

I never came to the beach,

私、ビーチに来たことなかったわ

or stood by the ocean

海のそばに立つことも

I never sat by the shore,

岸のそばで

under the sun with my feet
in the sand

足を砂に埋めながら太陽のもとに座るなんてしたことなかったわ

But you brought me here

でも、あなたがここへ連れてきたの

and I'm happy that you did

私はそれがうれしいのよ

'Cause now I'm as free
as birds catching the wind

だって今は風をとらえる鳥のように自由だもの

I always thought I would sink,

沈んじゃうんじゃないか、っていつも考えてた

so I never swam

だから泳いだことなかったの

I never went boatin',

ボート遊びに行ったことなかったし

don't get how they are floatin'

それがどうやって浮いてるかなんて分からないわ

And sometimes I get so scared of
what I can't understand

それに時々、分からないってことがとても怖いの

But here I am, next to you

でもここには私がいて、隣にはあなたがいるわ

The sky's more blue in Malibu

マリブの空はずっと青いの

Next to you in Malibu

マリブにはあなたが隣にいる

Next to you

あなたの隣

We watched the sun go down

二人で太陽が沈んでいくのを見たわ

as we were walking

一緒に歩きながら

I'd spent the rest of my life
standing here talking

残りの人生をここに立って話しながら過ごしたいわ

You would explain the current,

あなたが海の流れのことを説明するなら

as I just smile

私はただ微笑むのよ

Hoping that you'll stay
the same,

あなたはずっとそのままでいてほしい

and nothing will change

それに何も分からないでほしい

And it'll be us,

それは私たちだった

just for a while

たった少しの間

Do we even exist?

私たちは存在さえするの?

That's when I make the wish,

そう願ったのはその時なの

to swim away with the fish

魚と一緒に泳いだ時

Is it supposed to be this hot all summer long?

この暑い夏は長く続くはずだった?

I never would've believed you

あなたを信じることはなかっただろうな

if three years ago you told me

もし3年前あなたが私に言ってたら

I'd be here writing this song

ここでこの曲を書くって

But here I am, next to you

でもここには私がいて、隣にはあなたがいるわ

The sky's more blue in Malibu

マリブの空はずっと青いの

Next to you in Malibu

マリブにはあなたが隣にいる

Next to you

あなたの隣

Next to you

あなたの隣

The sky's so blue in Malibu

マリブの空はずっと青いの

Next to you

あなたの隣

We are just like the waves
that flow back and forth

私たちは後ろに前に流れる波のようね

Sometimes I feel like
I'm drowning

時々おぼれているように感じるわ

And you're there to save me

そしてあなたは私を救うためにそこにいるの

And I wanna thank you
with all of my heart

心からありがとうって言いたいわ

It's a brand new start

それは真新しい始まり

A dream come true in Malibu

マリブで夢はかなったわ

Malibu

Malibu

いい曲ですね。

ではまた。

Martin JensenのSolo Danceを和訳してみた


Solo Danceを和訳してみました。初めてやってみたので、間違った部分もあるかもしれませんが、ご容赦ください。

Solo Dance

In the faded light

薄暗い明かりの中

You touch my body

君は私の体に触れた

I can feel your hands on my skin

君の手を肌に感じたわ

Think you're got me right
Where you want me

君は思い通りに私をゲットしたと思ってるでしょ

But you're just in my way

でも、君はただ私の思い通りになったのよ

I came the party on my own

パーティーには一人できたの

Don't need nobody in my song

私の歌に誰もいらない

I get down to the beat

私の鼓動に集中して

I loose control

私はコントロールを失うの

Hey oh I go
So so lo

Boy you can cool it down

君、クールダウンしなよ

I'm here to fool around

私はバカ騒ぎするためにここにいるの

Just wanna dance, dance, dance
Dance, dance, dance

ただダンスしたいの

I know you want me

君が私をほしいのは知ってる

But I don't care baby

でもそんなの関係ないのよ、ベイビー

Just wanna dance, dance, dance
Dance, dance, dance

私はただ踊りたいだけなの

Dance, dance, dance
Dance, dance, dance
Dance, dance, dance

In the shade of light

明かりのかげで

You're moving closer

君は近づいてくる

We're on our way
to cross the line

一線を越えようとしてるわ

Think you've got me right
Where you want me

君は思い通りに私をゲットしたと思ってるでしょ

But it's all in your mind

でもそう思うのは君だけだよ

I came the party on my own

パーティーには一人できたの

Don't need nobody in my song

私の歌に誰もいらない

I get down to the beat

私の鼓動に集中して

I loose control

私はコントロールを失うの

Hey oh I go
So so lo

Boy you can cool it down

君、クールダウンしなよ

I'm here to fool around

私はバカ騒ぎするためにここにいるの

Just wanna dance, dance, dance
Dance, dance, dance

ただダンスしたいの

I know you want me

君が私をほしいのは知ってる

But I don't care baby

でもそんなの関係ないのよ、ベイビー

Just wanna dance, dance, dance
Dance, dance, dance

私はただ踊りたいだけなの

Dance, dance, dance
Dance, dance, dance
Dance, dance, dance
Dance, dance, dance

Solo Dance

Solo Dance

  • Martin Jensen
  • ポップ
  • ¥250

ではまた。

ウイルスバスター+システムのクリーンアップでブルースクリーン

どうも、たけぼーです。

パソコン、ぶっ壊れました!笑
ブルースクリーンでております!終わりです!笑

システムのクリーンアップ

ことの発端は、ウイルスバスター。重いと悪名高いウイルスバスターですが、パソコンのおまけで付いていたので使っています。

ウイルスバスターには、システムのチューニングという機能が付いています。これは、パソコンの起動時間を短縮したりといった、パソコンの性能を改善してくれる機能なのですが、この中に不要なデータの削除が含まれています。

ウイルスチェックするたびに、システムのチューニングを進めてくるので、一度やってみよう!と思い、やってみました。

今思えばここが、悪夢の始まりでした…

不要なファイルを消した後、せっかくだからと思って、Windowsに元から入っている、システムのクリーンアップをついでにやってみたんです。

そうすると、不要なファイルの項目が16GBになってる!

普通に考えたら絶対おかしいんですが、もう眠かった私はためらいなく、クリーンアップを始めてしまいました

128GBのSSDなのに、16GBの不要ファイルって。おかしいですよね。

クリーンアップが終わって、Youtubeでも見ようか!とChromeをつけると、動画が再生できない。


あれ!?おかしいなー!?
再起動してみよう!

再起動、ポチっ。

ん?!青い画面がでている!?

これは!ブルースクリーン


てなわけで、起動しなくなった私のパソコン。

結局、初期状態に戻すことで回復しましたが、ソフトがすべて消えてしまいました…

Officeのプロダクトキーどこだー!

原因を考えてみる

Windowsの回復用メニューが出たということは、Windowsのコア部分は助かってたわけです。

やはり、原因は16GBの不要ファイルでしょうね。

おそらく、16GBの中にWindowsの大事なファイルが含まれていたのでしょう。

こんなことが起こることは普通ありませんから、やはりウイルスバスター+システムのクリーンアップの組み合わせが、やってくれたのだと思います。

教訓

たとえ不要ファイルでも、システムファイルの一部を消したら再起動!

これが大事ですね。

以上、たけぼーでした。
プロダクトキーどこだー!!!

ではまた。

シェネルの“destinyにハマった”

こんにちは、たけぼーです。
表題通り、シェネルのdestinyにハマりました。

Destiny

この曲は、現在放送中のドラマ“リバース”の主題歌です。
毎回驚かされるこのドラマは、私のおすすめです、ほんとに。毎回毎回、気になる感じで終わるので、続きが早くみたくて仕方がない!

ドラマの最後に、この曲が流れるんです。とてもいいタイミングで。えー!!!!って驚いてるタイミングで。

前奏の部分が、ドラマのどきどき感とぴったりなんですね。いつの間にか、この曲をヘビロテしておりました(笑)

皆さん、是非聞いてください!
ほんとにいい曲、いいドラマです!

なんとなく、ドラマ関係者の回し者みたいになりましたね(笑)

今回は、はまった曲の紹介でした。
ではまた。