引数って、なんかわかりにくいよね
引数ってなんて読むの???
いんすう??
引数 (ひきすう)だそうです。
でも、とにかくわかりにくい(初心者には)
調べてみると、
例えば「料理」という関数に「材料」という引数を渡して料理をしてもらうイメージ。
うん。わからん!!!
さらに、一言で言うと、
プログラムや関数に渡す値
だそうです。
そもそも、引数はこんな時に使用します。
class Hello
def self.hello(aaa)
puts "こんちわ!#{aaa}"
end
Hello.hello("bbb")
Hello.hello("ccc")
Hello.hello("")
#実行結果
- こんちわ!bbb
- こんちわ!ccc
- こんちわ!
引数に当たる部分はaaaの部分ですね。
簡単に言うと、aaaの部分だけ任意にデータを挿入できて、そのほかの処理は変えずに実行できるものです。
hello メソッド(def self.hello)の中身は、"こんちわ!()"を出力する処理です。
もしも、引数の中身を指定しない場合は 3の"こんちわ!"だけ出力されます。(この場合引数には("")が必須です!もし入れないとエラーが起こります)
引数を使うと、aaaの部分を、bbbに変えたりcccに変えたりできます。もちろん、他の物にも変えれます。
引数は"引っ張ってこれる変数"の略じゃないかなと思います。
基本、変数が使える範囲(スコープ)が限定されていますが、それでも使いたいって場合に引数を使う。
こう言う特性を使って例えば、引数を名前にして、処理を新規登録を行う処理にすると、名前だけ引数に与えてやれば勝手に新規登録してくれるみたいなことだってできちゃうかもしれません。(あくまで、予想ですが。。)
def registration(name) #新規登録する処理をかく end
nameに"dossy"を入れると新規登録してくれる!
まぁ、でも結局慣れやと思います。勉強だけでなく何にしても慣れが必要ではないでしょうか?
あんまり、引数で考え込まずに気楽に次々行くんやで〜〜〜
超初級プログラミング問題 fizzbuzzを解いてみる
プログラミング問題を解いて見ようと思います。
プログラミング問題は、プログラマーの技術を測れる物らしいのですね。
例えば、これレベルが解けたらなかなかのレベルだ!!!とか、
こんなのも解けないのなら初心者だな!!!とか。
まぁ、初心者なんだから解けなくても当たり前ですよね.......
そこで、今回はfizz buzz問題を解いて見ようと思います。
超有名問題みたいですよ♪♪♪
”fizzbuzz問題 ”
1〜100までの数字を出力してください。ただし、「3の倍数」のときは数字の代わりに文字列でfizz、「5の倍数」のときはbuzz、両方の倍数である「15の倍数」のときはfizzbuzzと出力。
なるほど、ちなみに出力結果は以下のようになれば正解です。
1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz 16 17 fizz 19 buzz fizz 22 23 fizz buzz 26 fizz 28 29 fizzbuzz 31 32 fizz 34 buzz fizz 37 38 fizz buzz 41 fizz 43 44 fizzbuzz 46 47 fizz 49 buzz fizz 52 53 fizz buzz 56 fizz 58 59 fizzbuzz 61 62 fizz 64 buzz fizz 67 68 fizz buzz 71 fizz 73 74 fizzbuzz 76 77 fizz 79 buzz fizz 82 83 fizz buzz 86 fizz 88 89 fizzbuzz 91 92 fizz 94 buzz fizz 97 98 fizz
100
コードとしては、while 文(繰り返し)を使いますよね?
正直初心者には結構な重労働(頭の)でしたよ。ホント
感想としては、このような処理を書くことを悩んで悩んで、組み立てると頭がよくなる気がしましたww
私は、初見では解けずに答えを見た派です。
下に、解答を載せておきますのでよければ見てみては??
解けなくても、ええんやで〜
プログラミングには、数学知識が必要か??
私は、文系出身です。
そんでもって、プログラミングには数学知識がないとダメなんじゃないのかと思うこともあります。
※プログラミングって理系出身の人がやるべきものなんじゃないか?
※文系にはプログラミングが難しいのではないか??
なんて、思ったこともありました。
結論を言うと、"条件つき"でそうです。
今から、プログラミングを始めようとしている人に関して言えば、数学的知識は必要ないと言えます。
でも、高度なもの(ゲームプログラム、AI機械学習)に関して言えば数学は必要です。
と、肌で感じました。(実体験)
例えば、以下のサイトでは機械学習を1から学ぶと書いてありますが、
文系には馴染みがないΣ(シグマ)やゴリゴリの数式が出てきます。
ですが、初心者の自分が今勉強しているRubyに関して言えばそのようなことはないので安心を!
そもそも、AIの領域は最先端の技術が盛り込まれています。
最近では、自動運転やコールセンターの受付の自動化など広く知られています。
そんな世界の最先端に初心者があーだこーだ口出しはできんのです。
世界の最先端についていくにはそれ相応の知識がなければいけません。(あたりまえやん)
プログラミングを触ってみるのであれば、数学的知識は必要ありません。
しかし、これだけは言えると思います。
プログラミングを極めたいのであれば、数学的知識は必須であると。
プロでも、数学があまりできない人はいると思います。(多分日本人限定)
ですが、一流になるにはやはり必要になってくる要因ではあると思っています。
プログラミングには、アルゴリズムと言う物が存在し、その計算量は数学的知識をもっているか否かで変わってくる、とも言われています。。。(詳しくは知りませんww)
最後に、初心者の方はそんなに怯えないで((((;゚Д゚)))))))
気楽に行きましょうww
rubyを進めてみたけど、どうも ”プログラミングしてます!” 感がないです.......
いざ、プログラミングを始めてみたけどもどうも気に入らない。
というのも、最初はとりあえず、hello worldを表示させてみよう!だとか、
文字列と数値を連結させよう!だとか、
掛け算、割り算(演算子)をやってみようだとかいまいち何かを作っている感じが無い。
まぁ、初歩の初歩から始めているのだから当然といえば当然なのだが。。。アマチュアにも届かない初心者の中の初心者です。
それでも、何か目指すべき物が見当たらないのである。目指すべき物が見えないのである。
始めようとするときには、ハテナブログとか、どこかの企業HPみたいな物が作れるのでは無いかと思っていたのですが、そのビジョンが全く見えないんです。
プログラミングを始めるときには、何かを作るという目標設定は不可欠だと感じたのですが、如何せん初心者で何が作れるのかもわからない者にとっては目標を作るのも一苦労。
そういった、板挟みがあり挫折してしまう人も多くいらっしゃるのでは無いでしょうか??(もちろん、私もその一人ですww)
今できるのは、こんな文字列を表示させるくらいのものです。
果たして、こんな感じのプログラミングがどうやったらちゃんとしたHPになるのでしょうか?
まだ、まだ勉強は続きます。。。。(引数とかちょいムズです...)
早く、こんなの書いてみたいなぁ〜〜
cloud9 を登録して使ってみよう
cloud9 正式にはAWS Cloud9というみたいです。
AWS Cloud9はAmazonが提供している総合開発環境(IDE)です。
総合開発環境とは................................よくわかりません(笑
とにかく、プログラミングを始める初心者にとってもかなり便利な機能だということで今回紹介します。
決してAmazonの回し者というわけではありません。いやほんと!
実際に、自分はこのcloud9を使ってプログラミングをしています。
プログラミングを始める際に躓くところといえば環境構築なのですが、その最初の壁を乗り越えられる素晴らしいものなのです。
cloud9を使えるようになるステップは
1.会員登録
2.ワークスペース作成
です。
アカウント作成には、クレジットカード番号が必要となりますが、
新規お申込みのお客様は 1 年間の無料利用枠をご利用いただけますので、AWS アカウント作成、無料利用枠内のご利用で請求が行われることはありません。
とのこと、なので安心してください。
サポートプランはもちろん無料のベーシックプランを選択し、登録完了です。
次に、ワークスペース作成です。
※どうやらcolud9を使う場合はリージョン(地域)が限られているようです。日本から一番近いシンガポールにリージョン(地域)を設定しなおしましょう。
ログインすると、AWSサービスの下に検索窓のようなものがあるので、そこにcloud9と打ち込んでください。
すると、ワークスペース作成が可能なページに飛ぶのでcreate environmentをクリック!!!
ワークスペースの名前などはご自由に(できるだけ簡潔に)、
・ settingでは Create a new instance for environment(EC2) ・t2.micro(1GIB RAM)
以上の二つを選択しましょう。(初期推奨でこの設定になっているはずです。とくに何も触らずにnext step -> create envirionmentしましょう)
以上が、cloud9が使えるようになるまでの過程でした。
分からない人は、「cloud9使い方」とかで検索してみては?
さぁ、Rubyを始めよう
さぁ、始めよう!!
Rubyを始めよう。
そう!始めよう!!!
いざ、始めよう!!!!!!!
・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
コードってどこに書くの???????????????
↑ こんなやつ
そうです。初心者の私は知りませんでした。プログラミングはどこにどのように書くのか・・・・・・。
Why japanese people!!!???的なノリで分かりません。。。
どうすんの、コレ・・・・・。
調べます。
↓
↓
↓
↓
調べました。
なにやら、プログラミングを始める(コードを書く)には、環境構築というものが必要みたいですね。
環境構築とは、特定の装置やソフトウェア、システムなどが動作するように、コンピュータや情報システムの状態を整えること。特に、コンピュータにソフトウェアを導入したり設定を調整することで、対象のソフトウェアが動作する環境を作り上げる作業を意味する場合が多い。
うん。とりあえず、プログラミングできる状態を作りなさい!!!!といってますよね・・・(多分)
環境構築を行っていこうと思うわけですが、実は以前に環境構築をやったことがあるんですよ。
結果は、失敗。挫折しました。
------------------------------------------------------------------------------------------------------------------
サイトには、この通りに行えば大丈夫的な形で書かれていたのですが、うまくいかず↷↷
うまくいかなかったので、ネットで調べました。すると先に進めました。
でも、また問題が発生し、ネットで調べました。うまくいきました。
最後の作業に取り掛かり、この作業がうまくいけば環境構築終了!!!のところまで来ていました。問題が発生し、調べました。
解決方法がいくら探しても、載ってませんでした。どうすることもできず、諦めました。。。挫折。あかんやん・・・・・・・
----------------------------------------------------------------------------------------------------------------
vagrant,syberduckなどいろいろ試しましたが、いずれも失敗。。。。。。
実は、
「環境構築」はプログラミング初心者にとってものすごい高いハードル。
なんです。
しかも、私はWindowsユーザー(しかも、結構古い)なので、さらに苦戦を強いられました。
でも、朗報です。
そんな初心者でも簡単に環境構築できるものを発見しました!!!!!!!!!!
cloud9というあのAmazonが提供しているものです。
次回、cloud9の使い方!!!!」
なにから始めようか・・・・
プログラミングをやろうといっても、何から始めればいいものか全くわからない人が多いのではないでしょうか??
私自身もそうです。。。
なので、軽く調べてみました。!!
言語によって、使われている言語、使われていない言語が分かれているみたいですね。
scala,python,swift,rubyなどが市場価値が高いみたいです。
なぜかは、わかりませんが・・・・。(使いやすさとかあるんでしょうか??)
これは、ほんの一部らしいのですがいろんな言語があるんですねぇ~。ふむふむ
なんせ、言語だけで200ぐらいあるとかないとか__どれを学ぶか迷います。
python、ruby、cobol、swift、c、c#、 c++ などなど全く分かりません・・・。
実際ネットで調べていると、c言語というものが"機械で使う言語に近いプログラミング言語"
と言われているそうです。この言語から始めてみようかな・・・そう思いました。
だがしかし!!!!!!!!!!!!!!!!!!
こんな記事もありました。
初心者にはオススメできないというのです。
実際、掲示板なんかを見ていてもcを最初にやった方がいいぜ!!という人意見のひともいれば、いやいやcは初心者には難しいですよ。というひともいます。
まぁ、どの世界でもそうでしょうが、正解はないのでしょうね・・・。(それが困る・・)
なので、"プログラミング初心者 言語"で調べると以下の言語が出てきました。
この四つの中から決めたいと思います。
で、結果から言うと、Rubyに決めました!!!
理由は、
●日本人が考えたプログラミング言語ということもあり、日本語で書かれた開設や参考資料が多い
●文法が非常にわかりやすく、直感的で簡潔にコードが書けること
●プログラミング経験がない全くの初心者でも、非常に始めやすい言語である
特に、全くの初心者でもOKという点が決めてですかね。
なので、Rubyを学んでいきたいと思います!!!!
(三日坊主にならなければいいのだけれど・・・・・・)