---
schema_version: "1"
id: 9f8d8a7210588ab5554d44aa112ede9029ca50e59064e107b06d94b86e2d6379
title: DataWeave リファレンス
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.6/dw-functions.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.6/dw-functions
source_site: docs.mulesoft.com
content_type: documentation
content_hash: ca793a863137239a59a54c17ed2c3b48e7e0f6cc7b6a52972ceb781423c0bf99
description: MuleSoft Documentation Site
release: "2.6"
latest: false
---
# DataWeave リファレンス

DataWeave 関数はモジュールにパッケージ化されています。 開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、​[DataWeave バージョン 1.2 の演算子](#1.2@dataweave::dataweave-operators.adoc)​を参照してください。 他の Mule バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。

コア (​`dw::Core`​) モジュールの関数は、自動的に DataWeave スクリプトにインポートされます。その他のモジュールを使用するには、DataWeave スクリプトの先頭に次のようなインポートディレクティブを追加することによって、使用するモジュールまたは関数をインポートする必要があります。

- `import dw::core::Strings`
- `import camelize, capitalize from dw::core::Strings`
- `import * from dw::core::Strings`

モジュールのインポート方法は、DataWeave スクリプトから関数をコールする方法に影響します。ディレクティブでインポートする関数を具体的にリストしない場合や ​`* from`​ を使用して関数モジュールのすべての関数をインポートする場合は、スクリプトから関数をコールするときにモジュールを指定する必要があります。たとえば、次のインポートディレクティブでは String Module からインポートする関数が指定されていないため、​`pluralize`​ 関数をコールするときには ​`Strings::pluralize("box")`​ のようになります。

変換

```dataweave
%dw 2.0
import dw::core::Strings
output application/json
---
{ 'plural': Strings::pluralize("box") }
```

次の例では、String Module からインポートする特定の関数が指定されているため、​`pluralize("box")`​ のようにメソッドをコールできます。

変換

```dataweave
%dw 2.0
import pluralize from dw::core::Strings
output application/json
---
{ 'plural': pluralize("box") }
```

次の例では、String Module からすべての関数がインポートされるため、​`pluralize("box")`​ のようにメソッドをコールできます。

変換

```dataweave
%dw 2.0
import * from dw::core::Strings
output application/json
---
{ 'plural': pluralize("box") }
```

## [](#dw_modules)DataWeave Module

- [Arrays (dw::core::Arrays)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-arrays)
- [Binaries (dw::core::Binaries)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-binaries)
- [Coercions (dw::util::Coercions)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-coercions)
- [Core (dw::Core)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-core)
- [DataFormat (dw::extension::DataFormat)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-dataformat)
- [Dates (dw::core::Dates)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-dates)
- [Diff (dw::util::Diff)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-diff)
- [Dtd (dw::xml::Dtd)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-dtd)
- [Encryption (dw::Crypto)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-crypto)
- [Math (dw::util::Math)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-math)
- [Mule (dw::Mule)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-mule)
- [Multipart (dw::module::Multipart)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-multipart)
- [Numbers (dw::core::Numbers)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-numbers)
- [Objects (dw::core::Objects)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-objects)
- [Periods (dw::core::Periods)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-periods)
- [Runtime (dw::Runtime)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-runtime)
- [Strings (dw::core::Strings)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-strings)
- [System (dw::System)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-system)
- [Timer (dw::util::Timer)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-timer)
- [Tree (dw::util::Tree)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-tree)
- [Types (データ型) (dw::core::Types)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-types)
- [URL (dw::core::URL)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-url)
- [Values (dw::util::Values)](https://docs.mulesoft.com/jp/dataweave/2.6/dw-values)

## [](#function_signatures)関数シグネチャー

DataWeave リファレンスの各 DataWeave 関数はその関数シグネチャーによって識別されます。関数では、関数名、0 個以上のパラメーター、戻り値の型が指定されます。

2 個のパラメーターの関数シグネチャーの基本構文:

`function(parameterType,parameterType): returnType`

たとえば、​`contains`​ 関数のシグネチャー ​`contains(String, String): Boolean`​ には 2 個のパラメーターがあり、それぞれのパラメーターで String (文字列) 型の値を受け入れます。関数は Boolean (ブール) 値を返します。

関数シグネチャー内のパラメーターは名前付きパラメーターに​_順番に_​対応し、名前付きパラメーターは各シグネチャーのパラメーターテーブルで記述されます。たとえば、​[contains(String, String): Boolean](https://docs.mulesoft.com/jp/dataweave/2.6/dw-core-functions-contains#contains2)​ では、​`text`​ が 1 番目のパラメーターで ​`toSearch`​ が 2 番目のパラメーターであることがパラメーターテーブルで示されています。

多くの DataWeave 関数が、異なるデータ型を処理するためにオーバーロードされます。関数のバリエーションごとに一意の関数シグネチャーがあります。たとえば、​[isEmpty](https://docs.mulesoft.com/jp/dataweave/2.6/dw-core-functions-isempty)​ は、Array (配列)、String (文字列)、Object (オブジェクト)、または Null 型の入力値をサポートするためにオーバーロードされます。

データ型についての詳細は、​[「型システム」](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-type-system)​を参照してください。

### [](#関数シグネチャー内の型パラメーター)関数シグネチャー内の型パラメーター

関数シグネチャーには型パラメーターを含めることができます。型パラメーターは一部のプログラミング言語の総称に似ています。たとえば、​`contains(Array<T>, Any): Boolean`​ の ​`Array<T>`​ は、DataWeave でサポートされる任意の型 (​`T`​) の要素を配列に含めることができることを示します。対照的に、特定の型の配列では型 (​`Array<String>`​、​`Array<Number>`​、または両方の型 ​`Array<String|Number>`​) を指定します。

### [](#関数シグネチャー内の関数型)関数シグネチャー内の関数型

関数を引数として渡すことができます。関数シグネチャー内のパラメーターが、​`parameterName:Type`​ 形式の 1 つ以上のパラメーターを取り、戻り値の型 (​`→ ReturnType`​) を持つ関数型になっている場合があります。たとえば、関数型 ​`(item: T, index: Number) → R)`​ は ​[map](https://docs.mulesoft.com/jp/dataweave/2.6/dw-core-functions-map)​ 関数 (​`map(Array<T>, (item: T, index: Number) → R): Array<R>`​) のパラメーター型です。この関数型は任意の型 ​`T`​ の値と Number (数値) 型の値を受け入れ、​`R`​ 型の値を返すパラメーターとして機能します。

## [](#see_also)関連情報

[関数](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-language-guide#functions)

[DataWeave について](https://docs.mulesoft.com/jp/dataweave/2.6/)

[DataWeave クイックスタート](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-quickstart)