ruby の検索結果:

(Crystal)(PNG) CrystalでPNG画像の幅と高さをヘッダの部分から取得する

Crystalで PNG画像ファイルの幅と高さをヘッダの部分から取得します、 ヘッダ部分を見て、PNG画像のヘッダかどうかの判断もするようになっています、 実際に画像データを読み込むわけではないのでデータが壊れていないなどの保証は出来ません、 その分、情報の取得速度は非常に高速です。 ヘッダの構造を読み替えれば、その他の情報や その他のファイル形式にも応用できます。 # png_picture_size <filename> [0|1] [both|cols|rows] # …

(ruby)(crystal) rubyとcrystalで違う部分 「コマンドライン引数」

rubyとほぼ同じような書き方が出来るcrystalですが、 当然違う言語なので違う部分も色々とあります、 その一つとして コマンドライン引数の受け方で違いが出てきます。rubyで 第一引数が無かった場合の判定としては ARGV[0] == nil と書くことが出来ますが、 crystalでは 引数がない所の値を取得しようとすると、Index out of boundsエラーが 発生します、 rubyでは引数が無い部分を指定したらnilが返ってきますが、crystalではそう…

(ruby) 2つの変数の内容を入れ替える

… いわゆるswapをrubyで書くにはどうすればいいか?、 考え方的には 参照先を入れ替えればいいわけなので a,b = [b,a] という風に書けます。 確認のために以下を実行すると、2つの変数の object_idも ポインタも 入れ替わっているのがわかります。 require "fiddle" a = "hello" b = "world" puts(a.object_id) puts(b.object_id) puts(Fiddle::Pointer[a].to_i)…

Base64エンコードデコードをいろんな言語で書いてみた

…utput); } Ruby (Base64エンコード) require "base64" filename = "./data_file_name" # Base64を取得したいファイル名 dat = File.read(filename) print Base64.encode64(dat) Ruby (Base64デコード) require "base64" filename = "./base64_text_data" # デコードしたいBase64ファイル名 out…

MD5を取得して表示するのをいろんな言語で書いてみた

…turn 0; } Ruby require "digest/md5" dat = "Hello World!" # MD5を取得するデータ puts(Digest::MD5.hexdigest(dat)) Ruby (ファイル入力バージョン) require "digest/md5" filename = "./data_file_name" # MD5を取得したいファイル名 dat = File.read(filename) puts(Digest::MD5.hexdig…

JSONの文字列をパースするのをいろんな言語で書いてみた

…::endl; } Ruby #!/usr/local/bin/ruby -Ku require 'json' json_text = <<'EOJSON' { "mysql" : { "host" : "192.168.0.3", "port" : 3306, "user" : "hoge", "password" : "fuga", "database" : "hige", "table" : "hage" } } EOJSON json_data = JSON.pars…

クラスの定義をいろんな言語で書いてみた

…llo(); }; Ruby #!/usr/local/bin/ruby -Ku class Neko def initialize(new_name) @name = new_name end def hello() puts("吾輩は #{@name} である") end end mike = Neko.new('ミケ') mike.hello() Crystal class Neko @name: String def initialize(new_name) @nam…

(ruby) コピペで使えるライブラリ集

■ (ruby)(コピペで使えるライブラリ集) パターンにマッチングしたファイルの一覧を配列で返すメソッド パターンでファイルを検索してマッチしたものを配列で取得するものです、戻り値をある程度カスタマイズできます■ (ruby)(コピペで使えるライブラリ集) カレントディレクトリにテンポラリディレクトリを作るメソッド カレントディレクトリを汚したくない時にちょっとしたテンポラリディレクトリを作れます

(ruby)(コピペで使えるライブラリ集) カレントディレクトリにテンポラリディレクトリを作るメソッド

ruby コピペライブラリ一覧→ http://morakana.hatenablog.jp/entry/2018/03/13/100032 この create_temp_path メソッドは、カレントディレクトリにテンポラリディレクトリを作り、 作成に成功したらその絶対パス名を返します 何らかの問題で テンポラリディレクトリの作成に失敗したら nil が返ってきます あくまでカレントディレクトリに作成される仕様ですので、カレントディレクトリ以外の場所は指定できません テンポ…

(ruby)(コピペで使えるライブラリ集) パターンにマッチングしたファイルの一覧を配列で返すメソッド

