Ruby オブジェクト参照がよくわかるソース Rubyの変数の考え方は、オブジェクト自体ではなく、 オブジェクトの参照 です。 変数に値を代入するときは、代入先の変数の中にオブジェクトをコピーするのではなく、変数に オブジェクトの参照を格納 しています。 Stringオブジェクトを作り、参照を s に格納します...
Ruby 文字の配列の落とし穴 Array.new(3,'a') と Array.new(3){'b'} は違う Array.new(3,'a') と Array.new(3){'b'} は全く異なる動きをします。 同じ文字列オブジェクトへの参照の配列を作りたい場合は別として、通常は、同じ文字の配列を作る場合は、 Array.new(3){'b...
Ruby 配列を配列に入れるとき注意 参照渡しならないように 配列オブジェクトに dup や clone メソッドを実行すると、元のオブジェクトからコピーしたオブジェクトが新たに作られます。 dup や clone は、オブジェクト自身を複製しますが、 オブジェクトの指している先までは複製しません 。つまり、C言語でいうポインタ...
Ruby dupは、配列のオブジェクトは同じだが、中身のオブジェクトは同じものを指している Rubyの dup は、配列オブジェクトは異なるが、 配列の中身のオブジェクトは同じものを指している 。 配列のオブジェクトIDは 異なる 。 pp origin_arr = ["111", "000"] # =...
JavaScript 検索キーワードがSJISの場合のURLエンコード方法 ビックカメラやヨドバシカメラの 検索結果を含むリンクを作る 場合、そのサイトに応じた文字コードの対応が必要になります。 ヨドバシカメラの場合は、UTF8なのでそのまま使えますが、ビックカメラの場合は SJIS なので変換が必要です。 そのためには、 encoding-ja...
JavaScript 条件式を分解して読みやすくする 無理して1行で1つの式で書くよりも、 条件式を分解 してそれぞれの結果を変数として定義したほうが読みやすくなります。 1行のif文 if((typeof a === "string" && typeof b === "st...
JavaScript タイトル、内容、送信先等をセットしてメーラーを立ち上げる JavaScript で、 タイトル、内容、To、Cc等をセットしてメーラーを立ち上げたい場合 があります。 iPhoneなどiOSでは、 location.href ではうまく立ち上がりません。 PCのブラウザでもiPhoneでも動作させる には、 window.open...
書評 『達人プログラマー』 直交性、つまり独立性と分離性が重要であり依存関係を最小限に抑える より 良いコーディング を目指した様々な良い本を読んでいますが、今回は、 プログラマーのバイブル の一つである 新装版 の『 達人プログラマー 』を読んでみました。 『 リーダブルコード 』に比べると、結構読みにくい本ですが、著者は「 身につけた解決策を数年間かけて書籍にした...
華麗なプログラミング技術の代表的な3つの原則 DRY原則 KISS原則 OAOO原則 プログラムコードを 達人 のように きれい に シンプル に 華麗 に書くにはいくつかの 原則 があります。 代表的な原則 を3つまとめました。 DRY原則 と OAOO原則 は似ていますが、 DRY原則はシステム全体 、 OAOO原則はソースコード に焦点を当てています...
Ruby librosaとう音声処理ライブラリーについてChartGPTに聞いてみた librosa という便利そうな Pythonの音信号処理ライブラリー があることを知りました。 音声データの 可視化 テンポ や ビート の検出 周波数分析 メロディー ・ 和音 の分析 ピッチシフト タイムストレッチ 楽曲 構成 ...
Ruby irbでエラー 指定されたモジュールが見つかりません fiddleが影響 Ruby の irb で、エラーがおきました。いろいろ調べて最終的に解消できました。 <internal:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb...
Ruby faraday Gemでエラーになるので解消 Windows版 Ruby で、 faraday の インストールでエラー がおきました。いろいろ調べて最終的に解消できました。 >gem install faraday-patron Temporarily enhancing PATH for MSYS/MINGW... Buil...
Ruby言語は、サマーウォーズなど、いろいろなところで使われています Ruby言語 が使われているものを調べてみました。 なんと、細田守監督のアニメ映画である「 サマーウォーズ 」で使われているとのことです。 映画の画面に映ったコードが Ruby だったらしいのです。 そのほか調べてみるとこんなサイトで使われています。 ク...
人気プログラミング言語の変遷 1965年から2022まで 人気プログラミング言語 の変遷を1965年から2022まで動画でまとめたYouTubeが面白いです。 NEW! Most Popular Programming Languages 1965 - 2022 - YouTube Fortran から始まって、今は Pyt...
JavaScript 2桁ゼロパディングの2つの方法 日付が1桁の場合、ゼロパディングしたい場合があります。 例えば、 2023/1/4 → 2023/01/04 こんな感じです。 2つほどやり方を紹介します。 ss に数字を入れると、 ret に 2桁ゼロパディング された値が返ります。 表示形式が確定...
2022年 gogoLabyrinth 記事ランキング ベスト30 2022年 gogoLabyrinth 記事ランキング ベスト30 bat バッチファイルのコメントは、REMと::だが、REM文を使いたい - gogoLabyrinth gogoLabyrinth プログラミング、コーディングのテクニックやノウハウ - gog...
JavaScript シーザー暗号+反転処理で、暗号化と復号化する Web上で入力した内容を記憶しておきたい場合は、 Cookie や localStorage などに保存することを考えますが、メールアドレスや個人情報などは 暗号化 して、少しでも 安全に対応 したいですよね。 ということで、 簡易的 ですが暗号化を試してみました。実際には ...
JavaScript NaNとは Not a Numberですが、isNaNとNumber.isNaNは微妙に異なる JavaScript の NaN と isNaN はちょっと厄介です。 NaNは Not-a-Number の略称 数値ではないがNumber型の値を表現 NaNはどの値とも(NaN自身に対しても)一致しない Number.isNaN メソッドを使うこ...
JavaScript Cookieの保存と取得 保存期間を指定してセキュアに対応 テレワーク 等の 在宅勤務 で、毎日 勤怠メール を送らなくてはならないとき、定形文があると便利ですよね。 ということで、日付や時間をその日時に合わせて、送信先、件名、本文などを記憶してメーラーを起動して送信できるツールを作ってみました。 → ggApp FormSendMa...
Ruby 書評 『アジャイル時代のオブジェクト脳のつくり方 Rubyで学ぶ究極の基礎講座』 わかりやすそうで難しい 『 アジャイル時代のオブジェクト脳のつくり方 Rubyで学ぶ究極の基礎講座 』という本を読んでみました。 複数の著者 で書かれており偏りがないのと、 まつもとゆきひろ さん監修 ということだし、 漫画チックで初心者向け かなと思ったのですが、かなり難しい本です。 いわゆる...