こんにちは。会計士KOです。 今回はエクセル関数のXLOOKUP関数について解説をしていこうと思います。 日々、VLOOKUP関数や、HLOOKUP関数を利用している方に強力な味方となるであろう関数ができました。 それが、 XLOOKUP関数 です。
こんにちは。会計士KOです。 今回はエクセル関数のXLOOKUP関数について解説をしていこうと思います。 日々、VLOOKUP関数や、HLOOKUP関数を利用している方に強力な味方となるであろう関数ができました。 それが、 XLOOKUP関数 です。
先日出た Visual Studio 17.1 Preview 3 で、引数 null チェックの簡素化構文が入りました。 m(null); // ArgumentNull 例外が出る。 void m(string x!!) { } 展開結果 上記の void m(string x!!) は以下のように展開されます。 (クラス名は実際には通常の C# では書けない変な名前で生成されます。) void m(string x) { Internal.ThrowIfNull(x, "x"); } internal class Internal { internal static void Throw(string paramName) { throw new ArgumentNullException(paramName); } internal static void ThrowIfNull(
TL;DR モックしている関数がFunctional Options Patternを採用している場合、引数の比較に苦労する。 そのため、gomockを使用している際は DoAndReturnを使用し頑張ってオプションを比較する Functional Options Patternの採用を諦め、こちらの記事で紹介がある手法を使用する といった対応が考えられる。 [追記] この記事では「受け取る側でオプションをfunc型として受け取っているパターン」のみをFunctional Options Patternと読んでいます、正確にはこの扱いは誤りでした(→詳細は記事の最後に Functional Options Patternとは Goではoptionalな引数を取ることができないのでFunctional Options Patternという方法がとられる場合が多い。 go-patternsを
function func1({a = 100, b = 200} = {}) { console.log(`${a}, ${b}`) } func1() // => 100, 200 func1({a: 20}) // => 20, 200 Refs デフォルト引数 - JavaScript | MDN 既定値のある分割代入の引数 既定値の代入を、分割代入表記で行うことができます。 これを行う一般的な方法は、空のオブジェクト/配列をオブジェクト/配列に分割代入することです。例えば、 [x = 1, y = 2] = [] とします。 このようにすることで、空の配列/オブジェクトを関数に渡しても、あらかじめ設定した値を保持することができます。 分割代入 - JavaScript | MDN
Posted by mame on 12 Dec 2019 Translated by hachi8833 本記事では、Ruby 3.0で予定されているキーワード引数の非互換性について解説します。 概要 この文書では便宜上、必須引数、オプション引数、rest引数、後置引数(つまり、キーワード引数とブロック引数以外の引数)をまとめて「位置引数」と呼びます。 Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7で警告を表示します。以下のいずれかの警告が表示される場合は、コードのアップデートが必要です。 Using the last argument as keyword parameters is deprecated Passing the keyword argument as the last hash parameter
AWS Lambdaに追加済み関数の引数バリデーションコードが雑多になりがちだったため、関数に分離しつつデコレータ化しました。その際に「デコレータ化した時のテストってどう書いておくべきだっけ」と考えて試してみた結果となります。 はじめに Pythonベースで作成されたAWS Lambdaのハンドラリファクタリングをしていました。個人的にとにかく面倒に感じたのはeventとcontextのバリデーションでした。値のチェックによる行数の肥大化、及び一時変数の増加がつきものになります。 チェック用コードの関数化、及び関数のdecorator化とまで進めてみましたが、中々頭を捻ったのがdecoretorのテストです。実際のコード及びテストを元にした実装例を交えて、考慮した部分をまとめてみました。 decoretorのコード テスト対象のdecoratorコードは以下の通り。実際のコードから最低限の
背景(疑問) ソケットプログラムでは、よくsend() や sendto() 関数を使ってデータの送信が行われます。違いの概要を参考文献から引用します。 1 UDPを利用したソケットプログラミングでは、データを送信する方法としてsendto() や send() システムコールを利用することが一般的です。[...]両者の違いは、send()システムコールがソケットが接続状態(すでにconnect()された状態)であることを要求する点です 『Linuxネットワークプログラミング』 https://amzn.to/3miyddM . TCP/IPの場合はsend(), recv()で送受信を行いましたが、UDP/IPの場合はコネクションレスプロトコルなので、ソケットが特定の通信相手と結びついていません。 そのため、送信、受信のたびに宛先や送信元の情報が必要になるため、引数に宛先や送信元の情報を
この記事では、Next.js の Server Actions にフォームの入力値以外の情報を渡す方法について紹介します。 Server Actions とは Next.js の Server Actions は、クライアントサイドのイベント(例えばフォームの送信やボタンのクリック)をトリガーとして、サーバーサイドの関数を呼び出す機能です。この機能はプログレッシブエンハンスメントをサポートしており、JavaScript が読み込まれていない状況や無効になっている場合でもフォームを送信することができます。 使用例 'use server' をファイルの先頭に追加して、サーバー側で実行したい関数を定義します。
背景 引数に条件式(Expression)を取るメソッドをMoqにSetupしようとした際に少しハマったのでメモ。 環境 IDE:Visual Studio Community 2019 Ver.16.8.2 .NET Version:Core 3.1 言語:C# TestFramework:xUnit 2.4.1 Moq Version:4.15.2 Moqについて Moqとは Moqは. Net用の模擬ライブラリです。 ユニットテストを容易にするために、依存関係との対話をシミュレートして検証することができます。 -- moq Tutorial => Getting started with moq Moq Github Quickstart · devlooped/moq Wiki 本題 たとえばこのようなUserクラスがあります。 internal class User { publ
はじめに vueとnuxtの記事も書こうかなあ、、、 プロジェクトが壊れる可能性あり、、、 先日、仕事中に学んだこと。 インスタンス変数を作成するためにinistializeメソッドを活用していた際に今までの自分は引数の順番に依存していました。 class Human attr_render :name, :age, :sex def initialize(name, age, sex) @name = name @age = age @sex = sex end 〜省略〜 end Human.new('Taro',20,'male') この例では、Humanのinitializeメソッドは次の3つの引数を取ります。name, age, sexの3つですね。 つまりHuman.newでインスタンスを作成するところでは引数を3つ渡しています。 まあ教科書通りのinistializeメソッド及
ELBのヘルスチェックをRailsのログに出したくなくて、Rails::Rack::Loggerを継承したRackミドルウェアでenvの中身を見てRails.logger.silenceするみたいなミドルウェアを作り、Rails::Rack::Loggerとswapするのを試したんですが、log_tagsが効かなくなってしまいました。 class CustomRailsRackLogger < Rails::Rack::Logger def call(env) if ['/healthcheck'].include?(env['PATH_INFO']) Rails.logger.silence { super } else super end end end
コマンド関数に引数を渡す 2つの方法を紹介します。 引数を partials 付きの Tkinter ボタンの command に渡す functools モジュールの partial オブジェクトを使用してパラメータを渡すことができます。 from sys import version_info if version_info.major == 2: import Tkinter as tk elif version_info.major == 3: import tkinter as tk from functools import partial app = tk.Tk() labelExample = tk.Button(app, text="0") def change_label_number(num): counter = int(str(labelExample["text
似ているし、意思疎通にはそれほど困らないけど・・・「引数 == パラメータ」ではないです。 パラメータと引数の違い パラメータは、関数に受け渡されるものの宣言す。 引数は、関数に渡した実際の値のことです。 仮引数と実引数の違い 仮引数は、パラメータのことです。 実引数は、引数のことです。 仮引数と実引数の違いは、パラメータと引数のそれと同じです。 仮引数も実引数も「~な引数」で理解が難しいです。 仮パラメータと実パラメータの違い 仮パラメータは、パラメータのことです。 実パラメータは、引数のことです。 仮パラメータと実パラメータの違いは、パラメータと引数のそれと同じです。 仮引数も実引数も用語説明があまり見当たらなくてで理解が難しいです。 まとめ パラメータと引数の違い パラメータは、関数に受け渡されるものの宣言す。 /* * pra1とpra2は、パラメータです。 * JavaDocでも
import argparse parser = argparse.ArgumentParser(description='add two integers') parser.add_argument('x', type=int, help='an integer to be added') parser.add_argument('y', type=int, help='an integer to be added') args = parser.parse_args() result = args.x + args.y print(result) import argparse parser = argparse.ArgumentParser(description='add two integers') #parser.add_argument('-x', type=int) #pa
今回は引数を渡すデバッグについて。 まずは引数を受け取り、分岐するロジックを main関数に追加。 main.go (修正後) package main import ( "fmt" "os" "test1/calc" ) func main() { //fmt.Println("Hello, world!") var answer int switch os.Args[1] { case "-addtion": answer = calc.Add(10, 3) case "-subtract": answer = calc.Subtract(10, 3) case "-multiply": answer = calc.Multiply(10, 3) case "-divide": answer = calc.Divide(10, 3) default: answer = 0 } fmt.
ENECHANGE所属のエンジニア id:tetsushi_fukabori こと深堀です。 この記事を執筆している日にMLBのアーロン・ジャッジ選手がシーズン62本目のホームランを打ってアメリカンリーグのシーズンホームラン記録を塗り替えたことが伝えられました。 メジャーリーグの長い歴史に新たな1ページが加わった日に同席したと思うと、なんとなく気分が盛り上がりますね。 今回は「既存アプリケーション基盤のコンテナ化プロジェクト」でアプリケーションのコンテナ化、具体的にはDockerfileの作成で四苦八苦した内容を振り返ります。 このテーマ自体はDockerfileを書いている人なら何度も見た内容だと思いますが、実際に困ったので整理しておいて損はないと思い書いています。 同じ苦労をする人が少しでも減れば嬉しいです。 この記事を届けたい人 Dockerfileを書いた人で「buildはできるけ
以前にも同様の記事を書きましたが, 今回はその改訂 + α です. 動作は TypeScript 5.0.4 で確認しています. Playground で試しながら読むとわかりやすいかもしれません. おさらい まずは TypeScript において, 関数に渡される引数に制約をかけたいときに通常使われる方法について思い出しましょう. 要するに引数に対する型注釈 (x: T) のことですね. function myFunction(str: string): void { console.log(str); } myFunction("foo"); // OK myFunction(42); // Error 同じように, 型エイリアスなどの型引数に対しても制約をかけたいこともあります. これは通常は型引数に対して上界 (T extends U) を指定することで実現されます. type M
Unity をコマンドラインで実行できます (macOS では ターミナル、Windows では コマンドプロンプト)。 macOS で Unity を起動するには、以下をターミナルに入力します。 /Applications/Unity/Unity.app/Contents/MacOS/Unity Windows で Unity を起動するには、以下をコマンドプロンプトに入力します。 C:\Program Files\Unity\Editor\Unity.exe このように起動すると、Unity は起動時にコマンドと引数を受け取ります。これは、テストスイート、自動ビルド、他のプロダクションタスクに非常に役立ちます。 ノート: 同じ方法を使用してスタンドアロンの Unity ゲームを起動できます。 サイレントモードで Unity を起動 macOS で Unity をサイレントモードで起動す
最近、以前作った getoptions の改良をしていました。(以前の記事はこちら) 参考 こちらもどうぞ 「getoptions を使って面倒なシェルスクリプトのオプション解析コードを自動生成しよう!」 以前のバージョンはシェルスクリプトライブラリとして使い方を想定していたのですが getopt や getopts の代わりとして外部コマンドとしても使えるようにしました。使い方は簡単で ここ から getoptions をダウンロードしパスが通ってる場所(~/bin や /usr/local/bin/ など)にインストールするだけです。それだけでもう次のシェルスクリプトが動作します。他に設定ファイルや事前のビルド作業なども不要なので学習曲線は低くメンテナンス性も抜群です。 #!/bin/sh VERSION="0.1" parser_definition() { setup REST h
2023-05-24 追記 改訂 + α 版を書きました. お題 具体例として, ちょうど長さ 3 の文字列のみを引数として受け付ける関数を作ります. こんな関数を作って何がしたいのかは不明. 先出しパターン よくある手段としては「ちょうど長さ 3 の文字列」のような制約を満たす型をあらかじめ定義しておいて, 引数の型としてそれを使うという方法です. type StringOfThreeChars = /* ちょうど長さ 3 の文字列 */; declare function myFunc(str: StringOfThreeChars): void; myFunc("ab"); // error myFunc("abc"); // ok myFunc("abcd"); // error では StringOfThreeChars はどう定義するとよいでしょうか? おそらく現時点 (Typ
すぐに読めます。 導入 先日、JavaScriptのbuilt-in objectのArray.prototype.join()の仕様を理解していなかったことでかなり初歩的なバグを産み出しかけました。 本文 具体的には、デフォルト引数の存在です。 以前は「引数で受け取った値でArrayインスタンスの全要素を結合してできた文字列を返す非破壊的なメソッド」だよね〜くらいの理解だったのですが、このメソッドはデフォルト引数に,を持ちます。上記のMDNのサンプルコードをそのまま借用します。 const elements = ['Fire', 'Air', 'Water']; // case1 console.log(elements.join()); // Expected output: "Fire,Air,Water" // case2 console.log(elements.join('')
チーム開発で Gulp や webpack を使うと、メンバーに設定ファイル( Gulp なら gulpfile.js )を共有することで同じ開発環境を瞬時に用意できるのが大きなメリットの一つですよね。 しかし個々の端末の設定によっては用意した設定ファイルのままだと利用できないケースもあり、その場合随時設定箇所を変更する必要が出てきます。 僕が一番遭遇するのは WordPress の開発で Gulp を利用している場合、Local というツールの Site Domain 設定値が人によって違っていることで、これを解決するために「設定ファイルのパス情報を修正しながら使うか、みんな同じ Site Dmain に合わせるか」などを考えないといけないのですが、そもそもこれを考えること自体がちょっと面倒なんですよね。 コマンド実行時に引数が渡せるプラグイン minimist それならコマンド実行時に
すみません、少し長くなったので「前処理&後処理&引数を渡す」についてだけ、見たい場合「後処理でも引数を使いたい場合」の箇所に飛んでください。 各テストケースの前に共通の処理をしたい そんなときに pytest で役立つのはご存知 fixture @pytest.fixture def setup(): # データの初期化など table = Table() return table class TestClass: def test_code_1(self, setup): test_data = "test_data" expected = "test_data" assert test_data == expected # なんじゃこのテストはsetupいらんやんけ こんな形で、共通化したい前処理を定義した関数 setup に @pytest.fixture をデコレートして使う。 テ
目次 alertメソッドとは alertメソッドの使い方 alertメソッドの引数について alertメソッドを利用してダイアログを表示してみよう まとめ alertメソッドとは OKボタンを持つ警告ダイアログを表示するメソッドです。 alertによってダイアログが表示されると、ユーザーはこれを閉じるまで他の操作ができなくなります。 ダイアログの見た目はブラウザによって多少の差があります。 こちらはChromeのダイアログです。ダイアログのメッセージの上に、サイト名やwindow名が表示されています。 こちらはFire foxのダイアログです。 このように基本的には、alertメソッドで指定したメッセージとOKボタンで構成されます。 [PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中 alertメソッドの使い方 記述の省略が可能なwindowオブジェクトからal
const json = process.argv[2]; console.log(json); const obj = JSON.parse(json); console.log(obj); なお Ruby で任意のコマンドを実行する方法は複数あるが、今回は Open3.capture2 を使用する。 方法 コマンドライン引数に JSON 文字列をそのまま渡すと、Node.js 側で正しくパースできない。 require 'json' require 'open3' json = { name: '鹿目まどか', age: 14 }.to_json #=> "{\"name\":\"鹿目まどか\",\"age\":14}" stdout, _status = Open3.capture2("node hoge.js #{json}") # SyntaxError: Unexpected
サーモン大好き横山です。 AWSCLI v2 インストールが楽でいいですよね。 そんな中、breaking-changeな変更にハマったお話です。 動作確認環境 $ sw_vers ProductName: Mac OS X ProductVersion: 10.15.5 BuildVersion: 19F101 $ aws --version aws-cli/2.0.26 Python/3.7.4 Darwin/19.5.0 botocore/2.0.0dev30 ACM に SSL証明書をimport しようとした時のお話 AWSCLI v2 で 以下のファイルから証明書をimportしようとしていました。 AWS マネジメントコンソールからのインポートできることは確認済です。 cert.pem … 証明書 chain.pem … 中間証明書 privkey.pem … プライベートキ
この記事は Rust Advent Calendar 2020 の5日目の記事です。 背景 RFCs#2137にあるようにRustでは、可変長引数関数を直接的に書くことはできません。とはいえ全くできないわけではありません。C言語から可変長引数関数呼び出しを実現するため、stub関数を記述することは可能です。例えば、以下のような関数をRustで実装します。 pub unsafe extern "C" fn func(arg: T, arg2: U, mut args: ...) { // do something } このような関数はuse extern "C"の中で使われ、unsafeを付与する必要があります。 別の実現方法としてはマクロを利用する案もあり、以下のようなマクロで実現できるでしょう。以下はargとarg2を処理し、再帰的に可変長引数に相当するargsを処理する例です。 mac
Pythonプログラムを書くときに、皆さんは引数解析にどのパッケージを使っていますか? おそらく、ほとんどの人はargparseを使ってるんじゃないでしょうか。 実はGoogleが公開しているabseil(absl-py)というパッケージを使うと、argparseよりずっと簡単・便利に引数解析ができます。この記事ではabseilの使い方を紹介します。 目次 目次 インストール方法 サンプルコード サンプルコードの実行結果 簡単な説明 abseilを使う理由 細かい説明 各種フラグの型 すべての引数を取得する フラグの短縮名を設定する フラグ値を上書きする Requiredなフラグ設定 ファイルからフラグを設定 よくある間違い まとめ インストール方法 pip install absl-py サンプルコード 百聞は一見にしかず。ということでabseilのサンプルコードを載せていきます。 #
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く