Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
オブジェクト型(Developer Conference 2018より)
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
4D Japan
January 04, 2019
Technology
190
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
オブジェクト型(Developer Conference 2018より)
4D Japan
January 04, 2019
More Decks by 4D Japan
See All by 4D Japan
4D 21 LTS
miyako
0
14
4D 21
miyako
0
36
4D 20 R10
miyako
0
39
4D 20 R9
miyako
0
26
4D 20 R7 & R8
miyako
0
79
Unicodeの話 (2007)
miyako
0
38
Unicodeの話 (2008)
miyako
0
47
Google Apps Integration (2012)
miyako
0
46
Creating Custom Widgets (2012)
miyako
0
55
Other Decks in Technology
See All in Technology
そのPoC、何を検証したつもりでしたか? AIプロダクトの価値検証で陥った落とし穴
techtekt
PRO
0
150
GoとSIMDとWasmの今。
askua
3
510
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
480
Databricks における 生成AIガバナンスの実践
taka_aki
1
320
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
150
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
870
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
720
Dynamic Workersについて
yusukebe
2
590
運用を見据えたAIエージェント設計実践
amacbee
1
2.9k
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
820
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
3
150
Cloud Run のアップデート 触ってみる&紹介
gre212
0
320
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
ラッコキーワード サービス紹介資料
rakko
1
3.5M
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
310
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
sira's awesome portfolio website redesign presentation
elsirapls
0
270
The Language of Interfaces
destraynor
162
27k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
How to Ace a Technical Interview
jacobian
281
24k
Prompt Engineering for Job Search
mfonobong
0
330
The Spectacular Lies of Maps
axbom
PRO
1
790
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
200
Transcript
Object is not JSON by Laurent Esnault JSON JSON !?
JSON != is not
/ 好 理由 Inspired 不要 類別 名前 追加
対 制約 •OB Get (object ; propertyName {; type}) •object.propertyName
•object[propertyName] •WP GET ATTRIBUTES
4D Write Pro 4 ⽅法 Four Different ways to Use
Objects with 4D Write Pro! https://blog.4d.com/four-different-ways-to-use-objects-with-4d-write-pro/
C_OBJECT 変数 変数 値 変数 値 値 $myObject $myObject reference
!= is not
参照 $myObject:=$otherObject $myObject:=New object $otherObject:=New object $myObject reference1 $otherObject reference2
$myObject reference2 $otherObject reference2 変数 代⼊ 参照
BLOB TO VARIABLE ($blob ; a.b.c) ->a.b.c 変数 != is
not × ×
OB SET 特殊性 •OB SET ($myObject ; "code" ; 1)
変数 •OB SET (myGetObject() ; "code" ; 1) 値 reference reference OB SET 新規 $myObject.code:=1
Null Undefined Undefined 存4 Undefined Null 存4 値 知 C_OBJECT,
C_COLLECTION C_POINTER Null • : Undefined Null Undefined • If (a.b = Null) Null 状態 値 ,数
未定義 怖 良 理由 Don’t be Afraid of Undefined Values
https://blog.4d.com/object-notation-improvement-after-customer-feedback/
循環
循環 / v16# BLOB v17# BLOB v17#
/ Null Undefined $0.value:=$1.value+$2.value $0->:=$1->+$2->
Non-JSON zn BLOB# Integer# Date# 16R6 String type with time
zone:1 String type without time zone:0 Date type:2 !2018-10-22! "2018-10-22" "2018-10-21T15:00:00.000Z" "2018-10-22T00:00:00.000Z" Stringify:
Non-JSON zn BLOB# Integer# Date# 16R6 Time# v17 Pointer# Stringify:
Image# Stringify: [object Picture] ORDA# Stringify: [object DataStore] [object Entity] [object EntityCollection] Write Pro View Pro# Stringify:
JSON εΩʔϚ JSON Parse JSON Validate DTD XSD SET ARRAY/OB
GET ARRAY
C_COLLECTION OB SET ARRAY/OB GET ARRAY
配列 એݴͱఆٛ ARRAY TEXT($arr;n) C_COLLECTION($col) $col:=New collection λΠϓ ⼀律 混4
ೖ $arr{$i}:="hello" $col[$i]:="hello" αΠζ Size of array($arr) $col.length ఴࣈ 0 ·ͨ 1 ͔ΒSize of array ·Ͱ 0 length-1 C_COLLECTION
Inspired copy concat combine count clear query reduce orderByMethod pop
remove push sum sort unshift some slice reverse shift resize map join min max orderBy lastIndexOf indices indexOf find filter insert findIndex extract every distinct equal fill countValues average
追加# 削除# 並 替 # 計算# ⽐較# 複製 挿⼊# 検索#
取 出 # ⽂字列変換# Inspired extract map some every indices indexOf find filter query join Split string copy concat combine slice distinct equal count sum average min max reduce orderBy orderByMethod sort reverse pop shift remove clear push insert unshift resize fill countValues lastIndexOf findIndex
⼤幅 拡張 管理 https://blog.4d.com/a-wide-range-of-possibilities-to-manage-your-collections/ A Wide Range of Possibilities to
Manage your Collections
For each = For ($i;0;$collection.length-1) MESSAGE($collection[$i]) End for
For each = For each ($element;$collection) MESSAGE($element) End for each
For ($i;0;$collection.length-1) MESSAGE($collection[$i]) End for
For each = = For each ($propertyName;$object) MESSAGE($propertyName) End for
each
For each = = = For each ($entity;$entitySelection) MESSAGE($entity.name) End
for each
For each = = = For each ($element;$collection) While($element#"") MESSAGE($element)
End for each
For each = = = For each ($element;$collection) Until($element="") MESSAGE($element)
End for each