Suche senden
Hochladen
Measure 単位付き数値ライブラリ
•
2 gefällt mir
•
1,466 views
Kenta Murata
Folgen
単位付き数値ライブラリ Measure の紹介
Weniger lesen
Mehr lesen
Technologie
Business
Melden
Teilen
Melden
Teilen
1 von 15
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
5分で分かる Measure
5分で分かる Measure
Kenta Murata
Prml 2_3_1
Prml 2_3_1
brownbro
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書く
mametter
Float is Legacy
Float is Legacy
Kenta Murata
Introduction to ATDD with Cucumber and RSpec
Introduction to ATDD with Cucumber and RSpec
Kenta Murata
The world without the literal notation for floating-point numbers
The world without the literal notation for floating-point numbers
Kenta Murata
The world without float literal
The world without float literal
Kenta Murata
Ruby 1.9.3 の新機能と変更点
Ruby 1.9.3 の新機能と変更点
Kenta Murata
Empfohlen
5分で分かる Measure
5分で分かる Measure
Kenta Murata
Prml 2_3_1
Prml 2_3_1
brownbro
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書く
mametter
Float is Legacy
Float is Legacy
Kenta Murata
Introduction to ATDD with Cucumber and RSpec
Introduction to ATDD with Cucumber and RSpec
Kenta Murata
The world without the literal notation for floating-point numbers
The world without the literal notation for floating-point numbers
Kenta Murata
The world without float literal
The world without float literal
Kenta Murata
Ruby 1.9.3 の新機能と変更点
Ruby 1.9.3 の新機能と変更点
Kenta Murata
関数型プログラミングの世界
関数型プログラミングの世界
Kenta Murata
Let's begin Behavior Driven Development using RSpec
Let's begin Behavior Driven Development using RSpec
Kenta Murata
Rubyをたのしくするために私が考えていること
Rubyをたのしくするために私が考えていること
Kenta Murata
Ruby の懸案事項
Ruby の懸案事項
Kenta Murata
5分弱で分かる量子ビット
5分弱で分かる量子ビット
Kenta Murata
Rubykaigi2010mrkn bigdecimal
Rubykaigi2010mrkn bigdecimal
Kenta Murata
Ruby における絵文字エンコーディング間の相互変換ダイアグラム (案)
Ruby における絵文字エンコーディング間の相互変換ダイアグラム (案)
Kenta Murata
校内勉強会のススメ An encouragement to hold workshops In your school
校内勉強会のススメ An encouragement to hold workshops In your school
Kenta Murata
Ruby の標準乱数生成器とその改善案
Ruby の標準乱数生成器とその改善案
Kenta Murata
情報学特論#02
情報学特論#02
Kenta Murata
情報学特論#01
情報学特論#01
Kenta Murata
北海道関数型言語勉強会@札幌#2のお知らせ
北海道関数型言語勉強会@札幌#2のお知らせ
Kenta Murata
Ruby 拡張モジュール入門
Ruby 拡張モジュール入門
Kenta Murata
Weitere ähnliche Inhalte
Mehr von Kenta Murata
関数型プログラミングの世界
関数型プログラミングの世界
Kenta Murata
Let's begin Behavior Driven Development using RSpec
Let's begin Behavior Driven Development using RSpec
Kenta Murata
Rubyをたのしくするために私が考えていること
Rubyをたのしくするために私が考えていること
Kenta Murata
Ruby の懸案事項
Ruby の懸案事項
Kenta Murata
5分弱で分かる量子ビット
5分弱で分かる量子ビット
Kenta Murata
Rubykaigi2010mrkn bigdecimal
Rubykaigi2010mrkn bigdecimal
Kenta Murata
Ruby における絵文字エンコーディング間の相互変換ダイアグラム (案)
Ruby における絵文字エンコーディング間の相互変換ダイアグラム (案)
Kenta Murata
校内勉強会のススメ An encouragement to hold workshops In your school
校内勉強会のススメ An encouragement to hold workshops In your school
Kenta Murata
Ruby の標準乱数生成器とその改善案
Ruby の標準乱数生成器とその改善案
Kenta Murata
情報学特論#02
情報学特論#02
Kenta Murata
情報学特論#01
情報学特論#01
Kenta Murata
北海道関数型言語勉強会@札幌#2のお知らせ
北海道関数型言語勉強会@札幌#2のお知らせ
Kenta Murata
Ruby 拡張モジュール入門
Ruby 拡張モジュール入門
Kenta Murata
Mehr von Kenta Murata
(13)
関数型プログラミングの世界
関数型プログラミングの世界
Let's begin Behavior Driven Development using RSpec
Let's begin Behavior Driven Development using RSpec
Rubyをたのしくするために私が考えていること
Rubyをたのしくするために私が考えていること
Ruby の懸案事項
Ruby の懸案事項
5分弱で分かる量子ビット
5分弱で分かる量子ビット
Rubykaigi2010mrkn bigdecimal
Rubykaigi2010mrkn bigdecimal
Ruby における絵文字エンコーディング間の相互変換ダイアグラム (案)
Ruby における絵文字エンコーディング間の相互変換ダイアグラム (案)
校内勉強会のススメ An encouragement to hold workshops In your school
校内勉強会のススメ An encouragement to hold workshops In your school
Ruby の標準乱数生成器とその改善案
Ruby の標準乱数生成器とその改善案
情報学特論#02
情報学特論#02
情報学特論#01
情報学特論#01
北海道関数型言語勉強会@札幌#2のお知らせ
北海道関数型言語勉強会@札幌#2のお知らせ
Ruby 拡張モジュール入門
Ruby 拡張モジュール入門
Measure 単位付き数値ライブラリ
1.
Ruby 勉強会@札幌‒09
2008‒08‒23 Measure 単位付き数値ライブラリ 村田 賢太 Ruby 札幌
2.
単位付き数値とは?
2
3.
単位付き数値とは? 173 [cm]
63 [kg] 376.730 [Ω] 101,325 [Pa] 1.602 10‒19 [C] 2
4.
Measure ライブラリ 単位付き数値クラスを提供
異なる単位間の変換を定義可能 単位付き数値の簡易記法を提供 3
5.
インストール方法 mrkn-macbook:~ root# gem
install -r measure Bulk updating Gem source index for: http://gems.rubyforge.org Successfully installed measure-0.1.0 1 gem installed Installing ri documentation for measure-0.1.0... Installing RDoc documentation for measure-0.1.0... mrkn-macbook:~ root# 4
6.
使い方 mrkn-macbook:~ root# irb irb(main):001:0>
require 'measure' irb(main):002:0> Measure.define_unit :m, :length irb(main):003:0> Measure.define_unit :cm, :length irb(main):004:0> Measure(1, :m) => #<Measure:0x57d8c @unit=:m, @value=1> irb(main):005:0> Measure(1, :cm).to_s => "1 [cm]" 5
7.
単位変換 irb(main):006:0> Measure.define_conversion :m,
:cm => 100 irb(main):007:0> (Measure(1, :m) + Measure(1, :cm)).to_s => "1.01 [m]" irb(main):008:0> Measure.define_unit :in, :length irb(main):009:0> Measure.define_conversion :in, :cm => 2.54 irb(main):010:0> Measure.define_unit :mm, :length irb(main):011:0> Measure.define_conversion :m, :mm => 1000 irb(main):012:0> (Measure(210, :mm) - 2*Measure(1, :in)).to_s => "159.2 [mm]" 6
8.
マルチホップ変換 [in]
2.54倍 [cm] 100倍 [m] 1000倍 [mm] 7
9.
マルチホップ変換 [in]
2.54倍 [cm] 100分の1 2.54分の1 100倍 [m] 1000倍 1000倍 [mm] 7
10.
マルチホップ変換
[in] 2.54倍 [cm] 100分の1 2.54分の1 100倍 [m] 1000倍 連結な単位間での 1000倍 相互変換の経路を [mm] 幅優先探索で発見 7
11.
簡易記法 irb(main):013:0> require 'measure/support' irb(main):014:0>
Measure.form { 1.m - 1.cm }.to_s => "0.99 [m]" 8
12.
定義済み単位
measure/length を require すると次の単 位が定義され相互変換可能な状態になる m, meter in, inch pt, point, dp, didot_point cm, centi_meter ft, feet bp, big_point mm, milli_meter yd, yard pc, pica km, kilo_meter um, micro_meter nm, nano_meter 9
13.
未対応な機能 多次元単位 たとえば
1 [kg m / s2] など 簡易記法なら 1.kg.m.s(‒2) かな? スケーリング以外の単位変換 [ C] = 5 ([ F] ‒ 32) / 9 など 開発版では対応済み 10
14.
Proc による単位変換 irb(main):015:0> Measure.define_unit
:deg_c, :temperature irb(main):016:0> Measure.define_unit :deg_f, :temperature irb(main):017:0> Measure.define_conversion :deg_c, :deg_f => lambda {|x| 9.0*x/5.0 + 32 } irb(main):018:0> Measure.define_conversion :deg_f, :deg_c => lambda {|x| 5.0*(x - 32)/9.0 } irb(main):019:0> Measure.form { -40.deg_c.as_deg_f }.to_s => "-40.0 [deg_f]" 11
15.
Future works スケーリング以外の変換を実装したバージョン
をリリースする 定義済み単位を増やす 多次元単位への対応 12
Jetzt herunterladen