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

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

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

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

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

変換

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

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

変換

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

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

変換

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

## [](#dw_modules)DataWeave モジュール

- [Arrays (dw::core::Arrays)](https://docs.mulesoft.com/jp/dataweave/2.3/dw-arrays)
- [Binaries (dw::core::Binaries)](https://docs.mulesoft.com/jp/dataweave/2.3/dw-binaries)
- [Core (dw::Core)](https://docs.mulesoft.com/jp/dataweave/2.3/dw-core)
- [Encryption (dw::Crypto)](https://docs.mulesoft.com/jp/dataweave/2.3/dw-crypto)
- [Diff (dw::util::Diff)](https://docs.mulesoft.com/jp/dataweave/2.3/dw-diff)
- [Objects (dw::core::Objects)](https://docs.mulesoft.com/jp/dataweave/2.3/dw-objects)
- [Runtime (dw::Runtime)](https://docs.mulesoft.com/jp/dataweave/2.3/dw-runtime)
- [Strings (dw::core::Strings)](https://docs.mulesoft.com/jp/dataweave/2.3/dw-strings)
- [System (dw::System)](https://docs.mulesoft.com/jp/dataweave/2.3/dw-system)
- [URL (dw::core::URL)](https://docs.mulesoft.com/jp/dataweave/2.3/dw-url)

## [](#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.3/dw-core-functions-contains#contains2)​ では、​`text`​ が 1 番目のパラメーターで ​`toSearch`​ が 2 番目のパラメーターであることがパラメーターテーブルで示されています。

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

データ型についての詳細は、​[「型システム」](https://docs.mulesoft.com/jp/dataweave/2.3/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.3/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.3/dataweave-language-guide#functions)​

[DataWeave 言語](https://docs.mulesoft.com/jp/dataweave/2.3/)​

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