ruby コピペライブラリ一覧→ http://morakana.hatenablog.jp/entry/2018/03/13/100032 この enum_files メソッドは、パターンにマッチングしたファイル名一覧を取得します enum_files(['./*']) で、マッチングしたファイルのファイル名が絶対パスの配列で返ってきます パターンを複数個指定したい場合は、パターンを配列で指定します enum_files(['./*.rb', './*.txt']) 絶対パ…

node.jsのまとめ

…スを調べる方法■ (ruby)(python3)(node.js)(c++)(java) いろんな言語の超基本的なクラス定義を書き並べてみる 基本的なクラスの定義の仕方をいろんな言語で書いてみた ■ (node.js)(javascript)(promise) まずはPromiseを使う時の超基本 (シリーズ:Promiseの使い方講座) Promiseが機能する最小限の構成を説明しています■ (node.js)(javascript)(promise) 成功時と失敗時の処理…

rubyのまとめ

■ (ruby)(rbenv) rbenvでrubyをインストール rbenvを使ってrubyをインストールする方法■ (WSL)(ruby) WSLの環境でpryを使うと最初にパーミッションの警告が出て五月蠅い場合 Windows Subsystem for Linux環境下で pryを使うと 最初のコマンドの実行時にパーミッション関係の警告が出る場合の対処法■ (ruby)(python3)(node.js)(c++)(c#)(java) いろんな言語の超基本的なクラス定…

(ruby) rubyでは ifやcaseは if文 case文 ではなく if式 case式 である

rubyに関する記事一覧→ rubyのまとめ だいたいの言語って ifって文ですよね?、でもrubyでは ifも式なんです、caseも式なんです if式ってなんやねん!? って感じですが、まぁ論より証拠 puts( if true then 100 end ) を実行すると 100 と表示されます つまり trueだった場合その中の処理が実行され 一番最後の処理の戻り値が if式の結果 として返ってくるのです もちろん、else や elsif が加わった場合も同じです pu…

(ruby) 後置if式で実行内容を複数個書きたい場合

rubyに関する記事一覧→ rubyのまとめ rubyには 先に実行内容を書いて、その後に if を挟んで 条件式を書く書き方があります if修飾子 とか 後置if って言われているやつですね puts('hello') if true 便宜上 trueと書いてますが、この部分に条件式を書くわけですね この例では条件式は true なので puts('hello')が実行されます ただし実行されるのは ifの左隣の一つだけです 複数個の処理を対象としようとして puts('h…

(ruby)(python3)(node.js)(c++)(c#)(java) いろんな言語の超基本的なクラス定義を書き並べてみる

rubyに関する記事一覧→ rubyのまとめ node.jsに関する記事一覧→ node.jsのまとめ クラス定義っていろんな言語使ってるとなんかごっちゃになってしまいますよね そこで、各言語の超基本的なクラス定義を書き並べて比較してみることにしました 全てやっていることは同じで、Nekoクラスを定義して 名前を「ミケ」にセットして、挨拶をさせています c++ #include <iostream> #include <stdio.h> //printf用 class Nek…

(WSL)(ruby) WSLの環境でpryを使うと最初にパーミッションの警告が出て五月蠅い場合

rubyに関する記事一覧→ rubyのまとめ pryが出すメッセージの通り ディレクトリのパーミッションが777になっているのがあるのが原因です指定したディレクトリ以下のディレクトリを一括して755にしてあげましょう find /home/<ユーザ名>/.rbenv -type d -exec chmod 755 {} +インストール直後だとrbenvでもrvmでも同じように警告が出されるので まずは .rbenv や .rvm のディレクトリを指定してやりましょう それ以外…

(ruby)(rbenv) rbenvでrubyをインストール

rubyに関する記事一覧→ rubyのまとめ 注意: この記事の内容は ubuntu 17.10 lubuntu 17.10 Windows Subsystem for Linux(WSL) Fedora 27 CentOS 7 の環境で動作を確認しています、 その他の環境ではうまく行かない可能性がありますので予めご了承ください rvmが入っている環境ならまずはrvmを除去します rvm seppuku でアンインストールして .bashrc等に追加した source ~/.…

(node.js)(javascript) 外部プログラムを呼び出して、それに標準入力をして、それの標準出力を取得する

…n/node // rubyと同じ感じでコンソールに出力できるように const puts = console.log; const print = (str)=>{process.stdout.write(str)}; // 外部プログラムを呼び出す準備 const exec = require('child_process').exec; // ファイル操作をする準備 const fs = require('fs'); // euc-jp.txt には euc-jpの文字…