はじめに プログラミング初学者のものです。 Rubyを学習するにあたりグローバル変数とローカル変数の違いについてしっかり理解できていなかったのでまとめようと思います。 間違っているところがあれば教えていただけると嬉しいです。 グローバル変数とは 複数のサブルーチン(関数)間で値を共有できる変数です。 アプリケーションの開始から終了まで変数に入れた値を保持します。 ここでサブルーチンとはRubyでいうメソッドなどのある処理のまとまりのことを指します。 サブルーチンはメインルーチンから呼び出されることで処理が実行されます。 グローバル変数の特徴について2つ説明したいと思います。 メインルーチンからサブルーチンを呼び出しサブルーチンで定義されている変数を参照することが可能。 サブルーチンAとサブルーチンBで同じグローバル変数を定義したときに同じ参照を持つ変数になる。 グローバル変数はどこからでも
Qiita の新着記事を眺めていると,ときどき同じお題に取り組んだ結果を書いたものをいくつも目にすることがあります。 「模範解答」があったりするので,おそらく何らかの教材に取り組まれたのだろうと思います。 その「模範解答」のコードを見て首を傾げることがしばしばあったので,本記事で具体的に指摘してみたいと思います。 取り上げるのはすべて Ruby のものです。 たいがい出典が書かれていないので,原典を参照することができないのですが。 ※本記事は,そういった記事および著者を批判する意図を微塵も持っていません。むしろ応援したい気持ちで書いています。 ※また,取り上げた教材およびその提供者を侮辱したり非難したりするつもりもありません。不遜かもしれませんが改善に役立てば幸いです。 なお,教材によってはお題そのものがおかしかったりしますが,今回は取り上げません。 今回,三つのお題を取り上げました。引用
概要 スクリプト言語的なものとしては、もっぱらPythonを使っていたが、 このごろRubyを初めてややガッツリ触る機会があった。 すぐ慣れるだろうと甘くみていたら、予想以上にクセが強くて苦戦したので、 Python使いの視点からRubyの特徴を簡単にメモっておきたいと思う。 まだまだ勉強不足なので網羅的な説明にはならないと思うが、 最低限これだけ把握すれば大体不都合なくRubyを読み書きできるというポイントをまとめる。 省略文化 Pythonと似たようなものだろうと思っていた自分にまず面食らわせてきたのがこれ。 イカした特徴だと思うが、慣れないと大変。 returnの省略 returnは省略可。 例: ゲッターメソッド
導入部 新規PJでwebpackerの利用を考えている人へ(2022/01/24 追記) WebpackerはRails 7以降では使う理由がなくなり、今後は開発が止まっていきます。 新規PJでwebpackerは採用しない方が良いでしょう。以下の公式リンクをご参照ください。 はじめに RubyやRailsをメインで開発していて、「正直JSはよくわからん」という人は、結構いると思います。 しかしブラウザがそこにある限り人類はJSから逃れることはできません。 この記事は、JSに苦手意識のあるRubyistたちにwebpackとお友達になってもらうために書きました。 webpackerが何なのか知っておくと、役に立つ日が絶対に来るので、ぜひ知らない人は読んでください。 もし私がJSをよく知らないRails開発者だったら、webpackやwebpackerが何者なのかを、こう教えてほしいという気
こんにちは、遠藤(@mametter)です。RubyKaigi Takeout 2020お疲れさまでした。 現在クックパッドには、フルタイムでRubyの開発をしている人が2人います(笹田と遠藤)。 それぞれ、Ruby 3の目標である並列性と静的解析の実現をメインミッションに据えて活動していますが、実はそれ以外にもRubyの開発を支えるための活動をいろいろやっています。 今回は、遠藤が関わっている範囲で、「Ruby開発者会議を支える技術」「Ruby開発のリモート議論を支える技術」「Rubyの品質を支える技術」についてざっと紹介してみます。 1. Ruby開発者会議を支える技術 Rubyに対する機能提案などの議論は、原則として、バグトラッカ上で行われます。 しかし、設計者であり最終決定権を持つmatzの多忙などの理由で、それだけでは議論が停滞してしまうのも事実です。 そこでRubyでは、開発促
概要 『パーフェクトRuby』の改訂版になります。前版はRuby1.9および2.0対応版として企画しましたが、Ruby2.0のサポートが終了したこともあり、2017年1月リリースのRuby2.4の最新版に対応した改訂になります。改訂にあたり、前版になかったテスト関連なども追加しより充実させています。 目次 Part1 Ruby~overview 1章 Rubyの概要 1-1 Rubyについて 1-2 本書の読み方 1-3 Rubyドキュメントの歩き方 1-4 Ruby処理系の入手方法 1-5 Rubyを使ってみよう 1-6 コーディングスタイル 1-7 複数のRuby実装 1-8 Rubyのコミュニティとの関わり方 1-9 Rubyの開発について知る Part2 Ruby言語仕様 2章 Rubyの基礎 2-1 Hello, Ruby 2-2 変数と定数 2-3 条件分岐と真偽値 2-4 式
依存するgitリポジトリが数十あり、Mac上でしか動作しないビルドを動かしている、Jenkinsの移行をすることになった。 Jenkinsについては詳しくない。もちろん勉強すりゃいいという話なのだが、アラフォーで覚えが悪いので、今回は自前で簡単なCIサーバを書いてみました。今回のプロジェクトはRubyメインなので、Rubyで。 JenkinsはMovable Typeであり、Wordpressである 僕は、JenkinsをMovable Type/Wordpressのようなソフトウェアだと捉えています。 Movable Typeは「ブログ」というコンテンツ形式を広めたソフトウェアです。Wordpressは、Webの管理画面経由で簡単にプラグインを導入することができ、CMSとしてエコシステムが確立しています。 JenkinsのおかげでContinuous Integrationの概念は広まっ
ゲストを招き、プログラミングの魅力やはじめ方のアドバイス、いま注目している技術などを語っていただくシリーズ。第1回目は、日本を代表するプログラマーであるRubyアソシエーション理事長のまつもとゆきひろ氏が登場。前編の「俺ってスゲェ!』と思える言語を作りたかった」に引き続き、後編では、いよいよRubyの誕生やプログラミング教育についても触れる。 ゲスト:まつもとゆきひろ(Rubyアソシエーション理事長) 聞き手:角川アスキー総合研究所 バブル崩壊がRubyを生み出した ──93年にRubyを作り始めた理由はあるんですか? まつもと「結論からいうとバブルの崩壊が理由です。僕は90年に卒業して、某ソフトハウスに就職して、そこで社内システムを作るチームに配属されたんです。でも社内システムってお金を稼がないじゃないですか。ということで、バブルの崩壊とともに僕のいたチームのプロジェクトはキャンセルにな
ゲストを招き、プログラミングの魅力やはじめ方のアドバイス、いま注目している技術などを語っていただくシリーズ。第1回目は、日本を代表するプログラマーであるRubyアソシエーション理事長のまつもとゆきひろ氏に登場いただく。プログラミングをする上でかならず必要となるプログラミング言語。それを作るのはどんな人なのか? 聞いてみよう。前後編の2回に分けてお届けする。 ゲスト:まつもとゆきひろ(Rubyアソシエーション理事長) 聞き手:角川アスキー総合研究所 父親のガジェットを息子がぶんどって使う ──プログラミングをはじめたのは、たしか子供の頃だったとお聞きしたのですが。 まつもと「ええ、父親がいわゆるガジェット好きで、小学校6年のときに当時10万円くらいした“L-Kit16”を買ってきたんですよ、日本橋(大阪の電気街)で。半田ゴテでそのキットを作ったけど、父親はすぐに飽きてしまいました。でも、小学
Learn Programming Essence from Ruby patches @takkanm http://rubykaigi.org/2016/presentations/takkanm.html "Various patches are sent to Ruby. Those patches contain various ideas on programming. 続きを読む
海外転職の技術面談の形式に関してはこちらのブログに何度か書いたので、今回はその具体的な対策を書いた。ずばり「RubyとRailsに関する英語の基礎質問と解答例」 書類選考をみごとに通過したら次は電話面談かもしくはオフィスでの面談になる。いづれにしても採用側の会社からはエンジニアが2,3人ぐらい出てきて応募者の相手をすることになる。最初は本当に基礎的な技術質問から入る。それは誰にでも分かるような質問と答えで応募者に話してもらって緊張をほぐす意味と、あともうひとつは「箸にも棒にもかからない人に早々とご退場」願うためだ。あくまでメインは技術質問ではなくコーディングインタビューの方。 なんにしても技術質問の時点で詰まってはいけない。そんなに難しいことでもないし、技術分野に合わせて聞かれる内容はほぼ同じなので十分に対策が取れる。英語がネイティブじゃない応募者が詰まる原因とその対策は以下の3つの順にな
(12/29 20:40追記)「(追記)なぜMySQLのdecimal型を例に使ったかについて」というセクションを追加しました。また、コメントを頂戴したので返信しました。 (12/29 21:30追記)C#について言えば「Math.Round メソッド (Double, Int32)」に内部実装がどうなっているか書いてあるので仕様通りであり、誤解しようが無いという情報を頂きました。ありがとうございます。そしてごめんなさい、確かにバグじゃないです! (12/29 21:50追記)Pythonのround関数のドキュメントにも誤差が入るかもしれないという記述があります。しかし、内部実装の紹介があった方がいつどういう誤差が入るかわかるので親切かなという気がします。また、浮動小数点数の性質上誤差が入るのは仕方が無いかのような記述に見えるのですが、浮動小数点数を使っていても誤差の入らない実装がありう
C#やVisual Basic(VB)で開発した.NETプログラムの中で、カスタム処理をプラグインの形で動的にアプリケーションに組み込んで実行したい場合に、そのプラグインをRubyスクリプト・ファイル(以降、Rubyファイル)で簡単に記述できるようにしたい場合はないだろうか? そのような場合には、IronRubyを用いることで、C#/VBプログラム内でRubyファイルを実行することが可能だ。本稿ではこの方法について説明する。 ●事前準備 まずは、Ruby関連の開発環境を整えよう。IronRubyのダウンロード・ページを訪れ、最新のIronRubyをダウンロードして、インストールもしくは.zipファイルを展開する(インストーラ版とバイナリ版が用意されているが、本稿の内容であればバイナリ版でよい。今回は「IronRuby 1.1.3 Binaries」をダウンロードして「C:\Projects
(追記:2012-12-03) 本記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。詳細は文末に追記しましたので、購入ご検討のほどよろしくお願いしますm(__)m 電子書籍「これからRubyを始める人たちへ」EPUB版 Rubyの特徴 Rubyは、まつもとゆきひろ氏(通称Matz)により設計されたオブジェクト指向プログラミング言語です。Rubyの特徴を一言で言うならば、それは「間口が広くて奥が深い言語」ということになります。 「間口が広い」というのは、インタフェースがシンプルで誰でもが簡単に使い始められることを意味します。「奥が深い」というのは、プロフェッショナルによる長期使用に耐えうる本物の言語であるということを意味します。「間口が広い」ということと「奥が深い」ということは本来競合する概念ではありませんが、その両方をバランスよく組み合わせるには、対象に対する
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
ここ数年、会社を辞めて自分のペースで仕事を請け負うフリーランスという形態で仕事をする人が増えています。フリーランスには様々な職業があり、代表的なものでは翻訳業やイラストレーター、YouTuberもフリーランスに分類されます。そして代表的なフリーランスの職業がもう一つあります。それはプログラマー/エンジニアです。そのプログラミングの大部分を占める工程がコーディングであり、知識と技術を身につければ、憧れのフリーランスに鞍替えすることも夢ではありません。 それではコーディングの知識と技術を取得するにはどのようなルートがあるのでしょうか?現実として学校に通うか、プログラミングを請け負う会社に入社するか、あるいは独学で取得するかのいずれかを選択することになります。そこで今回は最も費用の少ない独学でコーディングを学ぶ方法を紹介したいと思います。 独学でコーディングの知識と技術を身につけるには まずはプ
トップ 目次 はじめに コマンド Rubyの起動 環境変数 Ruby 言語仕様 Ruby でのオブジェクト オブジェクト クラス プロセスの実行 Ruby プログラムの実行 終了処理 スレッド セキュリティモデル Ruby の文法 字句構造 プログラム・文・式 変数と定数 リテラル 演算子式 制御構造 メソッド呼び出し(super・ブロック付き・yield) クラス/メソッドの定義 その他 多言語化 正規表現 手続きオブジェクトの挙動の詳細 組み込みライブラリ Builtin libraries 標準添付ライブラリ All libraries C API All C API その他 pack テンプレート文字列 sprintf フォーマット Ruby用語集 Rubyで使われる記号の意味(正規表現の複雑な記号は除く) 疑似BNFによるRubyの文法 配布条件 このマニュアルのヘルプ
Document Data Structure in MongoDB Express MongoDB lets you easily store structured and unstructured data in a flexible and dynamic database schema. It supports CRUD operations on complex data objects using JSON as the main data type. Its an open source solution so it may not be as robust or well supported as commercial management tools. However it is easy to deploy and works well for most use cas
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く